## RygelConfiguration RygelConfiguration — Interface for dealing with Rygel configuration. |

## Synopsis

    enum                RygelConfigurationEntry;
    enum                RygelSectionEntry;
    enum                RygelConfigurationError;
    gboolean            rygel_configuration_get_upnp_enabled
                                                            (RygelConfiguration *self,
                                                             GError **error);
    gchar *             rygel_configuration_get_interface   (RygelConfiguration *self,
                                                             GError **error);
    gint                rygel_configuration_get_port        (RygelConfiguration *self,
                                                             GError **error);
    gboolean            rygel_configuration_get_transcoding (RygelConfiguration *self,
                                                             GError **error);
    gboolean            rygel_configuration_get_allow_upload
                                                            (RygelConfiguration *self,
                                                             GError **error);
    gboolean            rygel_configuration_get_allow_deletion
                                                            (RygelConfiguration *self,
                                                             GError **error);
    gchar *             rygel_configuration_get_log_levels  (RygelConfiguration *self,
                                                             GError **error);
    gchar *             rygel_configuration_get_plugin_path (RygelConfiguration *self,
                                                             GError **error);
    gchar *             rygel_configuration_get_engine_path (RygelConfiguration *self,
                                                             GError **error);
    gchar *             rygel_configuration_get_media_engine
                                                            (RygelConfiguration *self,
                                                             GError **error);
    gchar *             rygel_configuration_get_video_upload_folder
                                                            (RygelConfiguration *self,
                                                             GError **error);
    gchar *             rygel_configuration_get_music_upload_folder
                                                            (RygelConfiguration *self,
                                                             GError **error);
    gchar *             rygel_configuration_get_picture_upload_folder
                                                            (RygelConfiguration *self,
                                                             GError **error);
    gboolean            rygel_configuration_get_enabled     (RygelConfiguration *self,
                                                             const gchar *section,
                                                             GError **error);
    gchar *             rygel_configuration_get_title       (RygelConfiguration *self,
                                                             const gchar *section,
                                                             GError **error);
    gchar *             rygel_configuration_get_string      (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             GError **error);
    GeeArrayList *      rygel_configuration_get_string_list (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             GError **error);
    gint                rygel_configuration_get_int         (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             gint min,
                                                             gint max,
                                                             GError **error);
    GeeArrayList *      rygel_configuration_get_int_list    (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             GError **error);
    gboolean            rygel_configuration_get_bool        (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             GError **error);
                        RygelConfiguration;
    struct              RygelConfigurationIface;

## Object Hierarchy

      GEnum
       +----RygelConfigurationEntry

      GEnum
       +----RygelSectionEntry

      GInterface
       +----RygelConfiguration

## Prerequisites

RygelConfiguration requires GObject.

## Known Implementations

RygelConfiguration is implemented by RygelBaseConfiguration and RygelMetaConfig.

## Signals

      "configuration-changed"                          : Run Last
      "section-changed"                                : Run Last
      "setting-changed"                                : Run Last

## Description

## Details

### enum RygelConfigurationEntry

    typedef enum {
    	RYGEL_CONFIGURATION_ENTRY_UPNP_ENABLED,
    	RYGEL_CONFIGURATION_ENTRY_INTERFACE,
    	RYGEL_CONFIGURATION_ENTRY_PORT,
    	RYGEL_CONFIGURATION_ENTRY_TRANSCODING,
    	RYGEL_CONFIGURATION_ENTRY_ALLOW_UPLOAD,
    	RYGEL_CONFIGURATION_ENTRY_ALLOW_DELETION,
    	RYGEL_CONFIGURATION_ENTRY_LOG_LEVELS,
    	RYGEL_CONFIGURATION_ENTRY_PLUGIN_PATH,
    	RYGEL_CONFIGURATION_ENTRY_VIDEO_UPLOAD_FOLDER,
    	RYGEL_CONFIGURATION_ENTRY_MUSIC_UPLOAD_FOLDER,
    	RYGEL_CONFIGURATION_ENTRY_PICTURE_UPLOAD_FOLDER
    } RygelConfigurationEntry;

