3 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * Licensed under the Apache License, Version 2.0 (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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
21 * @brief This file is the header file of interface of account
29 #include "common/common_define.h"
32 * @par Description: API to add profile API
33 * This API can be used to add profile
34 * This API is part of API for UI
37 * @par Typical use case:
38 * @par Method of function operation:
39 * @par Important notes:
40 * @param[in] string type, profile_dir_name(identify profile in UI)
41 * @param[in] string type, profile name
42 * @param[in] string type, server ip
43 * @param[in] string type, id
44 * @param[in] string type, password
45 * @param[in] string type, sync mode
46 * @param[in] string type, sync type
47 * @param[in] string type, interval(for periodic)
48 * @param[in] GList type, list of sync_service_s structure
49 * @param[out] int type, account id
51 * @return true on success
65 bool add_profile(char *profile_dir_name, char *profile_name, char *addr, char *id, char *password, char *sync_mode, char *sync_type, char *interval, GList * categories, int *account_id);
68 * @par Description: API to add profile from csc
69 * This API can be used to add profile from csc(vconf)
72 * @par Typical use case:
73 * @par Method of function operation:
74 * @par Important notes:
75 * @param[in] int type, index of profile
77 * @return 1 on success
91 bool add_profile_csc(int index);
94 * @par Description: API to add profile API
95 * This API can be used to add profile
96 * This API is part of API for UI
99 * @par Typical use case:
100 * @par Method of function operation:
101 * @par Important notes:
102 * @param[in] string type, profile name
103 * @param[in] string type, server ip
104 * @param[in] string type, id
105 * @param[in] string type, password
106 * @param[in] GList type, list of resource_cp structure
107 * @param[out] int type, account id
109 * @return true on success
123 bool add_profile_cp(char *profile_name, char *addr, char *id, char *password, GList * categories, int *account_id);
126 * @par Description: API to add profile for call log sync
127 * This API can be used to add profile
128 * This API is part of API for call log sync
131 * @par Typical use case:
132 * @par Method of function operation:
133 * @par Important notes:
134 * @param[out] int type, account_id
136 * @return true on success
150 bool add_profile_dive(int *account_id);
153 * @par Description: API to edit profile API
154 * This API can be used to edit profile
155 * This API is part of API for UI
158 * @par Typical use case:
159 * @par Method of function operation:
160 * @par Important notes:
161 * @param[in] int type, account id
162 * @param[in] string type, profile name
163 * @param[in] string type, server ip
164 * @param[in] string type, id
165 * @param[in] string type, password
166 * @param[in] string type, sync mode
167 * @param[in] string type, sync type
168 * @param[in] string type, interval(for periodic)
169 * @param[in] GList type, list of sync_service_s structure
171 * @return true on success
185 bool edit_profile(int account_id, char *profile_name, char *addr, char *id, char *password, char *sync_mode, char *sync_type, char *interval, GList * categories);
188 * @par Description: API to delete profile API
189 * This API can be used to delete profile
190 * This API is part of API for UI
193 * @par Typical use case:
194 * @par Method of function operation:
195 * @par Important notes:
196 * @param[in] GList type, list of account id
198 * @return true on success
212 bool delete_profiles(GList * profiles);
215 * @par Description: API to delete profile for call log sync
216 * This API can be used to delete profile
217 * This API is part of API for call log sync
220 * @par Typical use case:
221 * @par Method of function operation:
222 * @par Important notes:
224 * @return true on success
238 bool delete_profile_dive();
241 * @par Description: API to delete profile
242 * This API can be used to delete profile
245 * @par Typical use case:
246 * @par Method of function operation:
247 * @par Important notes:
249 * @return true on success
263 bool delete_profile(char *access_name);
266 * @par Description: API to delete all profiles
267 * This API can be used to delete all profiles
270 * @par Typical use case:
271 * @par Method of function operation:
272 * @par Important notes:
274 * @return true on success
288 bool delete_all_profiles();
291 * @par Description: API to get profile directory name of synchronizing account
292 * This API can be used to get profile directory name
295 * @par Typical use case:
296 * @par Method of function operation:
297 * @par Important notes:
298 * @param[out] string type, profile_dir_name(identify profile in UI)
299 * @param[out] string type, sync_type(determined by server)
301 * @return true on success
315 bool get_synchronising_profile(char **profile_dir_name, char **sync_type);
318 * @par Description: API to delete all agent default table(except id_provider_tbl, id_page_tbl)
319 * This API can be used to delete all agent default table
322 * @par Typical use case:
323 * @par Method of function operation:
324 * @par Important notes:
326 * @return true on success
340 bool delete_all_agent_default_table();
342 #endif /* SE_ACCOUNT_H_ */