## ESource

ESource —

## Synopsis

                        ESourcePrivate;
    ESource*            e_source_new                        (const char *name,
                                                             const char *relative_uri);
    ESource*            e_source_new_with_absolute_uri      (const char *name,
                                                             const char *absolute_uri);
    ESource*            e_source_new_from_xml_node          (xmlNodePtr node);
    ESource*            e_source_new_from_standalone_xml    (const char *xml);
    ESource*            e_source_copy                       (ESource *source);
    gboolean            e_source_equal                      (ESource *source_1,
                                                             ESource *source_2);
    gboolean            e_source_update_from_xml_node       (ESource *source,
                                                             xmlNodePtr node,
                                                             gboolean *changed_return);
    char*               e_source_uid_from_xml_node          (xmlNodePtr node);
    void                e_source_set_group                  (ESource *source,
                                                             ESourceGroup *group);
    void                e_source_set_name                   (ESource *source,
                                                             const char *name);
    void                e_source_set_relative_uri           (ESource *source,
                                                             const char *relative_uri);
    void                e_source_set_absolute_uri           (ESource *source,
                                                             const char *absolute_uri);
    void                e_source_set_readonly               (ESource *source,
                                                             gboolean readonly);
    void                e_source_set_color                  (ESource *source,
                                                             guint32 color);
    void                e_source_unset_color                (ESource *source);
    ESourceGroup*       e_source_peek_group                 (ESource *source);
    const char*         e_source_peek_uid                   (ESource *source);
    const char*         e_source_peek_name                  (ESource *source);
    const char*         e_source_peek_relative_uri          (ESource *source);
    const char*         e_source_peek_absolute_uri          (ESource *source);
    gboolean            e_source_get_readonly               (ESource *source);
    gboolean            e_source_get_color                  (ESource *source,
                                                             guint32 *color_return);
    char*               e_source_get_uri                    (ESource *source);
    void                e_source_dump_to_xml_node           (ESource *source,
                                                             xmlNodePtr parent_node);
    char*               e_source_to_standalone_xml          (ESource *source);
    const gchar*        e_source_get_property               (ESource *source,
                                                             const gchar *property);
    void                e_source_set_property               (ESource *source,
                                                             const gchar *property,
                                                             const gchar *value);
    void                e_source_foreach_property           (ESource *source,
                                                             GHFunc func,
                                                             gpointer data);
    char*               e_source_build_absolute_uri         (ESource *source);

## Description

## Details

### ESourcePrivate

    typedef struct _ESourcePrivate ESourcePrivate;

### e_source_new ()

    ESource*            e_source_new                        (const char *name,
                                                             const char *relative_uri);

`name` : |
`relative_uri` : |
Returns : |

### e_source_new_with_absolute_uri ()

    ESource*            e_source_new_with_absolute_uri      (const char *name,
                                                             const char *absolute_uri);

`name` : |
`absolute_uri` : |
Returns : |

### e_source_new_from_xml_node ()

    ESource*            e_source_new_from_xml_node          (xmlNodePtr node);

`node` : |
Returns : |

### e_source_new_from_standalone_xml ()

    ESource*            e_source_new_from_standalone_xml    (const char *xml);

`xml` : |
Returns : |

### e_source_copy ()

    ESource*            e_source_copy                       (ESource *source);

`source` : |
Returns : |

### e_source_equal ()

    gboolean            e_source_equal                      (ESource *source_1,
                                                             ESource *source_2);

`source_1` : |
`source_2` : |
Returns : |

### e_source_update_from_xml_node ()

    gboolean            e_source_update_from_xml_node       (ESource *source,
                                                             xmlNodePtr node,
                                                             gboolean *changed_return);

Update the ESource properties from `node`.

`source` : | An ESource.
`node` : | A pointer to the node to parse.
`changed_return` : |
Returns : | `TRUE` if the data in `node` was recognized and parsed into acceptable values for `source`, `FALSE` otherwise.

### e_source_uid_from_xml_node ()

    char*               e_source_uid_from_xml_node          (xmlNodePtr node);

`node` : |
Returns : |

### e_source_set_group ()

    void                e_source_set_group                  (ESource *source,
                                                             ESourceGroup *group);

`source` : |
`group` : |

### e_source_set_name ()

    void                e_source_set_name                   (ESource *source,
                                                             const char *name);

`source` : |
`name` : |

### e_source_set_relative_uri ()

    void                e_source_set_relative_uri           (ESource *source,
                                                             const char *relative_uri);

`source` : |
`relative_uri` : |

### e_source_set_absolute_uri ()

    void                e_source_set_absolute_uri           (ESource *source,
                                                             const char *absolute_uri);

`source` : |
`absolute_uri` : |

### e_source_set_readonly ()

    void                e_source_set_readonly               (ESource *source,
                                                             gboolean readonly);

`source` : |
`readonly` : |

### e_source_set_color ()

    void                e_source_set_color                  (ESource *source,
                                                             guint32 color);

`source` : |
`color` : |

### e_source_unset_color ()

    void                e_source_unset_color                (ESource *source);

`source` : |

### e_source_peek_group ()

    ESourceGroup*       e_source_peek_group                 (ESource *source);

`source` : |
Returns : |

### e_source_peek_uid ()

    const char*         e_source_peek_uid                   (ESource *source);

`source` : |
Returns : |

### e_source_peek_name ()

    const char*         e_source_peek_name                  (ESource *source);

`source` : |
Returns : |

### e_source_peek_relative_uri ()

    const char*         e_source_peek_relative_uri          (ESource *source);

`source` : |
Returns : |

### e_source_peek_absolute_uri ()

    const char*         e_source_peek_absolute_uri          (ESource *source);

`source` : |
Returns : |

### e_source_get_readonly ()

    gboolean            e_source_get_readonly               (ESource *source);

`source` : |
Returns : |

### e_source_get_color ()

    gboolean            e_source_get_color                  (ESource *source,
                                                             guint32 *color_return);

If `source` has an associated color, return it in *`color_return`.

`source` : | An ESource
`color_return` : | Pointer to a variable where the returned color will be stored.
Returns : | `TRUE` if the `source` has a defined color (and hence *`color_return` was set), `FALSE` otherwise.

### e_source_get_uri ()

    char*               e_source_get_uri                    (ESource *source);

`source` : |
Returns : |

### e_source_dump_to_xml_node ()

    void                e_source_dump_to_xml_node           (ESource *source,
                                                             xmlNodePtr parent_node);

`source` : |
`parent_node` : |

### e_source_to_standalone_xml ()

    char*               e_source_to_standalone_xml          (ESource *source);

`source` : |
Returns : |

### e_source_get_property ()

    const gchar*        e_source_get_property               (ESource *source,
                                                             const gchar *property);

`source` : |
`property` : |
Returns : |

### e_source_set_property ()

    void                e_source_set_property               (ESource *source,
                                                             const gchar *property,
                                                             const gchar *value);

`source` : |
`property` : |
`value` : |

### e_source_foreach_property ()

    void                e_source_foreach_property           (ESource *source,
                                                             GHFunc func,
                                                             gpointer data);

`source` : |
`func` : |
`data` : |

### e_source_build_absolute_uri ()

    char*               e_source_build_absolute_uri         (ESource *source);

`source` : |
Returns : |