Merge "packaging: spec cleanup" into tizen
[apps/core/preloaded/settings.git] / setting-common / include / setting-cfg.h
1 /*
2  * setting
3  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Flora License, Version 1.1 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://floralicense.org/license/
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an AS IS BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 /**
18  *@defgroup setting-cfg
19  *configuration file management.
20  *Setting app is based on JSON scripting for configuration management.
21  */
22
23 #ifndef __SETTING_CFG_H__
24 #define __SETTING_CFG_H__
25
26 #include <glib.h>
27 #include <json-glib/json-glib.h>
28 #include <setting-common-resource.h>
29 #include <app.h>
30
31 /*****/
32 typedef enum _Cfg_Item_Type {
33         Cfg_Item_Pos_Uninstall = -1,
34         Cfg_Item_Pos_Level0 = 0,
35         Cfg_Item_Pos_Level1 = 1,
36         Cfg_Item_Pos_Level_All = 2,
37 } Cfg_Item_Position;
38
39
40 typedef enum _Cfg_Item_Reset_Type {
41         Cfg_Item_unResetable = 0,
42         Cfg_Item_Resetable = 1,
43 } Cfg_Item_Reset_Type;
44
45 typedef enum _cfg_error_type {
46         Cfg_Error_Type_Sucess = 0,
47         Cfg_Error_Type_CreateCfg_Failed = -1,
48         Cfg_Error_Type_Mkdir_Failed = -2,
49         Cfg_Error_Type_RemoveCfg_Failed = -3,
50         Cfg_Error_Type_ReadCfg_Failed = -4,
51         Cfg_Error_Type_DirPermissionDenied = -5,
52         Cfg_Error_Type_FilePermissionDenied = -6,
53 } Cfg_Error_Type;
54
55 typedef struct {
56         char *key_name;
57         char *item_name;
58         char *icon_path;
59         char *ug_args;
60         int pos;
61         int click_times;
62 } Setting_Cfg_Node_T;
63
64
65 int setting_cfg_create(void);
66
67 void setting_cfg_print(void);
68
69 char* setting_cfg_get_path();
70
71 int setting_cfg_init(void);
72
73 void setting_cfg_exit(void);
74
75 int setting_cfg_file_update(void);
76
77 int setting_cfg_get_category_length(void);
78
79 char *setting_cfg_get_category_name(int category_index);
80
81 char *setting_cfg_get_category_display_name(int category_index);
82
83 void setting_cfg_set_category_display_name(int category_index, char *newstring);
84
85 int setting_cfg_get_menu_length(int category_index);
86
87 char *setting_cfg_get_string_field_idx(int category_index, int menu_index,
88                                        char *field_name);
89
90 int setting_cfg_get_int_field_idx(int category_index, int menu_index,
91                                   char *field_name);
92
93 char *setting_cfg_get_icon_path_idx(int category_index, int menu_index);
94
95 char *setting_cfg_get_ug_args_idx(int category_index, int menu_index);
96
97 char *setting_cfg_get_keyname_idx(int category_index, int menu_index);
98
99 char *setting_cfg_get_ugpath_idx(int category_index, int menu_index);
100
101 char *setting_cfg_get_ugpath(char *keyname);
102
103 int setting_cfg_get_pos_idx(int category_index, int menu_index);
104
105 int setting_cfg_get_pos(char *keyname);
106
107 void setting_cfg_set_pos_idx(int category_index, int menu_index, int pos);
108
109 void setting_cfg_set_pos(char *keyname, int pos);
110
111 int setting_cfg_get_click_times_idx(int category_index, int menu_index);
112
113 int setting_cfg_get_click_times(char *keyname);
114
115 void setting_cfg_set_click_times_idx(int category_index, int menu_index,
116                                      int click_times);
117
118 void setting_cfg_set_click_times(char *keyname, int click_times);
119
120 int setting_cfg_get_resetable_flag_idx(int category_index, int menu_index);
121
122 void setting_cfg_add_downloaded_app(char *keyname, char *icon_path,
123                                     char *ug_args, int pos);
124
125 void setting_cfg_remove_downloaded_app(char *keyname);
126
127
128 extern char *get_ug_path_from_ug_args(void *data);
129 extern service_h get_bundle_from_ug_args(void *data);
130 extern bool is_ug_installed_by_ug_args(void *data);
131
132 #endif