`RYGEL_CONFIGURATION_ENTRY_UPNP_ENABLED` |
`RYGEL_CONFIGURATION_ENTRY_INTERFACE` |
`RYGEL_CONFIGURATION_ENTRY_PORT` |
`RYGEL_CONFIGURATION_ENTRY_TRANSCODING` |
`RYGEL_CONFIGURATION_ENTRY_ALLOW_UPLOAD` |
`RYGEL_CONFIGURATION_ENTRY_ALLOW_DELETION` |
`RYGEL_CONFIGURATION_ENTRY_LOG_LEVELS` |
`RYGEL_CONFIGURATION_ENTRY_PLUGIN_PATH` |
`RYGEL_CONFIGURATION_ENTRY_VIDEO_UPLOAD_FOLDER` |
`RYGEL_CONFIGURATION_ENTRY_MUSIC_UPLOAD_FOLDER` |
`RYGEL_CONFIGURATION_ENTRY_PICTURE_UPLOAD_FOLDER` |

### enum RygelSectionEntry

    typedef enum {
    	RYGEL_SECTION_ENTRY_TITLE,
    	RYGEL_SECTION_ENTRY_ENABLED
    } RygelSectionEntry;

`RYGEL_SECTION_ENTRY_TITLE` |
`RYGEL_SECTION_ENTRY_ENABLED` |

### enum RygelConfigurationError

    typedef enum {
    	RYGEL_CONFIGURATION_ERROR_NO_VALUE_SET,
    	RYGEL_CONFIGURATION_ERROR_VALUE_OUT_OF_RANGE
    } RygelConfigurationError;

`RYGEL_CONFIGURATION_ERROR_NO_VALUE_SET` |
`RYGEL_CONFIGURATION_ERROR_VALUE_OUT_OF_RANGE` |

