## ESourceGroup ESourceGroup |

## Synopsis

    struct              ESourceGroup;
    ESourceGroup *	     e_source_group_new                  (const gchar *name,
                                                             const gchar *base_uri);
    ESourceGroup *	     e_source_group_new_from_xml         (const gchar *xml);
    ESourceGroup *	     e_source_group_new_from_xmldoc      (xmlDocPtr doc);
    gboolean            e_source_group_update_from_xml      (ESourceGroup *group,
                                                             const gchar *xml,
                                                             gboolean *changed_return);
    gboolean            e_source_group_update_from_xmldoc   (ESourceGroup *group,
                                                             xmlDocPtr doc,
                                                             gboolean *changed_return);
    gchar *		           e_source_group_uid_from_xmldoc      (xmlDocPtr doc);
    void                e_source_group_set_name             (ESourceGroup *group,
                                                             const gchar *name);
    void                e_source_group_set_base_uri         (ESourceGroup *group,
                                                             const gchar *base_uri);
    void                e_source_group_set_readonly         (ESourceGroup *group,
                                                             gboolean readonly);
    const gchar *	      e_source_group_peek_uid             (ESourceGroup *group);
    const gchar *	      e_source_group_peek_name            (ESourceGroup *group);
    const gchar *	      e_source_group_peek_base_uri        (ESourceGroup *group);
    gboolean            e_source_group_get_readonly         (ESourceGroup *group);
    GSList *	           e_source_group_peek_sources         (ESourceGroup *group);
    ESource *           e_source_group_peek_source_by_uid   (ESourceGroup *group,
                                                             const gchar *source_uid);
    ESource *           e_source_group_peek_source_by_name  (ESourceGroup *group,
                                                             const gchar *source_name);
    gboolean            e_source_group_add_source           (ESourceGroup *group,
                                                             ESource *source,
                                                             gint position);
    gboolean            e_source_group_remove_source        (ESourceGroup *group,
                                                             ESource *source);
    gboolean            e_source_group_remove_source_by_uid (ESourceGroup *group,
                                                             const gchar *uid);
    gchar *		           e_source_group_get_property         (ESourceGroup *source,
                                                             const gchar *property);
    void                e_source_group_set_property         (ESourceGroup *source,
                                                             const gchar *property,
                                                             const gchar *value);
    void                e_source_group_foreach_property     (ESourceGroup *source,
                                                             GHFunc func,
                                                             gpointer data);
    gchar *		           e_source_group_to_xml               (ESourceGroup *group);
    gboolean            e_source_group_equal                (ESourceGroup *a,
                                                             ESourceGroup *b);
    gboolean            e_source_group_xmlstr_equal         (const gchar *a,
                                                             const gchar *b);

## Object Hierarchy

      GObject
       +----ESourceGroup

## Signals

      "changed"                                        : Run Last
      "source-added"                                   : Run Last
      "source-removed"                                 : Run Last

## Description

## Details

### struct ESourceGroup

    struct ESourceGroup;

Contains only private data that should be read and manipulated using the functions below.

### e_source_group_new ()

    ESourceGroup *	     e_source_group_new                  (const gchar *name,
                                                             const gchar *base_uri);

### e_source_group_new_from_xml ()

    ESourceGroup *	     e_source_group_new_from_xml         (const gchar *xml);

### e_source_group_new_from_xmldoc ()

    ESourceGroup *	     e_source_group_new_from_xmldoc      (xmlDocPtr doc);

### e_source_group_update_from_xml ()

    gboolean            e_source_group_update_from_xml      (ESourceGroup *group,
                                                             const gchar *xml,
                                                             gboolean *changed_return);

### e_source_group_update_from_xmldoc ()

    gboolean            e_source_group_update_from_xmldoc   (ESourceGroup *group,
                                                             xmlDocPtr doc,
                                                             gboolean *changed_return);

### e_source_group_uid_from_xmldoc ()

    gchar *		           e_source_group_uid_from_xmldoc      (xmlDocPtr doc);

