merge with master
[platform/core/system/sync-agent.git] / TC / testcase / utc_sync_agent_framework_event_omads.c
1 /*
2  * sync-agent
3  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
4  *
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
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
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 #include <tet_api.h>
19
20 #include <sync_agent.h>
21
22 enum {
23         POSITIVE_TC_IDX = 0x01,
24         NEGATIVE_TC_IDX,
25 };
26
27 static void startup(void);
28 static void cleanup(void);
29
30 void (*tet_startup) (void) = startup;
31 void (*tet_cleanup) (void) = cleanup;
32
33 #define TEST_FW_CONFIG_OMADS_FILE       "../../../testcase/fw-test-cfg/test_fw_config_omads.xml"
34
35 #define OMA_DS_EVENT_NUM 10
36
37 #define API_NAME_SYNC_START_UP  "startup"
38 #define API_NAME_SYNC_CLEAN_UP  "cleanup"
39
40 #define API_NAME_SYNC_AGENT_DS_INIT "sync_agent_ds_init"
41 #define API_NAME_SYNC_AGENT_DS_CREATE_PROFILE_INFO "sync_agent_ds_create_profile_info"
42 #define API_NAME_SYNC_AGENT_DS_SET_PROFILE_NAME "sync_agent_ds_set_profile_name"
43 #define API_NAME_SYNC_AGENT_DS_SET_SERVER_INFO "sync_agent_ds_set_server_info"
44 #define API_NAME_SYNC_AGENT_DS_SET_SYNC_INFO "sync_agent_ds_set_sync_info"
45 #define API_NAME_SYNC_AGENT_DS_SET_SYNC_SERVICE_INFO "sync_agent_ds_set_sync_service_info"
46 #define API_NAME_SYNC_AGENT_DS_GET_PROFILE_NAME "sync_agent_ds_get_profile_name"
47 #define API_NAME_SYNC_AGENT_DS_GET_SERVER_INFO "sync_agent_ds_get_server_info"
48 #define API_NAME_SYNC_AGENT_DS_GET_SYNC_INFO "sync_agent_ds_get_sync_info"
49 #define API_NAME_SYNC_AGENT_DS_GET_SYNC_SERVICE_INFO "sync_agent_ds_get_sync_service_info"
50 #define API_NAME_SYNC_AGENT_DS_GET_LAST_SYNC_INFO "sync_agent_ds_get_last_sync_info"
51 #define API_NAME_SYNC_AGENT_DS_GET_SYNC_STATISTICS "sync_agent_ds_get_sync_statistics"
52 #define API_NAME_SYNC_AGENT_DS_ADD_PROFILE "sync_agent_ds_add_profile"
53 #define API_NAME_SYNC_AGENT_DS_GET_PROFILE "sync_agent_ds_get_profile"
54 #define API_NAME_SYNC_AGENT_DS_GET_ALL_PROFILE "sync_agent_ds_get_all_profile"
55 #define API_NAME_SYNC_AGENT_DS_UPDATE_PROFILE "sync_agent_ds_update_profile"
56 #define API_NAME_SYNC_AGENT_DS_DELETE_PROFILE "sync_agent_ds_delete_profile"
57 #define API_NAME_SYNC_AGENT_DS_START_SYNC "sync_agent_ds_start_sync"
58 #define API_NAME_SYNC_AGENT_DS_STOP_SYNC "sync_agent_ds_stop_sync"
59 #define API_NAME_SYNC_AGENT_DS_FREE_PROFILE_INFO "sync_agent_ds_free_profile_info"
60 #define API_NAME_SYNC_AGENT_DS_DEINIT "sync_agent_ds_deinit"
61
62 #define API_NAME_START_TEST_DS_AGENT "_start_test_ds_agent"
63
64 static void utc_sync_agent_framework_sync_agent_sync_agent_ds_init_p(void);
65 static void utc_sync_agent_framework_sync_agent_ds_create_profile_info_p(void);
66 static void utc_sync_agent_framework_sync_agent_ds_set_profile_name_p(void);
67 static void utc_sync_agent_framework_sync_agent_ds_set_server_info_p(void);
68 static void utc_sync_agent_framework_sync_agent_ds_set_sync_info_p(void);
69 static void utc_sync_agent_framework_sync_agent_ds_set_sync_service_info_p(void);
70 static void utc_sync_agent_framework_sync_agent_ds_get_profile_name_p(void);
71 static void utc_sync_agent_framework_sync_agent_ds_get_server_info_p(void);
72 static void utc_sync_agent_framework_sync_agent_ds_get_sync_info_p(void);
73 static void utc_sync_agent_framework_sync_agent_ds_get_sync_service_info_p(void);
74 static void utc_sync_agent_framework_sync_agent_ds_get_last_sync_info_p(void);
75 static void utc_sync_agent_framework_sync_agent_ds_get_sync_statistics_p(void);
76 static void utc_sync_agent_framework_sync_agent_ds_add_profile_p(void);
77 static void utc_sync_agent_framework_sync_agent_ds_get_profile_p(void);
78 static void utc_sync_agent_framework_sync_agent_ds_get_all_profile_p(void);
79 static void utc_sync_agent_framework_sync_agent_ds_update_profile_p(void);
80 static void utc_sync_agent_framework_sync_agent_ds_delete_profile_p(void);
81 static void utc_sync_agent_framework_sync_agent_ds_start_sync_p(void);
82 static void utc_sync_agent_framework_sync_agent_ds_stop_sync_p(void);
83 //static void utc_sync_agent_framework_sync_agent_ds_free_profile_info_p(void);
84 static void utc_sync_agent_framework_sync_agent_ds_deinit_p(void);
85
86 static void *_start_test_ds_agent(void *arg);
87 static int (*__get_event_callback(int event_id)) (sync_agent_event_data_s * request, sync_agent_event_data_s * response);
88 static int ___add_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
89 static int ___update_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
90 static int ___delete_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
91 static int ___start_sync_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
92 static int ___stop_sync_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
93 static int ___get_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
94 static int ___get_sync_category_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
95 static int ___get_sync_statistics_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
96 static int ___get_all_profiles_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
97 static int ___default_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
98
99 struct tet_testlist tet_testlist[] = {
100         {utc_sync_agent_framework_sync_agent_sync_agent_ds_init_p, POSITIVE_TC_IDX},
101         {utc_sync_agent_framework_sync_agent_ds_create_profile_info_p, POSITIVE_TC_IDX},
102         {utc_sync_agent_framework_sync_agent_ds_set_profile_name_p, POSITIVE_TC_IDX},
103         {utc_sync_agent_framework_sync_agent_ds_set_server_info_p, POSITIVE_TC_IDX},
104         {utc_sync_agent_framework_sync_agent_ds_set_sync_info_p, POSITIVE_TC_IDX},
105         {utc_sync_agent_framework_sync_agent_ds_set_sync_service_info_p, POSITIVE_TC_IDX},
106         {utc_sync_agent_framework_sync_agent_ds_get_profile_name_p, POSITIVE_TC_IDX},
107         {utc_sync_agent_framework_sync_agent_ds_get_server_info_p, POSITIVE_TC_IDX},
108         {utc_sync_agent_framework_sync_agent_ds_get_sync_info_p, POSITIVE_TC_IDX},
109         {utc_sync_agent_framework_sync_agent_ds_get_sync_service_info_p, POSITIVE_TC_IDX},
110         {utc_sync_agent_framework_sync_agent_ds_get_last_sync_info_p, POSITIVE_TC_IDX},
111         {utc_sync_agent_framework_sync_agent_ds_get_sync_statistics_p, POSITIVE_TC_IDX},
112         {utc_sync_agent_framework_sync_agent_ds_add_profile_p, POSITIVE_TC_IDX},
113         {utc_sync_agent_framework_sync_agent_ds_get_profile_p, POSITIVE_TC_IDX},
114         {utc_sync_agent_framework_sync_agent_ds_get_all_profile_p, POSITIVE_TC_IDX},
115         {utc_sync_agent_framework_sync_agent_ds_update_profile_p, POSITIVE_TC_IDX},
116         {utc_sync_agent_framework_sync_agent_ds_delete_profile_p, POSITIVE_TC_IDX},
117         {utc_sync_agent_framework_sync_agent_ds_start_sync_p, POSITIVE_TC_IDX},
118         {utc_sync_agent_framework_sync_agent_ds_stop_sync_p, POSITIVE_TC_IDX},
119 //      { utc_sync_agent_framework_sync_agent_ds_free_profile_info_p, POSITIVE_TC_IDX },
120         {utc_sync_agent_framework_sync_agent_ds_deinit_p, POSITIVE_TC_IDX},
121         {NULL, 0}
122 };
123
124 static pthread_t test_ds_agent_thread_id;
125
126 static void startup(void)
127 {
128         /* start of TC */
129         pthread_create(&test_ds_agent_thread_id, 0, _start_test_ds_agent, 0);
130
131         sleep(3);
132 }
133
134 static void cleanup(void)
135 {
136         /* clean of TC */
137         pthread_cancel(test_ds_agent_thread_id);
138
139         sync_agent_stop_main_loop(1);
140 }
141
142 static void utc_sync_agent_framework_sync_agent_sync_agent_ds_init_p(void)
143 {
144         char *api_name = API_NAME_SYNC_AGENT_DS_INIT;
145         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
146
147         ds_err = sync_agent_ds_init();
148         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
149                 dts_pass(api_name);
150         } else {
151                 dts_message(api_name, "sync_agent_ds_init : %d", ds_err);
152                 dts_fail(api_name);
153         }
154 }
155
156 static void utc_sync_agent_framework_sync_agent_ds_create_profile_info_p(void)
157 {
158         char *api_name = API_NAME_SYNC_AGENT_DS_CREATE_PROFILE_INFO;
159         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
160
161         ds_profile_h profile_h = NULL;
162
163         ds_err = sync_agent_ds_create_profile_info(&profile_h);
164         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
165                 dts_pass(api_name);
166         } else {
167                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
168                 dts_fail(api_name);
169         }
170 }
171
172 static void utc_sync_agent_framework_sync_agent_ds_set_profile_name_p(void)
173 {
174         char *api_name = API_NAME_SYNC_AGENT_DS_SET_PROFILE_NAME;
175         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
176
177         ds_profile_h profile_h = NULL;
178         char *profile_dir_name = "Sync1";
179         char *profile_name = "profile name";
180
181         ds_err = sync_agent_ds_create_profile_info(&profile_h);
182         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
183                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
184                 dts_fail(api_name);
185         }
186
187         ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profile_dir_name);
188         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
189                 dts_pass(api_name);
190         } else {
191                 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
192                 dts_fail(api_name);
193         }
194
195         ds_err = sync_agent_ds_set_profile_name(profile_h, profile_name);
196         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
197                 dts_pass(api_name);
198         } else {
199                 dts_message(api_name, "sync_agent_ds_set_profile_name : %d", ds_err);
200                 dts_fail(api_name);
201         }
202 }
203
204 static void utc_sync_agent_framework_sync_agent_ds_set_server_info_p(void)
205 {
206         char *api_name = API_NAME_SYNC_AGENT_DS_SET_SERVER_INFO;
207         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
208
209         ds_profile_h profile_h = NULL;
210         char *addr = "http://";
211         char *id = "id";
212         char *password = "password";
213
214         ds_err = sync_agent_ds_create_profile_info(&profile_h);
215         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
216                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
217                 dts_fail(api_name);
218         }
219
220         ds_err = sync_agent_ds_set_server_info(profile_h, addr, id, password);
221         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
222                 dts_pass(api_name);
223         } else {
224                 dts_message(api_name, "sync_agent_ds_set_server_info : %d", ds_err);
225                 dts_fail(api_name);
226         }
227 }
228
229 static void utc_sync_agent_framework_sync_agent_ds_set_sync_info_p(void)
230 {
231         char *api_name = API_NAME_SYNC_AGENT_DS_SET_SYNC_INFO;
232         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
233
234         ds_profile_h profile_h = NULL;
235         sync_agent_ds_sync_mode_e sync_mode = SYNC_AGENT_SYNC_MODE_PERIODIC;
236         sync_agent_ds_sync_type_e sync_type = SYNC_AGENT_SYNC_TYPE_UPDATE_BOTH;
237         sync_agent_ds_sync_interval_e interval = SYNC_AGENT_SYNC_INTERVAL_1_HOUR;
238
239         ds_err = sync_agent_ds_create_profile_info(&profile_h);
240         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
241                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
242                 dts_fail(api_name);
243         }
244
245         ds_err = sync_agent_ds_set_sync_info(profile_h, sync_mode, sync_type, interval);
246         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
247                 dts_pass(api_name);
248         } else {
249                 dts_message(api_name, "sync_agent_ds_set_sync_info : %d", ds_err);
250                 dts_fail(api_name);
251         }
252 }
253
254 static void utc_sync_agent_framework_sync_agent_ds_set_sync_service_info_p(void)
255 {
256         char *api_name = API_NAME_SYNC_AGENT_DS_SET_SYNC_SERVICE_INFO;
257         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
258
259         ds_profile_h profile_h = NULL;
260         sync_agent_ds_service_type_e service_type = SYNC_AGENT_CONTACT;
261         int enabled = 1;
262         sync_agent_ds_src_uri_e src_uri = SYNC_AGENT_SRC_URI_CONTACT;
263         char *tgt_uri = "card";
264         char *id = "id";
265         char *password = "password";
266
267         ds_err = sync_agent_ds_create_profile_info(&profile_h);
268         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
269                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
270                 dts_fail(api_name);
271         }
272
273         ds_err = sync_agent_ds_set_sync_service_info(profile_h, service_type, enabled, src_uri, tgt_uri, id, password);
274         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
275                 dts_pass(api_name);
276         } else {
277                 dts_message(api_name, "sync_agent_ds_set_sync_service_info : %d", ds_err);
278                 dts_fail(api_name);
279         }
280 }
281
282 static void utc_sync_agent_framework_sync_agent_ds_get_profile_name_p(void)
283 {
284         char *api_name = API_NAME_SYNC_AGENT_DS_GET_PROFILE_NAME;
285         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
286
287         ds_profile_h profile_h = NULL;
288         char *profile_dir_name = "Sync1";
289         char *get_profile_dir_name = NULL;
290         char *profile_name = NULL;
291
292         ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
293         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
294                 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
295                 dts_fail(api_name);
296         }
297
298         ds_err = sync_agent_ds_get_profile_name(profile_h, &get_profile_dir_name, &profile_name);
299         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
300                 dts_pass(api_name);
301         } else {
302                 dts_message(api_name, "sync_agent_ds_get_profile_name : %d", ds_err);
303                 dts_fail(api_name);
304         }
305 }
306
307 static void utc_sync_agent_framework_sync_agent_ds_get_server_info_p(void)
308 {
309         char *api_name = API_NAME_SYNC_AGENT_DS_GET_SERVER_INFO;
310         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
311
312         ds_profile_h profile_h = NULL;
313         char *profile_dir_name = "Sync1";
314         sync_agent_ds_server_info server_info = { NULL };
315
316         ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
317         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
318                 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
319                 dts_fail(api_name);
320         }
321
322         ds_err = sync_agent_ds_get_server_info(profile_h, &server_info);
323         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
324                 dts_pass(api_name);
325         } else {
326                 dts_message(api_name, "sync_agent_ds_get_server_info : %d", ds_err);
327                 dts_fail(api_name);
328         }
329 }
330
331 static void utc_sync_agent_framework_sync_agent_ds_get_sync_info_p(void)
332 {
333         char *api_name = API_NAME_SYNC_AGENT_DS_GET_SYNC_INFO;
334         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
335
336         ds_profile_h profile_h = NULL;
337         char *profile_dir_name = "Sync1";
338         sync_agent_ds_sync_info sync_info = { NULL };
339
340         ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
341         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
342                 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
343                 dts_fail(api_name);
344         }
345
346         ds_err = sync_agent_ds_get_sync_info(profile_h, &sync_info);
347         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
348                 dts_pass(api_name);
349         } else {
350                 dts_message(api_name, "sync_agent_ds_get_sync_info : %d", ds_err);
351                 dts_fail(api_name);
352         }
353 }
354
355 static void utc_sync_agent_framework_sync_agent_ds_get_sync_service_info_p(void)
356 {
357         char *api_name = API_NAME_SYNC_AGENT_DS_GET_SYNC_SERVICE_INFO;
358         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
359
360         ds_profile_h profile_h = NULL;
361         char *profile_dir_name = "Sync1";
362         GList *service_list = NULL;
363
364         ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
365         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
366                 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
367                 dts_fail(api_name);
368         }
369
370         ds_err = sync_agent_ds_get_sync_service_info(profile_h, &service_list);
371         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
372                 dts_pass(api_name);
373         } else {
374                 dts_message(api_name, "sync_agent_ds_get_sync_service_info : %d", ds_err);
375                 dts_fail(api_name);
376         }
377 }
378
379 static void utc_sync_agent_framework_sync_agent_ds_get_last_sync_info_p(void)
380 {
381         char *api_name = API_NAME_SYNC_AGENT_DS_GET_LAST_SYNC_INFO;
382         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
383
384         ds_profile_h profile_h = NULL;
385         char *profile_dir_name = "Sync1";
386         int last_sync_status = 0;
387         int last_sync_time = 0;
388
389         ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
390         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
391                 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
392                 dts_fail(api_name);
393         }
394
395         ds_err = sync_agent_ds_get_last_sync_info(profile_h, &last_sync_status, &last_sync_time);
396         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
397                 dts_pass(api_name);
398         } else {
399                 dts_message(api_name, "sync_agent_ds_get_last_sync_info : %d", ds_err);
400                 dts_fail(api_name);
401         }
402 }
403
404 static void utc_sync_agent_framework_sync_agent_ds_get_sync_statistics_p(void)
405 {
406         char *api_name = API_NAME_SYNC_AGENT_DS_GET_SYNC_STATISTICS;
407         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
408
409         ds_profile_h profile_h = NULL;
410         char *profile_dir_name = "Sync1";
411         GList *statistics_list = NULL;
412
413         ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
414         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
415                 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
416                 dts_fail(api_name);
417         }
418
419         ds_err = sync_agent_ds_get_sync_statistics(profile_h, &statistics_list);
420         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
421                 dts_pass(api_name);
422         } else {
423                 dts_message(api_name, "sync_agent_ds_get_sync_statistics : %d", ds_err);
424                 dts_fail(api_name);
425         }
426 }
427
428 static void utc_sync_agent_framework_sync_agent_ds_add_profile_p(void)
429 {
430         char *api_name = API_NAME_SYNC_AGENT_DS_ADD_PROFILE;
431         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
432
433         ds_profile_h profile_h = NULL;
434         char *profile_dir_name = "Sync1";
435         char *profile_name = "profile name";
436
437         char *addr = "http://";
438         char *id = "id";
439         char *password = "password";
440
441         sync_agent_ds_sync_mode_e sync_mode = SYNC_AGENT_SYNC_MODE_PERIODIC;
442         sync_agent_ds_sync_type_e sync_type = SYNC_AGENT_SYNC_TYPE_UPDATE_BOTH;
443         sync_agent_ds_sync_interval_e interval = SYNC_AGENT_SYNC_INTERVAL_1_HOUR;
444
445         sync_agent_ds_service_type_e service_type = SYNC_AGENT_CONTACT;
446         int enabled = 1;
447         sync_agent_ds_src_uri_e src_uri = SYNC_AGENT_SRC_URI_CONTACT;
448         char *tgt_uri = "card";
449
450         int profile_id = 0;
451
452         ds_err = sync_agent_ds_create_profile_info(&profile_h);
453         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
454                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
455                 dts_fail(api_name);
456         }
457
458         ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profile_dir_name);
459         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
460                 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
461                 dts_fail(api_name);
462         }
463
464         ds_err = sync_agent_ds_set_profile_name(profile_h, profile_name);
465         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
466                 dts_message(api_name, "sync_agent_ds_set_profile_name : %d", ds_err);
467                 dts_fail(api_name);
468         }
469
470         ds_err = sync_agent_ds_set_server_info(profile_h, addr, id, password);
471         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
472                 dts_message(api_name, "sync_agent_ds_set_server_info : %d", ds_err);
473                 dts_fail(api_name);
474         }
475
476         ds_err = sync_agent_ds_set_sync_info(profile_h, sync_mode, sync_type, interval);
477         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
478                 dts_message(api_name, "sync_agent_ds_set_sync_info : %d", ds_err);
479                 dts_fail(api_name);
480         }
481
482         ds_err = sync_agent_ds_add_profile(profile_h, &profile_id);
483         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
484                 dts_pass(api_name);
485         } else {
486                 dts_message(api_name, "sync_agent_ds_add_profile : %d", ds_err);
487                 dts_fail(api_name);
488         }
489 }
490
491 static void utc_sync_agent_framework_sync_agent_ds_get_profile_p(void)
492 {
493         char *api_name = API_NAME_SYNC_AGENT_DS_GET_PROFILE;
494         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
495
496         ds_profile_h profile_h = NULL;
497         char *profile_dir_name = "Sync1";
498
499         ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
500         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
501                 dts_pass(api_name);
502         } else {
503                 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
504                 dts_fail(api_name);
505         }
506 }
507
508 static void utc_sync_agent_framework_sync_agent_ds_get_all_profile_p(void)
509 {
510         char *api_name = API_NAME_SYNC_AGENT_DS_GET_ALL_PROFILE;
511         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
512
513         GList *profile_list = NULL;
514
515         ds_err = sync_agent_ds_get_all_profile(&profile_list);
516
517         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
518                 dts_pass(api_name);
519         } else {
520                 dts_message(api_name, "sync_agent_ds_get_all_profile : %d", ds_err);
521                 dts_fail(api_name);
522         }
523 }
524
525 static void utc_sync_agent_framework_sync_agent_ds_update_profile_p(void)
526 {
527         char *api_name = API_NAME_SYNC_AGENT_DS_UPDATE_PROFILE;
528         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
529
530         ds_profile_h profile_h = NULL;
531         char *profile_dir_name = "Sync1";
532         char *profile_name = "updated profile name";
533
534         char *addr = "http://";
535         char *id = "id";
536         char *password = "password";
537
538         sync_agent_ds_sync_mode_e sync_mode = SYNC_AGENT_SYNC_MODE_PERIODIC;
539         sync_agent_ds_sync_type_e sync_type = SYNC_AGENT_SYNC_TYPE_UPDATE_BOTH;
540         sync_agent_ds_sync_interval_e interval = SYNC_AGENT_SYNC_INTERVAL_1_HOUR;
541
542         sync_agent_ds_service_type_e service_type = SYNC_AGENT_CONTACT;
543         int enabled = 1;
544         sync_agent_ds_src_uri_e src_uri = SYNC_AGENT_SRC_URI_CONTACT;
545         char *tgt_uri = "card";
546
547         ds_err = sync_agent_ds_create_profile_info(&profile_h);
548         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
549                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
550                 dts_fail(api_name);
551         }
552
553         ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profile_dir_name);
554         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
555                 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
556                 dts_fail(api_name);
557         }
558
559         ds_err = sync_agent_ds_set_profile_name(profile_h, profile_name);
560         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
561                 dts_message(api_name, "sync_agent_ds_set_profile_name : %d", ds_err);
562                 dts_fail(api_name);
563         }
564
565         ds_err = sync_agent_ds_set_server_info(profile_h, addr, id, password);
566         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
567                 dts_message(api_name, "sync_agent_ds_set_server_info : %d", ds_err);
568                 dts_fail(api_name);
569         }
570
571         ds_err = sync_agent_ds_set_sync_info(profile_h, sync_mode, sync_type, interval);
572         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
573                 dts_message(api_name, "sync_agent_ds_set_sync_info : %d", ds_err);
574                 dts_fail(api_name);
575         }
576
577         ds_err = sync_agent_ds_update_profile(profile_h);
578         sync_agent_ds_free_profile_info(profile_h);
579
580         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
581                 dts_pass(api_name);
582         } else {
583                 dts_message(api_name, "sync_agent_ds_update_profile : %d", ds_err);
584                 dts_fail(api_name);
585         }
586 }
587
588 static void utc_sync_agent_framework_sync_agent_ds_delete_profile_p(void)
589 {
590         char *api_name = API_NAME_SYNC_AGENT_DS_DELETE_PROFILE;
591         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
592
593         ds_profile_h profile_h = NULL;
594         char *profileDirName = "Sync1";
595
596         ds_err = sync_agent_ds_create_profile_info(&profile_h);
597         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
598                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
599                 dts_fail(api_name);
600         }
601
602         ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profileDirName);
603         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
604                 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
605                 dts_fail(api_name);
606         }
607
608         ds_err = sync_agent_ds_delete_profile(profile_h);
609         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
610                 dts_pass(api_name);
611         } else {
612                 dts_message(api_name, "sync_agent_ds_delete_profile : %d", ds_err);
613                 dts_fail(api_name);
614         }
615 }
616
617 static void utc_sync_agent_framework_sync_agent_ds_start_sync_p(void)
618 {
619         char *api_name = API_NAME_SYNC_AGENT_DS_START_SYNC;
620         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
621
622         ds_profile_h profile_h = NULL;
623         char *profileDirName = "Sync1";
624
625         ds_err = sync_agent_ds_create_profile_info(&profile_h);
626         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
627                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
628                 dts_fail(api_name);
629         }
630
631         ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profileDirName);
632         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
633                 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
634                 dts_fail(api_name);
635         }
636
637         ds_err = sync_agent_ds_start_sync(profile_h);
638         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
639                 dts_pass(api_name);
640         } else {
641                 dts_message(api_name, "sync_agent_ds_start_sync : %d", ds_err);
642                 dts_fail(api_name);
643         }
644 }
645
646 static void utc_sync_agent_framework_sync_agent_ds_stop_sync_p(void)
647 {
648         char *api_name = API_NAME_SYNC_AGENT_DS_STOP_SYNC;
649         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
650
651         ds_profile_h profile_h = NULL;
652         char *profileDirName = "Sync1";
653
654         ds_err = sync_agent_ds_create_profile_info(&profile_h);
655         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
656                 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
657                 dts_fail(api_name);
658         }
659
660         ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profileDirName);
661         if (ds_err != SYNC_AGENT_DS_SUCCESS) {
662                 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
663                 dts_fail(api_name);
664         }
665
666         ds_err = sync_agent_ds_stop_sync(profile_h);
667         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
668                 dts_pass(api_name);
669         } else {
670                 dts_message(api_name, "sync_agent_ds_stop_sync : %d", ds_err);
671                 dts_fail(api_name);
672         }
673 }
674
675 //static void utc_sync_agent_framework_sync_agent_ds_free_profile_info_p(void)
676 //{
677 //      char *api_name = API_NAME_SYNC_AGENT_DS_FREE_PROFILE_INFO;
678 //      sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
679 //
680 //      ds_profile_h profile_h = NULL;
681 //
682 //      ds_err = sync_agent_ds_create_profile_info(&profile_h);
683 //      if (ds_err != SYNC_AGENT_DS_SUCCESS) {
684 //              dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
685 //              dts_fail(api_name);
686 //      }
687 //
688 //      sync_agent_ds_free_profile_info(profile_h);
689 //}
690
691 static void utc_sync_agent_framework_sync_agent_ds_deinit_p(void)
692 {
693         char *api_name = API_NAME_SYNC_AGENT_DS_DEINIT;
694         sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
695
696         ds_err = sync_agent_ds_deinit();
697         if (ds_err == SYNC_AGENT_DS_SUCCESS) {
698                 dts_pass(api_name);
699         } else {
700                 dts_message(api_name, "sync_agent_ds_deinit : %d", ds_err);
701                 dts_fail(api_name);
702         }
703 }
704
705 static void *_start_test_ds_agent(void *arg)
706 {
707         char *api_name = API_NAME_START_TEST_DS_AGENT;
708         sync_agent_event_error_e event_err = SYNC_AGENT_EVENT_SUCCESS;
709         sync_agent_init_error_e init_error = sync_agent_init(TEST_FW_CONFIG_OMADS_FILE);
710         if (init_error != SYNC_AGENT_INIT_SUCCESS) {
711                 dts_message(api_name, "sync_agent_init : %d", init_error);
712                 dts_fail(api_name);
713         }
714
715         int event_id = 0;
716         for (event_id = 1; event_id < OMA_DS_EVENT_NUM; event_id++) {
717                 event_err = sync_agent_set_event_callback(event_id, __get_event_callback(event_id));
718                 if (event_err != SYNC_AGENT_EVENT_SUCCESS) {
719                         dts_message(api_name, "sync_agent_set_event_callback : %d", event_err);
720                         dts_fail(api_name);
721                 }
722         }
723
724         sync_agent_run_main_loop(1);
725 }
726
727 static int (*__get_event_callback(int event_id)) (sync_agent_event_data_s * request, sync_agent_event_data_s * response) {
728         g_print("%s Start \n", __func__);
729
730         switch (event_id) {
731         case 1:
732                 return ___add_profile_cb;
733                 break;
734         case 2:
735                 return ___update_profile_cb;
736                 break;
737         case 3:
738                 return ___delete_profile_cb;
739                 break;
740         case 4:
741                 return ___start_sync_cb;
742                 break;
743         case 5:
744                 return ___stop_sync_cb;
745                 break;
746         case 6:
747                 return ___get_profile_cb;
748                 break;
749         case 7:
750                 return ___get_sync_category_cb;
751                 break;
752         case 8:
753                 return ___get_sync_statistics_cb;
754                 break;
755         case 9:
756                 return ___get_all_profiles_cb;
757                 break;
758         default:
759                 return ___default_cb;
760                 break;
761         }
762
763         g_print("%s End \n", __func__);
764 }
765
766 static int ___add_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
767 {
768         g_print("%s Start \n", __func__);
769
770         int event_result = 1;
771         char *profile_dir_name = NULL;
772         char *profile_name = NULL;
773         char *addr = NULL;
774         char *id = NULL;
775         char *password = NULL;
776         char *sync_mode = NULL;
777         char *sync_type = NULL;
778         char *interval = NULL;
779         int category_count = 0;
780         int account_id = 1;
781
782         sync_agent_get_event_data_param(request, &profile_dir_name);
783         sync_agent_get_event_data_param(request, &profile_name);
784         sync_agent_get_event_data_param(request, &addr);
785         sync_agent_get_event_data_param(request, &id);
786         sync_agent_get_event_data_param(request, &password);
787         sync_agent_get_event_data_param(request, &sync_mode);
788         sync_agent_get_event_data_param(request, &sync_type);
789         sync_agent_get_event_data_param(request, &interval);
790         sync_agent_get_event_data_param(request, &category_count);
791
792         int i = 0;
793         for (; i < category_count; i++) {
794                 sync_agent_ds_service_info *category = NULL;
795                 sync_agent_get_event_data_param(request, &(category->service_type));
796                 sync_agent_get_event_data_param(request, &(category->enabled));
797                 sync_agent_get_event_data_param(request, &(category->src_uri));
798                 sync_agent_get_event_data_param(request, &(category->tgt_uri));
799                 sync_agent_get_event_data_param(request, &(category->id));
800                 sync_agent_get_event_data_param(request, &(category->password));
801         }
802
803         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
804         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &account_id);
805
806         g_print("%s End \n", __func__);
807
808         return 1;
809 }
810
811 static int ___update_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
812 {
813         g_print("%s Start \n", __func__);
814
815         int event_result = 1;
816         char *profile_dir_name = NULL;
817         char *profile_name = NULL;
818         char *addr = NULL;
819         char *id = NULL;
820         char *password = NULL;
821         char *sync_mode = NULL;
822         char *sync_type = NULL;
823         char *interval = NULL;
824         int category_count = 0;
825
826         sync_agent_get_event_data_param(request, &profile_dir_name);
827         sync_agent_get_event_data_param(request, &profile_name);
828         sync_agent_get_event_data_param(request, &addr);
829         sync_agent_get_event_data_param(request, &id);
830         sync_agent_get_event_data_param(request, &password);
831         sync_agent_get_event_data_param(request, &sync_mode);
832         sync_agent_get_event_data_param(request, &sync_type);
833         sync_agent_get_event_data_param(request, &interval);
834         sync_agent_get_event_data_param(request, &category_count);
835
836         int i = 0;
837         for (; i < category_count; i++) {
838                 sync_agent_ds_service_info *category = NULL;
839                 sync_agent_get_event_data_param(request, &(category->service_type));
840                 sync_agent_get_event_data_param(request, &(category->enabled));
841                 sync_agent_get_event_data_param(request, &(category->src_uri));
842                 sync_agent_get_event_data_param(request, &(category->tgt_uri));
843                 sync_agent_get_event_data_param(request, &(category->id));
844                 sync_agent_get_event_data_param(request, &(category->password));
845         }
846
847         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
848
849         g_print("%s End \n", __func__);
850
851         return 1;
852 }
853
854 static int ___delete_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
855 {
856         g_print("%s Start \n", __func__);
857
858         int event_result = 1;
859         int count = 0;
860         sync_agent_get_event_data_param(request, &count);
861
862         int i;
863         char *profile = NULL;
864         for (i = 0; i < count; i++) {
865                 sync_agent_get_event_data_param(request, &profile);
866         }
867
868         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
869
870         g_print("%s End \n", __func__);
871
872         return 1;
873 }
874
875 static int ___start_sync_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
876 {
877         g_print("%s Start \n", __func__);
878
879         int event_result = 1;
880         char *profile = NULL;
881
882         sync_agent_get_event_data_param(request, &profile);
883
884         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
885
886         if (profile != NULL)
887                 free(profile);
888
889         g_print("%s End \n", __func__);
890
891         return 1;
892 }
893
894 static int ___stop_sync_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
895 {
896         g_print("%s Start \n", __func__);
897
898         int event_result = 1;
899         char *profile = NULL;
900
901         sync_agent_get_event_data_param(request, &profile);
902
903         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
904
905         if (profile != NULL)
906                 free(profile);
907
908         g_print("%s End \n", __func__);
909
910         return 1;
911 }
912
913 static int ___get_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
914 {
915         g_print("%s Start \n", __func__);
916
917         int event_result = 1;
918         char *profile = NULL;
919         char *profile_name = strdup("profile name");
920         char *addr = strdup("addr");
921         char *id = strdup("id");
922         char *password = strdup("password");
923         char *sync_mode = strdup("sync_mode");
924         char *sync_type = strdup("sync_type");
925         char *interval = strdup("interval");
926         int last_session_status = 0;
927         int last_session_time = 0;
928
929         sync_agent_get_event_data_param(request, &profile);
930
931         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
932         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)profile_name);
933         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)addr);
934         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)id);
935         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)password);
936         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_mode);
937         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_type);
938         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)interval);
939         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_session_status);
940         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_session_time);
941
942         if (profile != NULL)
943                 free(profile);
944
945         g_print("%s End \n", __func__);
946
947         return 1;
948 }
949
950 static int ___get_sync_category_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
951 {
952         g_print("%s Start \n", __func__);
953
954         int event_result = 1;
955         char *profile = NULL;
956         int content_type = 0;
957         int enabled = 0;
958         char *srcURI = strdup("srcURI");
959         char *tgtURI = strdup("tgtURI");
960         char *id = strdup("id");
961         char *password = strdup("password");
962
963         sync_agent_get_event_data_param(request, &profile);
964         sync_agent_get_event_data_param(request, &content_type);
965
966         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
967         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &enabled);
968         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)srcURI);
969         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)tgtURI);
970         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)id);
971         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)password);
972
973         if (profile != NULL)
974                 free(profile);
975
976         g_print("%s End \n", __func__);
977
978         return 1;
979 }
980
981 static int ___get_sync_statistics_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
982 {
983         g_print("%s Start \n", __func__);
984
985         int event_result = 1;
986         char *profile = NULL;
987         int content_type = 0;
988         char *dbSynced = strdup("NO");
989         int last_session_time = 0;
990         int server2Client_Total = 0;
991         int server2Client_NrOfAdd = 0;
992         int server2Client_NrOfDelete = 0;
993         int server2Client_NrOfReplace = 0;
994         int client2Server_Total = 0;
995         int client2Server_NrOfAdd = 0;
996         int client2Server_NrOrDelete = 0;
997         int client2Server_NrOfReplace = 0;
998
999         sync_agent_get_event_data_param(request, &profile);
1000         sync_agent_get_event_data_param(request, &content_type);
1001
1002         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
1003         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)dbSynced);
1004         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_session_time);
1005         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &server2Client_Total);
1006         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &server2Client_NrOfAdd);
1007         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &server2Client_NrOfDelete);
1008         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &server2Client_NrOfReplace);
1009         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &client2Server_Total);
1010         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &client2Server_NrOfAdd);
1011         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &client2Server_NrOrDelete);
1012         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &client2Server_NrOfReplace);
1013
1014         if (profile != NULL)
1015                 free(profile);
1016
1017         g_print("%s End \n", __func__);
1018
1019         return 1;
1020 }
1021
1022 static int ___get_all_profiles_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
1023 {
1024         g_print("%s Start \n", __func__);
1025
1026         int event_result = 1;
1027         int profile_count = 1;
1028         int category_count = 1;
1029         sync_agent_ds_service_info *category_info = NULL;
1030
1031         char *profile_dir_name = strdup("profile_dir_name");
1032         char *profile_name = strdup("profile_name");
1033         char *addr = strdup("addr");
1034         char *id = strdup("id");
1035         char *password = strdup("password");
1036         char *sync_mode = strdup("sync_mode");
1037         char *sync_type = strdup("sync_type");
1038         char *interval = strdup("interval");
1039         int last_sync_status = 0;
1040         int last_sync_time = 1;
1041         int service_type = 1;
1042         int enabled = 1;
1043         char *src_uri = strdup("src_uri");
1044         char *tgt_uri = strdup("tgt_uri");
1045
1046         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
1047         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &profile_count);
1048         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)profile_dir_name);
1049         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)profile_name);
1050         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)addr);
1051         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)id);
1052         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)password);
1053         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_mode);
1054         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_type);
1055         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)interval);
1056         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_sync_status);
1057         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_sync_time);
1058
1059         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &category_count);
1060
1061         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &service_type);
1062         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &enabled);
1063         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)src_uri);
1064         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)tgt_uri);
1065         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)id);
1066         sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)password);
1067
1068         g_print("%s End \n", __func__);
1069
1070         return 1;
1071 }
1072
1073 static int ___default_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
1074 {
1075         g_print("%s Start \n", __func__);
1076
1077         g_print("%s End \n", __func__);
1078
1079         return 1;
1080 }