summaryrefslogtreecommitdiffhomepage
path: root/mixlib/mix_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'mixlib/mix_config.c')
-rw-r--r--mixlib/mix_config.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/mixlib/mix_config.c b/mixlib/mix_config.c
index d03e949..871af91 100644
--- a/mixlib/mix_config.c
+++ b/mixlib/mix_config.c
@@ -34,6 +34,7 @@ static const gchar *DEF_DIR_ = ".mdk";
static const gchar *AUTOSAVE_KEY_ = "Autosave";
static const gchar *AUTOSAVE_YES_ = "True";
static const gchar *AUTOSAVE_NO_ = "False";
+static const gchar *DEVICES_KEY_ = "DevicesDir";
/* the config type */
struct mix_config_t
@@ -106,6 +107,14 @@ mix_config_delete (mix_config_t *config)
g_free (config);
}
+/* get the config filename */
+const gchar *
+mix_config_get_filename (const mix_config_t *config)
+{
+ g_return_val_if_fail (config != NULL, NULL);
+ return config->filename;
+}
+
/* get a config item's value from its key */
const gchar *
mix_config_get (const mix_config_t *config, const gchar *key)
@@ -183,3 +192,20 @@ mix_config_is_autosave (const mix_config_t *config)
return config->autosave;
}
+/* devices dir*/
+void
+mix_config_set_devices_dir (mix_config_t *config, const gchar *dirname)
+{
+ g_return_if_fail (config != NULL);
+ g_return_if_fail (dirname != NULL);
+ if (mix_stat_dir (dirname, "devices"))
+ mix_config_update (config, DEVICES_KEY_, dirname);
+}
+
+extern const gchar *
+mix_config_get_devices_dir (const mix_config_t *config)
+{
+ g_return_val_if_fail (config != NULL, NULL);
+ return mix_config_get (config, DEVICES_KEY_);
+}
+