## ESource ESource — |

## Synopsis

                ESource;
    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);

## Object Hierarchy

      GObject
       +----ESource

## Signals

    "changed"   void        user_function      (ESource *esource,
                                                gpointer user_data)      : Run last

## Description

## Details

### ESource

    typedef struct _ESource ESource;

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

## Signal Details

### The "changed" signal

    void        user_function                  (ESource *esource,
                                                gpointer user_data)      : Run last

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