Content is read and written in MIME format. The DataStore indicates the MIME types it supports in its capabilities. The Change Manager always reads and writes content that is formatted in one the DataStore's supported types, although reads and writes may use different types.
If the DataStore registered support for SQLite, the Change Manager starts a transaction and obtains an EXCLUSIVE lock before writing objects. The Change Manager ends the transaction after ALL objects have been written. This avoids the additional journal overhead incurred when objects are written in separate transactions.
Functions | |
| alp_status_t | alp_hsds_add (AlpHsDataStoreHandle hDs, AlpHsObjectTypePtr pSrcType, bool isReferenceable, AlpLuid newId, AlpLuid *pComponentIds, size_t componentIdSize, size_t offset, bool moreData, size_t bufSize, const _TCHAR *pBuf) |
| Add an object. | |
| alp_status_t | alp_hsds_copy (AlpHsDataStoreHandle hDs, AlpLuid srcId, AlpLuid tgtId) |
| Copy an object. | |
| alp_status_t | alp_hsds_delete (AlpHsDataStoreHandle hDs, AlpLuid id) |
| Delete an object. | |
| alp_status_t | alp_hsds_is_refresh_required (AlpHsDataStoreHandle hDs, bool *pIsRequired) |
| alp_status_t | alp_hsds_purge (AlpHsDataStoreHandle hDs) |
| alp_status_t | alp_hsds_read (AlpHsDataStoreHandle hDs, AlpHsObjectTypePtr pTgtType, AlpLuid id, size_t offset, bool *moreData, size_t *pBufSize, _TCHAR *pBuf) |
| Read an object's content. | |
| alp_status_t | alp_hsds_rekey (AlpHsDataStoreHandle hDs, AlpLuid oldId, AlpLuid newId) |
| Assign a new id to an existing object. | |
| alp_status_t | alp_hsds_replace (AlpHsDataStoreHandle hDs, AlpHsObjectTypePtr pSrcType, AlpLuid id, size_t offset, bool moreData, size_t bufSize, const _TCHAR *pBuf) |
| Replace an object's content. | |
| alp_status_t | alp_hsds_update (AlpHsDataStoreHandle hDs, AlpHsObjectTypePtr pSrcType, AlpLuid id, size_t offset, bool moreData, size_t bufSize, const _TCHAR *pBuf) |
| Update an object's content. | |
|
||||||||||||||||||||||||||||||||||||||||||||
|
Add an object. The HotSync Change Manager calls this function repeatedly to iteratively add a new object to a DataStore. Each call specifies the next bufSize bytes of the new object's content formatted according to the specified srcType.
|
|
||||||||||||||||
|
Copy an object. The HotSync Change Manager calls this function to copy an existing object's content to a new object. This is a rare operation that is only necessary when the object's current content is required for an ongoing synchronization session.
|
|
||||||||||||
|
Delete an object. The HotSync Change Manager calls this function to delete an object from a DataStore.
|
|
||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
Read an object's content. The HotSync Change Manager calls this function repeatedly to iteratively read an object's content from a DataStore. Each call should return the next pBufSize bytes of the object's content formatted according to the specified tgtType. When a read attempt fails due to an active or pending writer, this function should return ALP_HOTSYNC_DATASTORE_BUSY. This will cause the Change Manager to retry the read.
|
|
||||||||||||||||
|
Assign a new id to an existing object. The HotSync Change Manager calls this function to assign a new id to an existing object. This is a rare operation that is used to retain the object's referenceable id.
|
|
||||||||||||||||||||||||||||||||
|
Replace an object's content. The HotSync Change Manager calls this function repeatedly to iteratively replace the content for an object that is already present in the DataStore. Each call specifies the next bufSize bytes of the object's new content formatted according to the specified srcType.
|
|
||||||||||||||||||||||||||||||||
|
Update an object's content. The HotSync Change Manager calls this function repeatedly to iteratively update the content for an object that is already present in the DataStore. Each call specifies the next bufSize bytes of the object's changed content formatted according to the specified srcType. Unlike a replace, an update does not replace the entire object's content; instead only the specific fields present in the input content are replaced; the value for other fields remains unchanged.
|
Copyright © 1999-2008 ACCESS CO., LTD. All rights reserved.