Fix compatibility for x64 arch.
[platform/core/system/sync-agent.git] / include / plugin / data_connector_interface.h
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 #ifndef DATA_CONNECTOR_INTERFACE_H_
19 #define DATA_CONNECTOR_INTERFACE_H_
20
21 #include "data-adapter/error.h"
22
23 #include "data_connector_resource.h"
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif                          /* __cplusplus */
28
29 /**
30  * @file data_connector_interface.h
31  * @brief       Interface list in this header will be implemented plugIn developer.
32  * @remarks Implementation will operate sync-agent-framework data-adapter module.
33  */
34
35 /** @addtogroup plugin_dataconnector DataConnector Domain
36  * @ingroup plugin
37  *      @{
38  */
39
40 /**
41  * API to connect(open) to the service
42  *
43  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
44  *
45  * @par Since:
46  *
47  *
48  * @see sync_agent_plugin_open_service()
49  *
50  */
51         sync_agent_da_return_e sync_agent_plugin_open_service(void);
52
53 /**
54  * API to disconnect(close) to the service
55  *
56  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
57  *
58  * @par Since:
59  *
60  *
61  * @see sync_agent_plugin_close_service()
62  *
63  */
64         sync_agent_da_return_e sync_agent_plugin_close_service(void);
65
66 /**
67  * API to start transaction for service storage
68  *
69  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
70  *
71  * @par Since:
72  *
73  *
74  * @see sync_agent_plugin_begin_transaction()
75  *
76  */
77         sync_agent_da_return_e sync_agent_plugin_begin_transaction(void);
78
79 /**
80  * API to end transaction for service storage
81  *
82  * @param[in] is_success flag to decide commit/rollback (1:commit, 0:rollback)
83  *
84  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
85  *
86  * @par Since:
87  *
88  *
89  * @see sync_agent_plugin_end_transaction(int)
90  *
91  */
92         sync_agent_da_return_e sync_agent_plugin_end_transaction(int is_success);
93
94 /**
95  * API to insert item into service storage
96  *
97  * @param[in] account_id service account id
98  * @param[in] folder_id service folder id
99  * @param[in] data data to add to the service
100  * @param[in] item_id as returned by sync_agent_plugin_add_item() - success : id of the newly item added to the service, error : NULL
101  *
102  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
103  *
104  * @par Since:
105  *
106  *
107  * @see sync_agent_plugin_add_item(int, char *, void *, char **)
108  *
109  */
110         sync_agent_da_return_e sync_agent_plugin_add_item(int account_id, char *folder_id, void *data, char **item_id);
111
112 /**
113  * API to insert item into service storage
114  *
115  * @param[in] account_id service account id
116  * @param[in] folder_id service folder id
117  * @param[in] data data to add to the service
118  * @param[in] item_id as returned by sync_agent_plugin_add_bulk_item() - success : id of the newly item added to the service, error : NULL
119  *
120  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
121  *
122  * @par Since:
123  *
124  *
125  * @see sync_agent_plugin_add_bulk_item(int, char *, void *, int **, int *)
126  *
127  */
128         sync_agent_da_return_e sync_agent_plugin_add_bulk_item(int account_id, char *folder_id, void *data, int **item_id, int *item_id_count);
129
130 /**
131  * API to update item from service storage
132  *
133  * @param[in] account_id service account id
134  * @param[in] folder_id service folder id
135  * @param[in] item_id service item id
136  * @param[in] data data to update to the service
137  *
138  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
139  *
140  * @par Since:
141  *
142  *
143  * @see sync_agent_plugin_update_item(int, char *, char *, void *)
144  *
145  */
146         sync_agent_da_return_e sync_agent_plugin_update_item(int account_id, char *folder_id, char *item_id, void *data);
147
148 /**
149  * API to update item from service storage
150  *
151  * @param[in] data data to update to the service
152  *
153  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
154  *
155  * @par Since:
156  *
157  *
158  * @see sync_agent_plugin_update_bulk_item(void *)
159  *
160  */
161         sync_agent_da_return_e sync_agent_plugin_update_bulk_item(void *data);
162
163 /**
164  * API to delete item from service storage
165  *
166  * @param[in] account_id service account id
167  * @param[in] folder_id service folder id
168  * @param[in]   item_id service id of item expected to be deleted
169  *
170  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
171  *
172  * @par Since:
173  *
174  *
175  * @see sync_agent_plugin_delete_item(int, char *, char *)
176  *
177  */
178         sync_agent_da_return_e sync_agent_plugin_delete_item(int account_id, char *folder_id, char *item_id);
179
180 /**
181  * API to delete item from service storage
182  *
183  * @param[in]   item_id service id of item expected to be deleted
184  * @param[in]   count   count of service item id expected to be deleted
185  *
186  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
187  *
188  * @par Since:
189  *
190  *
191  * @see sync_agent_plugin_delete_bulk_item(int *, int)
192  *
193  */
194         sync_agent_da_return_e sync_agent_plugin_delete_bulk_item(int *item_id, int count);
195
196
197 /**
198  * API to delete all items from service storage
199  *
200  * @param[in] account_id service account id
201  *
202  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
203  *
204  * @par Since:
205  *
206  *
207  * @see sync_agent_plugin_delete_all_items(int)
208  *
209  */
210         sync_agent_da_return_e sync_agent_plugin_delete_all_items(int account_id);
211
212 /**
213  * API to get item from service storage
214  *
215  * @param[in]   account_id service account id
216  * @param[in]   folder_id service folder id
217  * @param[in]   item_id expected to get service item id
218  * @param[in]   data as returned by sync_agent_plugin_get_item() - success : item info, error : NULL
219  *
220  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
221  *
222  * @par Since:
223  *
224  *
225  * @see sync_agent_plugin_get_item(int, char *, char *, void **)
226  *
227  */
228         sync_agent_da_return_e sync_agent_plugin_get_item(int account_id, char *folder_id, char *item_id, void **data);
229
230 /**
231  * API to insert folder into service storage
232  *
233  * @param[in]   account_id service account id
234  * @param[in]   folder_name folder name
235  * @param[in] folder_type folder type
236  * @param[in] folder_id as returned by sync_agent_plugin_add_folder() - success : id of the newly folder added to the service, fail : NULL
237  *
238  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
239  *
240  * @par Since:
241  *
242  *
243  * @see sync_agent_plugin_add_folder(int, char *, int, char **)
244  *
245  */
246         sync_agent_da_return_e sync_agent_plugin_add_folder(int account_id, char *folder_name, int folder_type, char **folder_id);
247
248 /**
249  * API to delete folder from service storage
250  *
251  * @param[in]   account_id service account id
252  * @param[in]   folder_id service folder id
253  *
254  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
255  *
256  * @par Since:
257  *
258  *
259  * @see sync_agent_plugin_delete_folder(int, char *)
260  *
261  */
262         sync_agent_da_return_e sync_agent_plugin_delete_folder(int account_id, char *folder_id);
263
264 /**
265  * API to get folder info from service storage
266  *
267  * @param[in] account_id service account id
268  * @param[in] folder_id service folder id
269  * @param[in]   out_folder_name as returned by sync_agent_plugin_get_folder() - success : folder name, fail : NULL
270  * @param[in]   out_folder_type as returned by sync_agent_plugin_get_folder() - success : folder type, fail : -1
271  *
272  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
273  *
274  * @par Since:
275  *
276  *
277  * @see sync_agent_plugin_get_folder(int, char *, char **, int *)
278  *
279  */
280         sync_agent_da_return_e sync_agent_plugin_get_folder(int account_id, char *folder_id, char **out_folder_name, int *out_folder_type);
281
282 /**
283  * API to execute data into service
284  *
285  * @param[in]   account_id service account id
286  * @param[in]   execute_key execute key
287  * @param[in]   execute_values execute values
288  * @param[in]   result as returned by sync_agent_plugin_execute() -     extension result info
289  *
290  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
291  *
292  * @par Since:
293  *
294  *
295  * @see sync_agent_plugin_execute(int, const char *, void *, void **)
296  *
297  */
298         sync_agent_da_return_e sync_agent_plugin_execute(int account_id, const char *execute_key, void *execute_values, void **result);
299
300 /**
301  * API to get item used count
302  *
303  * @return current_item_count on success, negative value on error
304  *
305  * @par Since:
306  *
307  *
308  * @see sync_agent_plugin_get_used_item_count()
309  *
310  */
311         int sync_agent_plugin_get_used_item_count(void);
312
313 /**
314  * API to get exdate item count for EXDATE TYPE data of calendar
315  *
316  * @return current_item_count on success, negative value on error
317  *
318  * @par Since:
319  *
320  *
321  * @see sync_agent_plugin_get_deleted_exdate_item_count()
322  *
323  */
324         int sync_agent_plugin_get_deleted_exdate_item_count(void);
325
326 /**
327  * API to get exdate item count for EXDATE TYPE data of calendar
328  *
329  * @return current_item_count on success, negative value on error
330  *
331  * @par Since:
332  *
333  *
334  * @see sync_agent_plugin_is_exist_exdate_item()
335  *
336  */
337         sync_agent_da_return_e sync_agent_plugin_is_exist_exdate_item(const char *fw_parent_id, const char *child_vcalendar);
338
339 /**
340  * API to update the exdate parent item data of calendar
341  *
342  * @return void
343  *
344  *
345  * @see sync_agent_plugin_construct_exdate_parent_item()
346  *
347  */
348         void sync_agent_plugin_construct_exdate_parent_item(char *parent_service_id);
349
350
351 /**
352  * API to get item used count for folder
353  *
354  * @param[in] account_id service account id
355  * @param[in]   folder_id service folder id
356  *
357  * @return current_item_count on success, negative value on error
358  *
359  * @par Since:
360  *
361  *
362  * @see sync_agent_plugin_get_used_item_count_for_folder(int, char *)
363  *
364  */
365         int sync_agent_plugin_get_used_item_count_for_folder(int account_id, char *folder_id);
366
367 /**
368  * API to get folder id list of a account
369  *
370  * @param[in]   account_id service account id
371  * @param[in]   folder_count as returned by sync_agent_plugin_get_folder_id_list() - success : folder count,    fail or not exist : 0
372  * @param[in] folder_type_list as returned by sync_agent_plugin_get_folder_id_list() - success : list,  fail or not exist : NULL
373  *
374  * @return folder_id_list on success, NULL on error or not exist
375  *
376  * @par Since:
377  *
378  *
379  * @see sync_agent_plugin_get_folder_id_list(int, int *, int **)
380  *
381  */
382         char **sync_agent_plugin_get_folder_id_list(int account_id, int *folder_count, int **folder_type_list);
383
384 /**
385  * API to get all account id list that service has currently
386  *
387  * @param[in] count as returned by sync_agent_plugin_get_account_id_list() - success : count of account id,     fail or not exist : 0
388  * @return account_id_list on success, NULL on fail or not exist
389  *
390  * @par Since:
391  *
392  *
393  * @see sync_agent_plugin_get_account_id_list(int *)
394  *
395  */
396         int *sync_agent_plugin_get_account_id_list(int *count);
397
398 /**
399  * API to write data store items to file
400  *
401  * @param[in] account_id service account id
402  * @param[in] file_path as returned by sync_agent_plugin_backup_service_items_to_file() - written file path
403  *
404  * @return SYNC_AGENT_DA_SUCCESS on success, minus value on error
405  *
406  * @par Since:
407  *
408  *
409  * @see sync_agent_plugin_backup_service_items_to_file(int, char **)
410  *
411  */
412         sync_agent_da_return_e sync_agent_plugin_backup_service_items_to_file(int account_id, char **file_path);
413
414 /**
415  * API to add file wrote item to data store
416  *
417  * @param[in] account_id service account id
418  * @param[in] file_path file path
419  *
420  * @return SYNC_AGENT_DA_SUCCESS on success, minus value on error
421  *
422  * @par Since:
423  *
424  *
425  * @see sync_agent_plugin_restore_service_items_from_file(int, const char *)
426  *
427  */
428         sync_agent_da_return_e sync_agent_plugin_restore_service_items_from_file(int account_id, const char *file_path);
429
430 /**
431  * API to get added item list after specific point
432  *
433  * @param[in] account_id service account id
434  * @param[in]   folder_id service folder id
435  * @param[in]   changepoint     specific point
436  * @param[in] changeCount as returned by sync_agent_plugin_get_changed_item_for_folder_add() - success : added item count, fail or not exist : NULL
437  *
438  * @return added_item_info_list (if exist) on success, NULL on error or not exist
439  *
440  * @par Since:
441  *
442  *
443  * @see sync_agent_plugin_get_changed_item_for_folder_add(int, const char *, int, int *)
444  *
445  */
446         sync_agent_plugin_item_node_s *sync_agent_plugin_get_changed_item_for_folder_add(int account_id, const char *folder_id, int changepoint, int *changeCount);
447
448 /**
449  * API to get deleted item list after specific point
450  *
451  * @param[in] account_id service account id
452  * @param[in]   folder_id service folder id
453  * @param[in]   changepoint specific point
454  * @param[in]   changeCount     as returned by sync_agent_plugin_get_changed_item_for_folder_delete() - success : deleted item count, fail or not exist : NULL
455  *
456  * @return deleted_item_info_list       (if exist) on success, NULL on error or not exist
457  *
458  * @par Since:
459  *
460  *
461  * @see sync_agent_plugin_get_changed_item_for_folder_delete(int, const char *, int, int *)
462  *
463  */
464         sync_agent_plugin_item_node_s *sync_agent_plugin_get_changed_item_for_folder_delete(int account_id, const char *folder_id, int changepoint, int *changeCount);
465
466 /**
467  * API to get updated item list after specific point
468  *
469  * @param[in]   account_id service account id
470  * @param[in]   folder_id service folder id
471  * @param[in]   changepoint specific point
472  * @param[in]   changeCount as returned by sync_agent_plugin_get_changed_item_for_folder_update() - success : updated item count, fail or not exist : NULL
473  *
474  * @return updated_item_info_list       (if exist) on success, NULL on error or not exist
475  *
476  * @par Since:
477  *
478  *
479  * @see sync_agent_plugin_get_changed_item_for_folder_update(int, const char *, int, int *)
480  *
481  */
482         sync_agent_plugin_item_node_s *sync_agent_plugin_get_changed_item_for_folder_update(int account_id, const char *folder_id, int changepoint, int *changeCount);
483
484 /**
485  * API to get last storage change point information
486  *
487  * @return last storage changing point information on success, 0 on error
488  *
489  * @par Since:
490  *
491  *
492  * @see sync_agent_plugin_get_last_change_point()
493  *
494  */
495         int sync_agent_plugin_get_last_change_point(void);
496
497 /**
498  * API to check notification for the storage change
499  *
500  * @param[in] data user data
501  *
502  * @par Since:
503  *
504  *
505  * @see sync_agent_plugin_start_listening_change_noti(void *)
506  *
507  */
508         void sync_agent_plugin_start_listening_change_noti(void *data);
509
510 /**
511  * API to set callback function to handle added item to storage
512  *
513  * @param[in] callback callback function - this function is provided from sync-agent-framework
514  *
515  * @par Since:
516  *
517  *
518  * @see data_connector_resource.h
519  *
520  */
521         void sync_agent_plugin_set_callback_add_item(sync_agent_add_item_cb_plugin callback);
522
523 /**
524  * API to set callback function to handle deleted item to storage
525  *
526  * @param[in] callback callback function - this function is provided from sync-agent-framework
527  *
528  * @par Since:
529  *
530  *
531  * @see data_connector_resource.h
532  *
533  */
534         void sync_agent_plugin_set_callback_delete_item(sync_agent_del_item_cb_plugin callback);
535
536 /**
537  * API to set callback function to handle updated item to storage
538  *
539  * @param[in] callback callback function - this function is provided from sync-agent-framework
540  *
541  * @par Since:
542  *
543  *
544  * @see data_connector_resource.h
545  *
546  */
547         void sync_agent_plugin_set_callback_update_item(sync_agent_update_item_cb_plugin callback);
548
549 /**
550  * API to set callback function to get service account id list mapped sync-agent-framework account id
551  *
552  * @param[in]   callback callback function - this function is provided from sync-agent-framework
553  *
554  * @par Since:
555  *
556  *
557  * @see data_connector_resource.h
558  *
559  */
560         void sync_agent_plugin_set_callback_get_account_id_list(sync_agent_get_account_id_list_cb_plugin callback);
561
562 /**
563  * API to set callback function to handle child item delete from storage
564  *
565  * @param[in] callback callback function - this function is provided from sync-agent-framework
566  *
567  * @par Since:
568  *
569  *
570  * @see data_connector_resource.h
571  *
572  */
573         void sync_agent_plugin_set_callback_delete_child_item(sync_agent_del_child_item_cb_plugin callback);
574
575 /**
576  * API to get max item count per folder
577  *
578  * @param[in] folder_type folder type provided plugin
579  *
580  * @return max item count on success, -1 on error
581  *
582  * @par Since:
583  *
584  *
585  * @see sync_agent_plugin_get_max_item_count(int)
586  */
587         int sync_agent_plugin_get_max_item_count(int folder_type);
588
589 /**
590  * API to get service data's available field length
591  *
592  * @param[in] field_name field_name provided data-connector plugin
593  * @param[in]   child_field_name child field name provided data-connector plugin
594  *
595  * @return available_field_length       on success, -1 on error
596  *
597  * @par Since:
598  *
599  *
600  * @see sync_agent_plugin_get_max_field_length(int, int)
601  *
602  */
603         int sync_agent_plugin_get_max_field_length(int field_name, int child_field_name);
604
605 /**
606  * API to get service data's available field count
607  *
608  * @param[in] field_name field_name provided data-connector plugin
609  * @param[in]   child_field_name child field name provided data-connector plugin
610  *
611  * @return available_field_count on success, -1 on error
612  *
613  * @par Since:
614  *
615  *
616  * @see sync_agent_plugin_get_max_field_count(int, int)
617  *
618  */
619         int sync_agent_plugin_get_max_field_count(int field_name, int child_field_name);
620
621 /**
622  * API to get service data's available field value's domain
623  *
624  * @param[in]   field_name field name provided data-connector plugin
625  * @param[in]   child_field_name child field name provided data-connector plugin
626  * @param[in]   str_val as returned by sync_agent_plugin_get_field_value() - when domain value is string
627  * @param[in]   num_val1 as returned by sync_agent_plugin_get_field_value() - when domain value is integer (ex minimum value)
628  * @param[in]   num_val2 as returned by sync_agent_plugin_get_field_value() - when domain value is integer (ex maximum value)
629  *
630  * @return 1 on success, -1 on error
631  *
632  * @par Since:
633  *
634  *
635  * @see sync_agent_plugin_get_field_value(int, int, char **, int *, int *)
636  *
637  */
638         int sync_agent_plugin_get_field_value(int field_name, int child_field_name, char **str_val, int *num_val1, int *num_val2);
639
640 /**
641  * API to get service data's available field count
642  *
643  * @param[in]   feature feature provided data-connector plugin
644  *
645  * @return 1 : support, 0 : not support on success, -1 on error
646  *
647  * @par Since:
648  *
649  *
650  * @see sync_agent_plugin_get_is_support_feature(int)
651  *
652  */
653         int sync_agent_plugin_get_is_support_feature(int feature);
654
655 /**
656  * API to get max name length of sim card
657  *
658  * @return max name length or default value
659  *
660  * @par Since:
661  *
662  *
663  * @see sync_agent_plugin_get_info_sim_contact_max_name_length()
664  *
665  */
666
667 int sync_agent_plugin_get_info_sim_contact_max_name_length(void);
668
669 /**
670  * API to get max number length of sim card
671  *
672  * @return max number length or default value
673  *
674  * @par Since:
675  *
676  *
677  * @see sync_agent_plugin_get_info_sim_contact_max_name_length()
678  *
679  */
680
681 int sync_agent_plugin_get_info_sim_contact_max_number_length(void);
682
683 /**
684  * API to get max email length of sim card
685  *
686  * @return max email length or default value
687  *
688  * @par Since:
689  *
690  *
691  * @see sync_agent_plugin_get_info_sim_contact_max_name_length()
692  *
693  */
694
695 int sync_agent_plugin_get_info_sim_contact_max_email_length(void);
696
697 /**
698  * API to get empty count of sim card
699  *
700  * @return get empty count
701  *
702  * @par Since:
703  *
704  *
705  * @see sync_agent_plugin_get_sim_contact_empty_count()
706  *
707  */
708
709 int sync_agent_plugin_get_info_sim_contact_empty_count(void);
710
711 /**
712  * API to get empty number count of sim card
713  *
714  * @return get empty number count
715  *
716  * @par Since:
717  *
718  *
719  * @see sync_agent_plugin_get_sim_contact_empty_number_count()
720  *
721  */
722
723 int sync_agent_plugin_get_info_sim_contact_empty_number_count(void);
724
725 /**
726  * API to get empty email count of sim card
727  *
728  * @return get empty email count
729  *
730  * @par Since:
731  *
732  *
733  * @see sync_agent_plugin_get_sim_contact_empty_email_count()
734  *
735  */
736
737 int sync_agent_plugin_get_info_sim_contact_empty_email_count(void);
738
739 /**
740  * API to get addressbook ID of sim card
741  *
742  * @return get addressbook ID
743  *
744  * @par Since:
745  *
746  *
747  * @see sync_agent_plugin_get_info_sim_contact_addressbook_id()
748  *
749  */
750
751 int sync_agent_plugin_get_info_sim_contact_addressbook_id(void);
752
753 /**
754  * API to get contact item ID of sim card
755  *
756  * @param[in]           addressbook id of sim contact
757  * @param[out]  contact item ID of sim card
758  *
759  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
760  *
761  * @par Since:
762  *
763  *
764  * @see sync_agent_plugin_get_info_sim_contact_item_id()
765  *
766  */
767
768 sync_agent_da_return_e sync_agent_plugin_get_info_sim_contact_item_id(int sim_addressbook_id, GList **item_id);
769
770 /**
771  * API to get contact item ID of sim card
772  *
773  * @param[in]           contact item ID of sim card
774  * @param[out]  data of sim contact
775  *
776  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
777  *
778  * @par Since:
779  *
780  *
781  * @see sync_agent_plugin_get_info_sim_contact_item()
782  *
783  */
784
785 sync_agent_da_return_e sync_agent_plugin_get_info_sim_contact_item(int item_id, char **data);
786
787 /**
788  * API to add sim contact
789  *
790  * @param[in]           contact addressbook ID of sim card
791  * @param[out]  contact item ID of sim card
792  * @param[in]           data of sim contact
793  *
794  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
795  *
796  * @par Since:
797  *
798  *
799  * @see sync_agent_plugin_add_sim_contact_item()
800  *
801  */
802
803 sync_agent_da_return_e sync_agent_plugin_add_sim_contact_item(int sim_addressbook_id, int **item_id, char *data);
804
805 /**
806  * API to delete sim contact
807  *
808  * @param[in] sim contact id
809  * @param[in] sim contact data
810  *
811  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
812  *
813  * @par Since:
814  *
815  *
816  * @see sync_agent_plugin_write_sim_contact_item()
817  *
818  */
819
820 sync_agent_da_return_e sync_agent_plugin_write_sim_contact_item(int item_id, char *data);
821
822 /**
823  * API to delete sim contact
824  *
825  * @param[in] sim contact ID
826  *
827  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
828  *
829  * @par Since:
830  *
831  *
832  * @see sync_agent_plugin_delete_sim_contact_item()
833  *
834  */
835
836 sync_agent_da_return_e sync_agent_plugin_delete_sim_contact_item(int item_id);
837
838 /**
839  * API to add item
840  *
841  * @param[in]           data
842  * @param[in]           count of data
843  *
844  * @return SYNC_AGENT_DA_SUCCESS on success, otherwise error
845  *
846  * @par Since:
847  *
848  *
849  * @see sync_agent_plugin_add_async_item()
850  *
851  */
852
853 sync_agent_da_return_e sync_agent_plugin_add_async_item(GList *data, int count);
854
855 /**
856  *      @}
857  */
858 #ifdef __cplusplus
859 }
860 #endif                          /* __cplusplus */
861 #endif                          /* DATA_CONNECTOR_INTERFACE_H_ */