9#include "AgoraRefPtr.h"
12#include <api/aosl_ref.h>
68 virtual void onCollectionEvent(
const char* previousJson,
const char* curJson,
const char* collection,
const char* docName,
71 virtual void onDataException(
const char* databaseName,
const char* collectionName) = 0;
97 virtual int32_t
login(
const char* token,
const char* channelName,
user_id_t userId,
syncClientCallback callback,
void* userData, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
98 virtual int32_t
queryDoc(
const char* database,
const char* coll,
const char* range_start,
const char* range_end, int64_t limits,
bool doc_only,
bool count_only,
queryDocCallback callback,
void* userData, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
99 virtual int32_t
logout(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
100 virtual int32_t
renewToken(
const char* token, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
107 const char** readable,
int readSize,
113 virtual int32_t
subscribe(
const char* database,
const char* collection,
115 virtual int32_t
unsubscribe(
const char* database,
const char* collection, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
116 virtual int32_t
addReadable(
const char* database,
const char* coll,
const char* readable, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
117 virtual int32_t
removeReadable(
const char* database,
const char* coll,
const char* readable, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
118 virtual int32_t
putDoc(
const char* database,
const char* collection,
119 const char* docName, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
120 virtual int32_t
deleteDoc(
const char* database,
const char* collection,
121 const char* docName, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
122 virtual int32_t
getDocs(
const char* database,
const char* collection,
126 virtual int32_t
putDocValue(
const char* database,
const char* collection,
127 const char* docName,
const char* jsonValue, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
129 const char* docName,
const char* path,
130 const char* jsonValue, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
132 const char* docName,
const char* path, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
133 virtual int32_t
deleteDocValues(
const char* database,
const char* collection,
const char* docName,
134 const char** path, uint32_t pathSize,
135 aosl_ref_t ares = AOSL_REF_INVALID) = 0;
136 virtual int32_t
getDocValue(
const char* database,
const char* collection,
138 virtual int32_t
hasPath(
const char* database,
const char* collection,
139 const char* docName,
const char* path,
bool& result) = 0;
140 virtual int32_t
keepAliveDoc(
const char* database,
const char* collection,
141 const char* docName, uint32_t ttl, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
146 virtual int32_t
shakehand(aosl_ref_t ares = AOSL_REF_INVALID) = 0;
Definition AgoraRefPtr.h:31
Definition NGIAgoraSyncClient.h:89
virtual int32_t unsubscribe(const char *database, const char *collection, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual ~ISyncClient()
Definition NGIAgoraSyncClient.h:91
virtual bool isOpPermission(const char *database, const char *collection, const char *docName, OP_Privilege op)=0
virtual int32_t logout(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t keepAliveDoc(const char *database, const char *collection, const char *docName, uint32_t ttl, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t createCollection(const char *database, const char *collection, const char **readable, int readSize, collectionOpCallback callback, void *userData, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t putDocValue(const char *database, const char *collection, const char *docName, const char *jsonValue, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t updateDocValue(const char *database, const char *collection, const char *docName, const char *path, const char *jsonValue, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t deleteDoc(const char *database, const char *collection, const char *docName, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t renewToken(const char *token, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t deleteDocValue(const char *database, const char *collection, const char *docName, const char *path, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t removeReadable(const char *database, const char *coll, const char *readable, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t putDoc(const char *database, const char *collection, const char *docName, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t hasPath(const char *database, const char *collection, const char *docName, const char *path, bool &result)=0
virtual int32_t subscribe(const char *database, const char *collection, util::AString &snapshotJson)=0
virtual int32_t connectDatabase(const char *database, dataBaseOpCallback callback, void *userData, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t shakehand(aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t login(const char *token, const char *channelName, user_id_t userId, syncClientCallback callback, void *userData, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t deleteDocValues(const char *database, const char *collection, const char *docName, const char **path, uint32_t pathSize, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t registerSyncClientObserver(ISyncClientObserver *observer, void(*safeDeleter)(ISyncClientObserver *)=OPTIONAL_NULLPTR, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t disconnectDatabase(const char *database, dataBaseOpCallback callback, void *userData, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t unregisterSyncClientObserver(ISyncClientObserver *observer)=0
virtual int32_t addReadable(const char *database, const char *coll, const char *readable, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t queryDoc(const char *database, const char *coll, const char *range_start, const char *range_end, int64_t limits, bool doc_only, bool count_only, queryDocCallback callback, void *userData, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t deleteCollection(const char *database, const char *collection, collectionOpCallback callback, void *userData, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int32_t getDocs(const char *database, const char *collection, util::AString *docNames, uint32_t docSize)=0
virtual int32_t getDocValue(const char *database, const char *collection, const char *docName, util::AString &jsonValue)=0
Definition NGIAgoraSyncClient.h:61
virtual void onCollectionEvent(const char *previousJson, const char *curJson, const char *collection, const char *docName, const CollectionEvent *events, int eventSize)=0
virtual ~ISyncClientObserver()
Definition NGIAgoraSyncClient.h:72
virtual void onDatabaseEvent(const char *databaseName, SyncClientError error)=0
virtual void onDataException(const char *databaseName, const char *collectionName)=0
Definition IAgoraService.h:72
OP_Privilege
Definition NGIAgoraSyncClient.h:53
@ OP_WRITE
Definition NGIAgoraSyncClient.h:55
@ OP_READ
Definition NGIAgoraSyncClient.h:54
void(* dataBaseOpCallback)(SyncClientError, const char *, void *)
Definition NGIAgoraSyncClient.h:34
void(* queryDocCallback)(SyncClientError error, const char *resultJson, size_t count, bool more, void *userData)
Definition NGIAgoraSyncClient.h:36
void(* collectionOpCallback)(SyncClientError, const char *, const char *, void *)
Definition NGIAgoraSyncClient.h:35
SyncClientError
Definition NGIAgoraSyncClient.h:17
@ kCollectionNotCreated
Definition NGIAgoraSyncClient.h:25
@ kDisconnectDatabaseFailed
Definition NGIAgoraSyncClient.h:22
@ kOk
Definition NGIAgoraSyncClient.h:18
@ kDatabaseNotConnected
Definition NGIAgoraSyncClient.h:23
@ kCollectionExisted
Definition NGIAgoraSyncClient.h:26
@ kConnectSyncFailed
Definition NGIAgoraSyncClient.h:20
@ kConnectDatabaseFailed
Definition NGIAgoraSyncClient.h:21
@ kNotLoggedIn
Definition NGIAgoraSyncClient.h:28
@ kInvalidParams
Definition NGIAgoraSyncClient.h:27
@ kDocNotCreated
Definition NGIAgoraSyncClient.h:30
@ kQueryDocFailed
Definition NGIAgoraSyncClient.h:29
@ kFail
Definition NGIAgoraSyncClient.h:19
@ kCreateCollectionFailed
Definition NGIAgoraSyncClient.h:24
void(* syncClientCallback)(SyncClientError, void *)
Definition NGIAgoraSyncClient.h:33
SyncEventType
Definition NGIAgoraSyncClient.h:38
@ kToBeInserted
Definition NGIAgoraSyncClient.h:43
@ kInserted
Definition NGIAgoraSyncClient.h:39
@ kTransactionEnd
Definition NGIAgoraSyncClient.h:48
@ kTransactionBegin
Definition NGIAgoraSyncClient.h:47
@ kPut
Definition NGIAgoraSyncClient.h:40
@ kDocSyncEnd
Definition NGIAgoraSyncClient.h:49
@ kDeleted
Definition NGIAgoraSyncClient.h:41
@ kToBeDeleted
Definition NGIAgoraSyncClient.h:45
@ kInitialized
Definition NGIAgoraSyncClient.h:50
@ kToBePut
Definition NGIAgoraSyncClient.h:44
CopyableAutoPtr< IString > AString
Definition AgoraBase.h:182
Definition AgoraAtomicOps.h:21
const char * user_id_t
Definition AgoraBase.h:853
Definition NGIAgoraSyncClient.h:63
const char * path
Definition NGIAgoraSyncClient.h:65
SyncEventType type
Definition NGIAgoraSyncClient.h:64
const char * value
Definition NGIAgoraSyncClient.h:66
uint32_t compact_interval
Definition NGIAgoraSyncClient.h:85
SyncConfig()
Definition NGIAgoraSyncClient.h:86
uint32_t connection_timeout
Definition NGIAgoraSyncClient.h:83
uint32_t shakehand_interval
Definition NGIAgoraSyncClient.h:81
const char * appId
Definition NGIAgoraSyncClient.h:79