21 #ifndef _SML_DATA_SYNC_INTERNALS_H_
22 #define _SML_DATA_SYNC_INTERNALS_H_
24 #include <libsyncml/data_sync_api/standard.h>
25 #include <libsyncml/data_sync_api/callbacks.h>
27 #include <libsyncml/syncml_internals.h>
28 #include <libsyncml/sml_support.h>
30 #include <libsyncml/sml_session.h>
31 #include <libsyncml/sml_transport.h>
32 #include <libsyncml/objects/sml_auth.h>
33 #include <libsyncml/objects/sml_ds_server.h>
34 #include <libsyncml/objects/sml_devinf_obj.h>
40 typedef SmlBool (* SmlFunctionDataSyncInit) (
43 typedef SmlBool (* SmlFunctionDataSyncConnect) (
46 typedef SmlBool (* SmlFunctionTransportInit) (
49 typedef SmlBool (* SmlFunctionTransportConnect) (
65 SML_PACKAGE_RECEIVED_UNKNOWN = -3,
66 SML_PACKAGE_RECEIVED_DEVINF_REQUEST = -2,
67 SML_PACKAGE_RECEIVED_DEVINF = -1,
76 } SmlDataSyncPackageType;
79 SML_DATA_SYNC_STATE_UNKNOWN = 0,
80 SML_DATA_SYNC_STATE_NEW = 1,
81 SML_DATA_SYNC_STATE_INITIALIZED = 2,
82 SML_DATA_SYNC_STATE_CONNECTED = 3,
83 SML_DATA_SYNC_STATE_SESSION_READY = 4,
84 SML_DATA_SYNC_STATE_SENT_CHANGES = 5,
85 SML_DATA_SYNC_STATE_DISCONNECT_IN_PROGRESS = 6,
86 SML_DATA_SYNC_STATE_DISCONNECTED = 7,
87 } SmlDataSyncInternalStateType;
104 SmlAlertType alertType;
111 SmlSessionType dsType;
112 SmlTransportType tspType;
113 SmlTransportConnectionType conType;
123 GMutex *managerMutex;
127 GSourceFuncs *functions;
129 GMainContext *context;
136 SmlBool useNumberOfChanges;
137 SmlBool useTimestampAnchor;
138 SmlBool onlyLocaltime;
140 SmlBool useStringTable;
142 unsigned int maxObjSize;
143 unsigned int maxMsgSize;
145 SmlAuthType authType;
152 SmlProtocolVersion version;
155 char *fakeManufacturer;
157 char *fakeSoftwareVersion;
161 SmlDataSyncInternalStateType internalState;
163 SmlDataSyncPackageType actualPackage;
167 SmlDataSyncEventCallback eventCallback;
170 SmlDataSyncGetAlertTypeCallback getAlertTypeCallback;
171 void *getAlertTypeUserdata;
173 SmlDataSyncChangeCallback changeCallback;
174 void *changeUserdata;
176 SmlDataSyncChangeStatusCallback changeStatusCallback;
178 SmlDataSyncMappingCallback mappingCallback;
179 void *mappingUserdata;
181 SmlDataSyncGetAnchorCallback getAnchorCallback;
182 void *getAnchorUserdata;
184 SmlDataSyncSetAnchorCallback setAnchorCallback;
185 void *setAnchorUserdata;
187 SmlDataSyncWriteDevInfCallback writeDevInfCallback;
188 void *writeDevInfUserdata;
190 SmlDataSyncReadDevInfCallback readDevInfCallback;
191 void *readDevInfUserdata;
193 SmlDataSyncHandleRemoteDevInfCallback handleRemoteDevInfCallback;
194 void *handleRemoteDevInfUserdata;
198 SmlFunctionDataSyncInit funcDsInit;
199 SmlFunctionDataSyncInit funcDsConnect;
200 SmlFunctionTransportInit funcTspInit;
201 SmlFunctionTransportConnect funcTspConnect;
202 SmlDsSessionAlertCb funcDatastoreAlert;
216 void smlDataSyncSendEvent(
222 SmlBool smlDataSyncSendMap(
This object represents an OMA DS datastore.
This is the central synchronization object.
SmlDataSyncEventType
These are all possible events which the high level API sends.
This internal structure represents exactly one change.