diff options
author | Jon Bergli Heier <snakebite@jvnv.net> | 2010-08-20 20:36:38 +0200 |
---|---|---|
committer | Jon Bergli Heier <snakebite@jvnv.net> | 2010-08-20 20:36:38 +0200 |
commit | 2d2b889bb25f9db008bdac54babf84c2120d2a45 (patch) | |
tree | 1b1154fd5c692ad99d3c16ae7768647185687f6c /conf.c | |
parent | 02f779da234da8c17300ca849f9a2c1f8d4a48e0 (diff) |
Implemented some basic configuration stuff.
Diffstat (limited to 'conf.c')
-rw-r--r-- | conf.c | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -0,0 +1,46 @@ +#include "conf.h" + +static GKeyFile *kf = NULL; + +gchar *conf_get_string(const gchar *group, const gchar *key) { + GError *error = NULL; + + gchar *s = g_key_file_get_string(kf, group, key, &error); + if(s == NULL) { + g_warning(error->message); + g_error_free(error); + } + + return s; +} + +gint conf_get_int(const gchar *group, const gchar *key) { + GError *error = NULL; + + gint i = g_key_file_get_integer(kf, group, key, &error); + if(i == 0 && error != NULL) { + g_warning(error->message); + g_error_free(error); + } + + return i; +} + +gboolean conf_load() { + GError *error = NULL; + kf = g_key_file_new(); + + if(kf == NULL) { + return FALSE; + } + + if(g_key_file_load_from_file(kf, "audist.conf", G_KEY_FILE_NONE, &error) == FALSE) { + g_warning("could not load config file: %s", error->message); + } + + return TRUE; +} + +void conf_free() { + g_key_file_free(kf); +} |