## mateconf-sources mateconf-sources |

## Synopsis

                        MateConfSource;
    enum                MateConfSourceFlags;
    MateConfSource *       mateconf_resolve_address               (const gchar *address,
                                                             GError **err);
    void                mateconf_source_free                   (MateConfSource *source);
                        MateConfSources;
    MateConfSources *      mateconf_sources_new_from_addresses    (GSList *addresses,
                                                             GError **err);
    MateConfSources *      mateconf_sources_new_from_source       (MateConfSource *source);
    void                mateconf_sources_free                  (MateConfSources *sources);
    MateConfValue *        mateconf_sources_query_value           (MateConfSources *sources,
                                                             const gchar *key,
                                                             const gchar **locales,
                                                             gboolean use_schema_default,
                                                             gboolean *value_is_default,
                                                             gboolean *value_is_writable,
                                                             gchar **schema_name,
                                                             GError **err);
    void                mateconf_sources_set_value             (MateConfSources *sources,
                                                             const gchar *key,
                                                             const MateConfValue *value,
                                                             MateConfSources **modified_sources,
                                                             GError **err);
    void                mateconf_sources_unset_value           (MateConfSources *sources,
                                                             const gchar *key,
                                                             const gchar *locale,
                                                             MateConfSources **modified_sources,
                                                             GError **err);
    GSList *            mateconf_sources_all_entries           (MateConfSources *sources,
                                                             const gchar *dir,
                                                             const gchar **locales,
                                                             GError **err);
    GSList *            mateconf_sources_all_dirs              (MateConfSources *sources,
                                                             const gchar *dir,
                                                             GError **err);
    gboolean            mateconf_sources_dir_exists            (MateConfSources *sources,
                                                             const gchar *dir,
                                                             GError **err);
    void                mateconf_sources_remove_dir            (MateConfSources *sources,
                                                             const gchar *dir,
                                                             GError **err);
    void                mateconf_sources_set_schema            (MateConfSources *sources,
                                                             const gchar *key,
                                                             const gchar *schema_key,
                                                             GError **err);
    gboolean            mateconf_sources_sync_all              (MateConfSources *sources,
                                                             GError **err);
    MateConfMetaInfo *     mateconf_sources_query_metainfo        (MateConfSources *sources,
                                                             const gchar *key,
                                                             GError **err);
    MateConfValue *        mateconf_sources_query_default_value   (MateConfSources *sources,
                                                             const gchar *key,
                                                             const gchar **locales,
                                                             gboolean *is_writable,
                                                             GError **err);

## Description

## Details

### MateConfSource

    typedef struct {
      guint flags;
      gchar* address;
      MateConfBackend* backend;
    } MateConfSource;

### enum MateConfSourceFlags

    typedef enum {
      /* These are an optimization to avoid calls to
       * the writable/readable methods in the backend
       * vtable
       */
      MATECONF_SOURCE_ALL_WRITEABLE = 1 << 0,
      MATECONF_SOURCE_ALL_READABLE = 1 << 1,
      MATECONF_SOURCE_NEVER_WRITEABLE = 1 << 2,
      MATECONF_SOURCE_ALL_FLAGS = ((1 << 0) | (1 << 1))
    } MateConfSourceFlags;

### mateconf_resolve_address ()

    MateConfSource *       mateconf_resolve_address               (const gchar *address,
                                                             GError **err);

`address` : |
`err` : |
Returns : |

### mateconf_source_free ()

    void                mateconf_source_free                   (MateConfSource *source);

`source` : |

### MateConfSources

    typedef struct {
      GList* sources;
    } MateConfSources;

### mateconf_sources_new_from_addresses ()

    MateConfSources *      mateconf_sources_new_from_addresses    (GSList *addresses,
                                                             GError **err);

`addresses` : |
`err` : |
Returns : |

### mateconf_sources_new_from_source ()

    MateConfSources *      mateconf_sources_new_from_source       (MateConfSource *source);

`source` : |
Returns : |

### mateconf_sources_free ()

    void                mateconf_sources_free                  (MateConfSources *sources);

`sources` : |

### mateconf_sources_query_value ()

    MateConfValue *        mateconf_sources_query_value           (MateConfSources *sources,
                                                             const gchar *key,
                                                             const gchar **locales,
                                                             gboolean use_schema_default,
                                                             gboolean *value_is_default,
                                                             gboolean *value_is_writable,
                                                             gchar **schema_name,
                                                             GError **err);

`sources` : |
`key` : |
`locales` : |
`use_schema_default` : |
`value_is_default` : |
`value_is_writable` : |
`schema_name` : |
`err` : |
Returns : |

### mateconf_sources_set_value ()

    void                mateconf_sources_set_value             (MateConfSources *sources,
                                                             const gchar *key,
                                                             const MateConfValue *value,
                                                             MateConfSources **modified_sources,
                                                             GError **err);

`sources` : |
`key` : |
`value` : |
`modified_sources` : |
`err` : |

### mateconf_sources_unset_value ()

    void                mateconf_sources_unset_value           (MateConfSources *sources,
                                                             const gchar *key,
                                                             const gchar *locale,
                                                             MateConfSources **modified_sources,
                                                             GError **err);

`sources` : |
`key` : |
`locale` : |
`modified_sources` : |
`err` : |

### mateconf_sources_all_entries ()

    GSList *            mateconf_sources_all_entries           (MateConfSources *sources,
                                                             const gchar *dir,
                                                             const gchar **locales,
                                                             GError **err);

`sources` : |
`dir` : |
`locales` : |
`err` : |
Returns : |

### mateconf_sources_all_dirs ()

    GSList *            mateconf_sources_all_dirs              (MateConfSources *sources,
                                                             const gchar *dir,
                                                             GError **err);

`sources` : |
`dir` : |
`err` : |
Returns : |

### mateconf_sources_dir_exists ()

    gboolean            mateconf_sources_dir_exists            (MateConfSources *sources,
                                                             const gchar *dir,
                                                             GError **err);

`sources` : |
`dir` : |
`err` : |
Returns : |

### mateconf_sources_remove_dir ()

    void                mateconf_sources_remove_dir            (MateConfSources *sources,
                                                             const gchar *dir,
                                                             GError **err);

`sources` : |
`dir` : |
`err` : |

### mateconf_sources_set_schema ()

    void                mateconf_sources_set_schema            (MateConfSources *sources,
                                                             const gchar *key,
                                                             const gchar *schema_key,
                                                             GError **err);

`sources` : |
`key` : |
`schema_key` : |
`err` : |

### mateconf_sources_sync_all ()

    gboolean            mateconf_sources_sync_all              (MateConfSources *sources,
                                                             GError **err);

`sources` : |
`err` : |
Returns : |

### mateconf_sources_query_metainfo ()

    MateConfMetaInfo *     mateconf_sources_query_metainfo        (MateConfSources *sources,
                                                             const gchar *key,
                                                             GError **err);

`sources` : |
`key` : |
`err` : |
Returns : |

### mateconf_sources_query_default_value ()

    MateConfValue *        mateconf_sources_query_default_value   (MateConfSources *sources,
                                                             const gchar *key,
                                                             const gchar **locales,
                                                             gboolean *is_writable,
                                                             GError **err);

`sources` : |
`key` : |
`locales` : |
`is_writable` : |
`err` : |
Returns : |