## 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.