## ETableState

ETableState

## Synopsis

    struct              ETableState;
    ETableState *       e_table_state_new                   (struct _ETableSpecification *specification);
    ETableState *       e_table_state_vanilla               (struct _ETableSpecification *specification);
    void                e_table_state_parse_context_push    (GMarkupParseContext *context,
                                                             struct _ETableSpecification *specification);
    ETableState *       e_table_state_parse_context_pop     (GMarkupParseContext *context);
    struct _ETableSpecification * e_table_state_ref_specification
                                                            (ETableState *state);
    gboolean            e_table_state_load_from_file        (ETableState *state,
                                                             const gchar *filename);
    void                e_table_state_load_from_string      (ETableState *state,
                                                             const gchar *xml);
    void                e_table_state_load_from_node        (ETableState *state,
                                                             const xmlNode *node);
    void                e_table_state_save_to_file          (ETableState *state,
                                                             const gchar *filename);
    gchar *             e_table_state_save_to_string        (ETableState *state);
    xmlNode *           e_table_state_save_to_node          (ETableState *state,
                                                             xmlNode *parent);
    ETableState *       e_table_state_duplicate             (ETableState *state);

## Object Hierarchy

      GObject
       +----ETableState

## Properties

      "specification"            ETableSpecification*  : Read / Write / Construct Only

## Description

## Details

### struct ETableState

    struct ETableState;

### e_table_state_new ()

    ETableState *       e_table_state_new                   (struct _ETableSpecification *specification);

### e_table_state_vanilla ()

    ETableState *       e_table_state_vanilla               (struct _ETableSpecification *specification);

### e_table_state_parse_context_push ()

    void                e_table_state_parse_context_push    (GMarkupParseContext *context,
                                                             struct _ETableSpecification *specification);

Creates a new ETableState from a segment of XML data being fed to `context`. Call this function for the appropriate opening tag from the `start_element` callback of a GMarkupParser, then call `e_table_state_parse_context_pop()` for the corresponding closing tag from the `end_element` callback.

`context` : | a GMarkupParseContext
`specification` : | an ETableSpecification

### e_table_state_parse_context_pop ()

    ETableState *       e_table_state_parse_context_pop     (GMarkupParseContext *context);

Creates a new ETableState from a segment of XML data being fed to `context`. Call `e_table_state_parse_context_push()` for the appropriate opening tag from the `start_element` callback of a GMarkupParser, then call this function for the corresponding closing tag from the `end_element` callback.

Unreference the newly-created ETableState with `g_object_unref()` when finished with it.

`context` : | a GMarkupParseContext
Returns : | an ETableState

### e_table_state_ref_specification ()

    struct _ETableSpecification * e_table_state_ref_specification
                                                            (ETableState *state);

Returns the ETableSpecification passed to `e_table_state_new()`.

The returned ETableSpecification is referenced for thread-safety and must be unreferenced with `g_object_unref()` when finished with it.

`state` : | an ETableState
Returns : | an ETableSpecification

### e_table_state_load_from_file ()

    gboolean            e_table_state_load_from_file        (ETableState *state,
                                                             const gchar *filename);

### e_table_state_load_from_string ()

    void                e_table_state_load_from_string      (ETableState *state,
                                                             const gchar *xml);

### e_table_state_load_from_node ()

    void                e_table_state_load_from_node        (ETableState *state,
                                                             const xmlNode *node);

### e_table_state_save_to_file ()

    void                e_table_state_save_to_file          (ETableState *state,
                                                             const gchar *filename);

### e_table_state_save_to_string ()

    gchar *             e_table_state_save_to_string        (ETableState *state);

### e_table_state_save_to_node ()

    xmlNode *           e_table_state_save_to_node          (ETableState *state,
                                                             xmlNode *parent);

### e_table_state_duplicate ()

    ETableState *       e_table_state_duplicate             (ETableState *state);

Creates a new ETableState cloned from `state`.

`state` : | an ETableState
Returns : | a new ETableState

## Property Details

### The `"specification"` property

      "specification"            ETableSpecification*  : Read / Write / Construct Only

Specification for the table state.