## FoKeep

FoKeep

## Synopsis

    #define             FO_KEEP                             (object)
                        FoKeep;
                        FoKeepClass;
    GType               fo_keep_get_type                    (void);
    FoDatatype*         fo_keep_new                         (void);
    FoDatatype*         fo_keep_new_with_value              (FoDatatype *value);
    FoDatatype*         fo_keep_get_keep_auto               (void);
    FoDatatype*         fo_keep_get_keep_always             (void);
    FoDatatype*         fo_keep_get_within_line             (FoDatatype *datatype);
    FoDatatype*         fo_keep_get_within_column           (FoDatatype *datatype);
    FoDatatype*         fo_keep_get_within_page             (FoDatatype *datatype);
    FoDatatype*         fo_keep_resolve                     (FoDatatype *shortform,
                                                             FoDatatype *within_line,
                                                             FoDatatype *within_column,
                                                             FoDatatype *within_page,
                                                             GError **error);
    FoDatatype*         fo_keep_get_enum_auto               (void);
    FoDatatype*         fo_keep_get_enum_always             (void);

## Object Hierarchy

      GObject
       +----FoObject
             +----FoDatatype
                   +----FoKeep

## Properties

      "within-column"            FoDatatype*           : Read / Write / Construct Only
      "within-line"              FoDatatype*           : Read / Write / Construct Only
      "within-page"              FoDatatype*           : Read / Write / Construct Only

## Description

## Details

### FO_KEEP()

    #define FO_KEEP(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), FO_TYPE_KEEP, FoKeep))

`object` : |

### FoKeep

    typedef struct _FoKeep FoKeep;

### FoKeepClass

    typedef struct _FoKeepClass FoKeepClass;

### fo_keep_get_type ()

    GType               fo_keep_get_type                    (void);

Register the FoKeep object type.

Returns : | GType value of the FoKeep object type.

### fo_keep_new ()

    FoDatatype*         fo_keep_new                         (void);

Creates a new FoKeep initialized to default value.

Returns : | the new FoKeep

### fo_keep_new_with_value ()

    FoDatatype*         fo_keep_new_with_value              (FoDatatype *value);

Creates a new FoKeep set to `value`

`value` : | Keep of the new FoKeep
Returns : | The new FoKeep

### fo_keep_get_keep_auto ()

    FoDatatype*         fo_keep_get_keep_auto               (void);

Creates a new FoKeep set to .within-line="auto", .within-column="auto", and .within-page="auto".

Returns : | The new FoKeep

### fo_keep_get_keep_always ()

    FoDatatype*         fo_keep_get_keep_always             (void);

Creates a new FoKeep set to .within-line="always", .within-column="always", and .within-page="always".

Returns : | The new FoKeep

### fo_keep_get_within_line ()

    FoDatatype*         fo_keep_get_within_line             (FoDatatype *datatype);

Gets the .within-line component value of `datatype`

`datatype` : | FoKeep
Returns : | The .within-line value of `datatype`

### fo_keep_get_within_column ()

    FoDatatype*         fo_keep_get_within_column           (FoDatatype *datatype);

Gets the .within-column component value of `datatype`

`datatype` : | FoKeep
Returns : | The .within-column value of `datatype`

### fo_keep_get_within_page ()

    FoDatatype*         fo_keep_get_within_page             (FoDatatype *datatype);

Gets the .within-page component value of `datatype`

`datatype` : | FoKeep
Returns : | The .within-page value of `datatype`

### fo_keep_resolve ()

    FoDatatype*         fo_keep_resolve                     (FoDatatype *shortform,
                                                             FoDatatype *within_line,
                                                             FoDatatype *within_column,
                                                             FoDatatype *within_page,
                                                             GError **error);

Resolve the shortform and components of the keep in accordance with Section 5.11, Datatypes, of the XSL 1.0 Recommendation.

Does not change the ref-count of any FoDatatype arguments.

`shortform` : | Single-value short form of the keep, or NULL
`within_line` : | .within-line component of the keep, or NULL
`within_column` : | .within-column component of the keep, or NULL
`within_page` : | .within-page component of the keep, or NULL
`error` : | GError used for reporting errors
Returns : | Compound keep datatype, or NULL if an error occurred

### fo_keep_get_enum_auto ()

    FoDatatype*         fo_keep_get_enum_auto               (void);

Returns : |

### fo_keep_get_enum_always ()

    FoDatatype*         fo_keep_get_enum_always             (void);

Returns : |

## Property Details

### The `"within-column"` property

      "within-column"            FoDatatype*           : Read / Write / Construct Only

Keep within column value.

### The `"within-line"` property

      "within-line"              FoDatatype*           : Read / Write / Construct Only

Keep within line value.

### The `"within-page"` property

      "within-page"              FoDatatype*           : Read / Write / Construct Only

Keep within page value.