### e_source_group_set_name ()

    void                e_source_group_set_name             (ESourceGroup *group,
                                                             const gchar *name);

### e_source_group_set_base_uri ()

    void                e_source_group_set_base_uri         (ESourceGroup *group,
                                                             const gchar *base_uri);

### e_source_group_set_readonly ()

    void                e_source_group_set_readonly         (ESourceGroup *group,
                                                             gboolean readonly);

### e_source_group_peek_uid ()

    const gchar *	      e_source_group_peek_uid             (ESourceGroup *group);

### e_source_group_peek_name ()

    const gchar *	      e_source_group_peek_name            (ESourceGroup *group);

### e_source_group_peek_base_uri ()

    const gchar *	      e_source_group_peek_base_uri        (ESourceGroup *group);

### e_source_group_get_readonly ()

    gboolean            e_source_group_get_readonly         (ESourceGroup *group);

### e_source_group_peek_sources ()

    GSList *	           e_source_group_peek_sources         (ESourceGroup *group);

Returns : | . [transfer none][element-type ESource]

### e_source_group_peek_source_by_uid ()

    ESource *           e_source_group_peek_source_by_uid   (ESourceGroup *group,
                                                             const gchar *source_uid);

Returns : | the ESource. [transfer none]

### e_source_group_peek_source_by_name ()

    ESource *           e_source_group_peek_source_by_name  (ESourceGroup *group,
                                                             const gchar *source_name);

Returns : | the ESource. [transfer none]

### e_source_group_add_source ()

    gboolean            e_source_group_add_source           (ESourceGroup *group,
                                                             ESource *source,
                                                             gint position);

### e_source_group_remove_source ()

    gboolean            e_source_group_remove_source        (ESourceGroup *group,
                                                             ESource *source);

### e_source_group_remove_source_by_uid ()

    gboolean            e_source_group_remove_source_by_uid (ESourceGroup *group,
                                                             const gchar *uid);

### e_source_group_get_property ()

    gchar *		           e_source_group_get_property         (ESourceGroup *source,
                                                             const gchar *property);

Since 1.12

### e_source_group_set_property ()

    void                e_source_group_set_property         (ESourceGroup *source,
                                                             const gchar *property,
                                                             const gchar *value);

Since 1.12

### e_source_group_foreach_property ()

    void                e_source_group_foreach_property     (ESourceGroup *source,
                                                             GHFunc func,
                                                             gpointer data);

`func` : | the func to call on each property. [scope call]
`data` : | the user data

Since 1.12

### e_source_group_to_xml ()

    gchar *		           e_source_group_to_xml               (ESourceGroup *group);

### e_source_group_equal ()

    gboolean            e_source_group_equal                (ESourceGroup *a,
                                                             ESourceGroup *b);

Compares if `a` is equivalent to `b`.

`a` : | An ESourceGroup
`b` : | Another ESourceGroup
Returns : | `TRUE` if `a` is equivalent to `b`, `FALSE` otherwise.

Since 2.24

### e_source_group_xmlstr_equal ()

    gboolean            e_source_group_xmlstr_equal         (const gchar *a,
                                                             const gchar *b);

Compares if `a` is equivalent to `b`.

`a` : | XML representation of an ESourceGroup
`b` : | XML representation of another ESourceGroup
Returns : | `TRUE` if `a` is equivalent to `b`, `FALSE` otherwise.

Since 2.24

## Signal Details

### The `"changed"` signal

    void                user_function                      (ESourceGroup *esourcegroup,
                                                            gpointer      user_data)         : Run Last

`esourcegroup` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"source-added"` signal

    void                user_function                      (ESourceGroup *esourcegroup,
                                                            GObject      *arg1,
                                                            gpointer      user_data)         : Run Last

`esourcegroup` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"source-removed"` signal

    void                user_function                      (ESourceGroup *esourcegroup,
                                                            GObject      *arg1,
                                                            gpointer      user_data)         : Run Last

`esourcegroup` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.