## ESourceGroup ESourceGroup |

## Synopsis

                        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

### ESourceGroup

    typedef struct _ESourceGroup ESourceGroup;

### e_source_group_new ()

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

`name` : |
`base_uri` : |
Returns : |

### e_source_group_new_from_xml ()

    ESourceGroup *      e_source_group_new_from_xml         (const gchar *xml);

`xml` : |
Returns : |

### e_source_group_new_from_xmldoc ()

    ESourceGroup *      e_source_group_new_from_xmldoc      (xmlDocPtr doc);

`doc` : |
Returns : |

### e_source_group_update_from_xml ()

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

`group` : |
`xml` : |
`changed_return` : |
Returns : |

### e_source_group_update_from_xmldoc ()

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

`group` : |
`doc` : |
`changed_return` : |
Returns : |

### e_source_group_uid_from_xmldoc ()

    gchar *             e_source_group_uid_from_xmldoc      (xmlDocPtr doc);

`doc` : |
Returns : |

### e_source_group_set_name ()

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

`group` : |
`name` : |

### e_source_group_set_base_uri ()

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

`group` : |
`base_uri` : |

### e_source_group_set_readonly ()

    void                e_source_group_set_readonly         (ESourceGroup *group,
                                                             gboolean readonly);

`group` : |
`readonly` : |

### e_source_group_peek_uid ()

    const gchar *       e_source_group_peek_uid             (ESourceGroup *group);

`group` : |
Returns : |

### e_source_group_peek_name ()

    const gchar *       e_source_group_peek_name            (ESourceGroup *group);

`group` : |
Returns : |

### e_source_group_peek_base_uri ()

    const gchar *       e_source_group_peek_base_uri        (ESourceGroup *group);

`group` : |
Returns : |

### e_source_group_get_readonly ()

    gboolean            e_source_group_get_readonly         (ESourceGroup *group);

`group` : |
Returns : |

### e_source_group_peek_sources ()

    GSList *            e_source_group_peek_sources         (ESourceGroup *group);

`group` : |
Returns : |

### e_source_group_peek_source_by_uid ()

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

`group` : |
`source_uid` : |
Returns : |

### e_source_group_peek_source_by_name ()

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

`group` : |
`source_name` : |
Returns : |

### e_source_group_add_source ()

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

`group` : |
`source` : |
`position` : |
Returns : |

### e_source_group_remove_source ()

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

`group` : |
`source` : |
Returns : |

### e_source_group_remove_source_by_uid ()

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

`group` : |
`uid` : |
Returns : |

### e_source_group_get_property ()

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

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

Since 1.12

### e_source_group_set_property ()

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

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

Since 1.12

### e_source_group_foreach_property ()

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

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

Since 1.12

### e_source_group_to_xml ()

    gchar *             e_source_group_to_xml               (ESourceGroup *group);

`group` : |
Returns : |

### 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.
`arg1` : |
`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.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.