00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00032
00033 #ifndef _SML_DATA_SYNC_API_STANDARD_H_
00034 #define _SML_DATA_SYNC_API_STANDARD_H_
00035
00036 #include <libsyncml/syncml.h>
00037
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042
00045 typedef enum SmlDataSyncEventType {
00046 SML_DATA_SYNC_EVENT_ERROR = 0,
00047 SML_DATA_SYNC_EVENT_CONNECT = 1,
00048 SML_DATA_SYNC_EVENT_GOT_ALL_ALERTS = 2,
00049 SML_DATA_SYNC_EVENT_GOT_ALL_CHANGES = 3,
00050 SML_DATA_SYNC_EVENT_GOT_ALL_MAPPINGS = 4,
00051 SML_DATA_SYNC_EVENT_DISCONNECT = 5,
00052 SML_DATA_SYNC_EVENT_FINISHED = 6,
00053 } SmlDataSyncEventType;
00054
00055 typedef struct SmlDataSyncObject SmlDataSyncObject;
00056
00057
00058
00059 SmlDataSyncObject *smlDataSyncNew(
00060 SmlSessionType dsType,
00061 SmlTransportType tspType,
00062 SmlError **error);
00063 void smlDataSyncObjectRef(SmlDataSyncObject *dsObject);
00064 SmlBool smlDataSyncSetOption(
00065 SmlDataSyncObject *dsObject,
00066 const char *name,
00067 const char *value,
00068 SmlError **error);
00069 SmlBool smlDataSyncAddDatastore(SmlDataSyncObject *dsObject,
00070 const char *contentType,
00071 const char *target,
00072 const char *source,
00073 SmlError **error);
00074
00075
00076
00077 SmlBool smlDataSyncInit(SmlDataSyncObject *dsObject, SmlError **error);
00078 SmlBool smlDataSyncRun(SmlDataSyncObject *dsObject, SmlError **error);
00079
00080
00081
00082 SmlBool smlDataSyncAddChange(
00083 SmlDataSyncObject *dsObject,
00084 const char *source,
00085 SmlChangeType type,
00086 const char *name,
00087 const char *data,
00088 unsigned int size,
00089 void *userdata,
00090 SmlError **error);
00091 SmlBool smlDataSyncSendChanges(SmlDataSyncObject *dsObject, SmlError **error);
00092 SmlBool smlDataSyncAddMapping(
00093 SmlDataSyncObject *dsObject,
00094 const char *source,
00095 const char *remoteID,
00096 const char *localID,
00097 SmlError **error);
00098
00112 SmlBool smlDataSyncAbort(
00113 SmlDataSyncObject *dsObject,
00114 SmlError **error);
00115
00125 const SmlLocation *smlDataSyncGetTarget(
00126 SmlDataSyncObject *dsObject,
00127 SmlError **error);
00128
00129
00130
00131 void smlDataSyncObjectUnref(SmlDataSyncObject **dsObject);
00132
00133 #ifdef __cplusplus
00134 }
00135 #endif
00136
00137 #endif
00138