2 #include <system_settings.h>
3 #include <system_settings_private.h>
4 #include <system_settings_json.h>
8 //#define VCONFKEY_SETAPPL_CALL_RINGTONE_USER_LIST
11 static void ss_json_ringtone_save(JsonNode *root)
14 JsonGenerator *generator = json_generator_new();
15 json_generator_set_root(generator, root);
16 json_generator_set_pretty(generator, TRUE);
19 gboolean ret = json_generator_to_file(generator, filename, &error);
21 gchar* result = json_generator_to_data(generator, NULL);
22 vconf_set_str(VCONFKEY_SETAPPL_CALL_RINGTONE_USER_LIST, (char*)result);
24 g_object_unref(generator);
30 JsonParser* ss_json_ringtone_open_file(char* path)
36 parser = json_parser_new();
39 json_parser_load_from_file(parser, path, &error);
41 SETTING_TRACE("Unable to parse `%s': %s\n", path, error->message);
43 g_object_unref(parser);
51 JsonParser* ss_json_ringtone_load_from_data()
57 parser = json_parser_new();
60 char* load_data = vconf_get_str(VCONFKEY_SETAPPL_CALL_RINGTONE_USER_LIST);
61 json_parser_load_from_data(parser, load_data, -1, &error);
63 SETTING_TRACE("Unable to load data : %s \n", error->message);
65 g_object_unref(parser);
71 void ss_json_ringtone_add(JsonNode *root, char* filename, char* nameval, char* pathval)
75 JsonNode* menu_item = json_node_new(JSON_NODE_OBJECT);
76 JsonObject *object = json_object_new();
77 json_node_take_object(menu_item, object);
78 json_object_set_string_member(object, "name", nameval);
79 json_object_set_string_member(object, "path", pathval);
81 JsonArray* menu = json_node_get_array(root);
82 json_array_add_element(menu, menu_item);
84 ss_json_ringtone_save(root);
87 void ss_json_ringtone_print(JsonNode *root)
89 JsonNode *node = root;
91 JsonGenerator *generator = json_generator_new();
92 json_generator_set_root(generator, node);
93 json_generator_set_pretty(generator, TRUE);
94 gchar *data = json_generator_to_data(generator, NULL);
95 //SETTING_TRACE("%s", (char * )data);
96 SETTING_TRACE("-------------------------------------------------------\n");
97 SETTING_TRACE("%s", data);
98 SETTING_TRACE("-------------------------------------------------------\n");
100 SETTING_TRACE("VCONFKEY_SETAPPL_CALL_RINGTONE_USER_LIST SET !!!!\n");
101 vconf_set_str(VCONFKEY_SETAPPL_CALL_RINGTONE_USER_LIST, (char*)data);
103 g_object_unref(generator);
106 void ss_json_ringtone_remove(JsonNode *root, char* filename, char* path_to_del)
108 int size = json_array_get_length(json_node_get_array(root));
110 SETTING_TRACE("BBB size : (%d) \n", size);
112 for (i = 0; i < size ; i++) {
113 JsonObject *ringtone = json_array_get_object_element(json_node_get_array(root), i);
114 //char *nameval = (char *)json_object_get_string_member(ringtone, "name");
115 char *pathval = (char *)json_object_get_string_member(ringtone, "path");
117 if (pathval && !strcmp(pathval, path_to_del)) {
118 json_array_remove_element(json_node_get_array(root), i);
119 SETTING_TRACE("remove BBB : (%s) --- (%s) \n", pathval, path_to_del);
123 ss_json_ringtone_save(root);
126 bool ss_json_ringtone_contain(JsonNode *root, char* newfile)
128 int size = json_array_get_length(json_node_get_array(root));
133 for (i = 0; i < size ; i++) {
134 JsonObject *ringtone = json_array_get_object_element(json_node_get_array(root), i);
135 //char *nameval = (char *)json_object_get_string_member(ringtone, "name");
136 char *pathval = (char *)json_object_get_string_member(ringtone, "path");
137 //SETTING_TRACE("(%s) --- (%s) \n", name, path);
140 if (pathval && !strcmp(pathval, newfile)) {
141 //SETTING_TRACE("FOUND\n");
145 //SETTING_TRACE("*NOT* FOUND\n");
153 /* LCOV_EXCL_START */
154 void ss_json_ringtone_list(JsonNode *root)
156 int size = json_array_get_length(json_node_get_array(root));
159 for (i = 0; i < size ; i++) {
160 JsonObject *ringtone = json_array_get_object_element(json_node_get_array(root), i);
161 char *name = (char *)json_object_get_string_member(ringtone, "name");
162 char *path = (char *)json_object_get_string_member(ringtone, "path");
163 SETTING_TRACE("(%s) --- (%s) \n", name, path);