### rygel_configuration_get_upnp_enabled ()

    gboolean            rygel_configuration_get_upnp_enabled
                                                            (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_interface ()

    gchar *             rygel_configuration_get_interface   (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_port ()

    gint                rygel_configuration_get_port        (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_transcoding ()

    gboolean            rygel_configuration_get_transcoding (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_allow_upload ()

    gboolean            rygel_configuration_get_allow_upload
                                                            (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_allow_deletion ()

    gboolean            rygel_configuration_get_allow_deletion
                                                            (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_log_levels ()

    gchar *             rygel_configuration_get_log_levels  (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_plugin_path ()

    gchar *             rygel_configuration_get_plugin_path (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_engine_path ()

    gchar *             rygel_configuration_get_engine_path (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_media_engine ()

    gchar *             rygel_configuration_get_media_engine
                                                            (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_video_upload_folder ()

    gchar *             rygel_configuration_get_video_upload_folder
                                                            (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_music_upload_folder ()

    gchar *             rygel_configuration_get_music_upload_folder
                                                            (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_picture_upload_folder ()

    gchar *             rygel_configuration_get_picture_upload_folder
                                                            (RygelConfiguration *self,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_enabled ()

    gboolean            rygel_configuration_get_enabled     (RygelConfiguration *self,
                                                             const gchar *section,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_title ()

    gchar *             rygel_configuration_get_title       (RygelConfiguration *self,
                                                             const gchar *section,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_string ()

    gchar *             rygel_configuration_get_string      (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_string_list ()

    GeeArrayList *      rygel_configuration_get_string_list (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_int ()

    gint                rygel_configuration_get_int         (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             gint min,
                                                             gint max,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_int_list ()

    GeeArrayList *      rygel_configuration_get_int_list    (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_configuration_get_bool ()

    gboolean            rygel_configuration_get_bool        (RygelConfiguration *self,
                                                             const gchar *section,
                                                             const gchar *key,
                                                             GError **error);

`self` : | the RygelConfiguration instance
`error` : | location to store the error occuring, or `NULL` to ignore

### RygelConfiguration

    typedef struct _RygelConfiguration RygelConfiguration;

Interface for dealing with Rygel configuration.

### struct RygelConfigurationIface

    struct RygelConfigurationIface {
    	GTypeInterface parent_iface;
    	gboolean (*get_upnp_enabled) (RygelConfiguration* self, GError** error);
    	gchar* (*get_interface) (RygelConfiguration* self, GError** error);
    	gint (*get_port) (RygelConfiguration* self, GError** error);
    	gboolean (*get_transcoding) (RygelConfiguration* self, GError** error);
    	gboolean (*get_allow_upload) (RygelConfiguration* self, GError** error);
    	gboolean (*get_allow_deletion) (RygelConfiguration* self, GError** error);
    	gchar* (*get_log_levels) (RygelConfiguration* self, GError** error);
    	gchar* (*get_plugin_path) (RygelConfiguration* self, GError** error);
    	gchar* (*get_engine_path) (RygelConfiguration* self, GError** error);
    	gchar* (*get_media_engine) (RygelConfiguration* self, GError** error);
    	gchar* (*get_video_upload_folder) (RygelConfiguration* self, GError** error);
    	gchar* (*get_music_upload_folder) (RygelConfiguration* self, GError** error);
    	gchar* (*get_picture_upload_folder) (RygelConfiguration* self, GError** error);
    	gboolean (*get_enabled) (RygelConfiguration* self, const gchar* section, GError** error);
    	gchar* (*get_title) (RygelConfiguration* self, const gchar* section, GError** error);
    	gchar* (*get_string) (RygelConfiguration* self, const gchar* section, const gchar* key, GError** error);
    	GeeArrayList* (*get_string_list) (RygelConfiguration* self, const gchar* section, const gchar* key, GError** error);
    	gint (*get_int) (RygelConfiguration* self, const gchar* section, const gchar* key, gint min, gint max, GError** error);
    	GeeArrayList* (*get_int_list) (RygelConfiguration* self, const gchar* section, const gchar* key, GError** error);
    	gboolean (*get_bool) (RygelConfiguration* self, const gchar* section, const gchar* key, GError** error);
    };

Interface for creating RygelConfiguration implementations.

GTypeInterface `parent_iface`; | the parent interface structure
`get_upnp_enabled` () | virtual method called by ``rygel_configuration_get_upnp_enabled()``
`get_interface` () | virtual method called by ``rygel_configuration_get_interface()``
`get_port` () | virtual method called by ``rygel_configuration_get_port()``
`get_transcoding` () | virtual method called by ``rygel_configuration_get_transcoding()``
`get_allow_upload` () | virtual method called by ``rygel_configuration_get_allow_upload()``
`get_allow_deletion` () | virtual method called by ``rygel_configuration_get_allow_deletion()``
`get_log_levels` () | virtual method called by ``rygel_configuration_get_log_levels()``
`get_plugin_path` () | virtual method called by ``rygel_configuration_get_plugin_path()``
`get_engine_path` () | virtual method called by ``rygel_configuration_get_engine_path()``
`get_media_engine` () | virtual method called by ``rygel_configuration_get_media_engine()``
`get_video_upload_folder` () | virtual method called by ``rygel_configuration_get_video_upload_folder()``
`get_music_upload_folder` () | virtual method called by ``rygel_configuration_get_music_upload_folder()``
`get_picture_upload_folder` () | virtual method called by ``rygel_configuration_get_picture_upload_folder()``
`get_enabled` () | virtual method called by ``rygel_configuration_get_enabled()``
`get_title` () | virtual method called by ``rygel_configuration_get_title()``
`get_string` () | virtual method called by ``rygel_configuration_get_string()``
`get_string_list` () | virtual method called by ``rygel_configuration_get_string_list()``
`get_int` () | virtual method called by ``rygel_configuration_get_int()``
`get_int_list` () | virtual method called by ``rygel_configuration_get_int_list()``
`get_bool` () | virtual method called by ``rygel_configuration_get_bool()``

## Signal Details

### The `"configuration-changed"` signal

    void                user_function                      (RygelConfiguration     *configuration,
                                                            RygelConfigurationEntry entry,
                                                            gpointer                user_data)          : Run Last

Emitted when any of known configuration settings has changed. RygelConfigurationEntry lists known configuration settings.

`configuration` : | the RygelConfiguration instance that received the signal
`user_data` : | user data set when the signal handler was connected.

### The `"section-changed"` signal

    void                user_function                      (RygelConfiguration *configuration,
                                                            gchar              *section,
                                                            RygelSectionEntry   entry,
                                                            gpointer            user_data)          : Run Last

Emitted when any of section settings has changed. RygelSectionEntry lists known section settings.

`configuration` : | the RygelConfiguration instance that received the signal
`user_data` : | user data set when the signal handler was connected.

### The `"setting-changed"` signal

    void                user_function                      (RygelConfiguration *configuration,
                                                            gchar              *section,
                                                            gchar              *key,
                                                            gpointer            user_data)          : Run Last

Emitted when some custom setting has changed. That happens when changed setting does fit into neither configuration_changed nor section_changed signal.

`configuration` : | the RygelConfiguration instance that received the signal
`user_data` : | user data set when the signal handler was connected.