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