[LIBREPORT PATCH 2/2] refactore: add functions for custom application conf

Jakub Filak jfilak at redhat.com
Mon May 13 12:23:01 UTC 2013


Related to abrt/abrt#594

Signed-off-by: Jakub Filak <jfilak at redhat.com>
---
 src/include/internal_libreport.h | 11 +++++++++++
 src/lib/user_settings.c          | 40 ++++++++++++++++++++++++++++++++++------
 2 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/src/include/internal_libreport.h b/src/include/internal_libreport.h
index 235d2dd..1d1d204 100644
--- a/src/include/internal_libreport.h
+++ b/src/include/internal_libreport.h
@@ -678,6 +678,16 @@ bool load_conf_file(const char *pPath, map_string_t *settings, bool skipKeysWith
 
 #define save_conf_file libreport_save_conf_file
 bool save_conf_file(const char *path, map_string_t *settings);
+
+#define save_app_conf_file libreport_save_app_conf_file
+bool save_app_conf_file(const char* application_name, map_string_t *settings);
+#define load_app_conf_file libreport_load_app_conf_file
+bool load_app_conf_file(const char *application_name, map_string_t *settings);
+#define set_app_user_setting libreport_set_app_user_setting
+void set_app_user_setting(map_string_t *settings, const char *name, const char *value);
+#define get_app_user_setting libreport_get_app_user_setting
+const char *get_app_user_setting(map_string_t *settings, const char *name);
+
 #define save_user_settings libreport_save_user_settings
 bool save_user_settings();
 #define load_user_settings libreport_load_user_settings
@@ -686,6 +696,7 @@ bool load_user_settings(const char *application_name);
 void set_user_setting(const char *name, const char *value);
 #define get_user_setting libreport_get_user_setting
 const char *get_user_setting(const char *name);
+
 #define load_forbidden_words libreport_load_forbidden_words
 GList *load_forbidden_words();
 #define get_file_list libreport_get_file_list
diff --git a/src/lib/user_settings.c b/src/lib/user_settings.c
index 56387cd..73a7de5 100644
--- a/src/lib/user_settings.c
+++ b/src/lib/user_settings.c
@@ -79,6 +79,38 @@ static char *get_conf_path(const char *name)
     return conf;
 }
 
+
+bool save_app_conf_file(const char* application_name, map_string_t *settings)
+{
+    char *app_conf_path = get_conf_path(application_name);
+    bool result = save_conf_file(app_conf_path, settings);
+    free(app_conf_path);
+
+    return result;
+}
+
+bool load_app_conf_file(const char *application_name, map_string_t *settings)
+{
+    char *app_conf_path = get_conf_path(application_name);
+    bool result = load_conf_file(app_conf_path, settings, false);
+    free(app_conf_path);
+
+    return result;
+}
+
+void set_app_user_setting(map_string_t *settings, const char *name, const char *value)
+{
+    if (value)
+        replace_map_string_item(settings, xstrdup(name), xstrdup(value));
+    else
+        remove_map_string_item(settings, name);
+}
+
+const char *get_app_user_setting(map_string_t *settings, const char *name)
+{
+    return get_map_string_item_or_NULL(settings, name);
+}
+
 bool save_user_settings()
 {
     if (!conf_path || !user_settings)
@@ -104,11 +136,7 @@ void set_user_setting(const char *name, const char *value)
 {
     if (!user_settings)
         return;
-
-    if (value)
-        replace_map_string_item(user_settings, xstrdup(name), xstrdup(value));
-    else
-        remove_map_string_item(user_settings, name);
+    set_app_user_setting(user_settings, name, value);
 }
 
 const char *get_user_setting(const char *name)
@@ -116,7 +144,7 @@ const char *get_user_setting(const char *name)
     if (!user_settings)
         return NULL;
 
-    return get_map_string_item_or_NULL(user_settings, name);
+    return get_app_user_setting(user_settings, name);
 }
 
 GList *load_forbidden_words(void)
-- 
1.8.1.4



More information about the Crash-catcher mailing list