[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