Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
sync_client_i.h
1#pragma once
2#include "NGIAgoraSyncClient.h"
3#include <functional>
4namespace agora {
5namespace base {
6
11 public:
12 virtual void onConnectResult(bool connected) = 0;
13 virtual void onDisconnected() = 0;
14 virtual void onError(int err) = 0;
15 virtual void onDataReceived(const char* data, size_t length) = 0;
16 virtual void OnTicketRefreshed(const char* key, const char* ticket) = 0;
18};
19
20/* sync transport interface */
22 public:
23 virtual void connect(const char* token, const char* channelName, rtc::uid_t uid) = 0;
24 virtual void disconnect() = 0;
25 virtual void sendBuffer(const char* data, size_t length) = 0;
26 virtual void renewTokenWithChannelInfo(const char* token, const char* channelName, rtc::uid_t uid) {};
27 virtual void registerObserver(ISyncTransportObserver* observer) = 0;
28 virtual ~ISyncTransport() {}
29};
30typedef std::function<void(SyncClientError, const char*, size_t, bool)> QueryCallbackFunc;
31typedef std::function<void(SyncClientError, const char*)> DataBaseOpCallbackFunc;
32typedef std::function<void(SyncClientError, const char*, const char*)> CollectionOpCallbackFunc;
34 protected:
35 virtual ~ISyncClientEx() {}
36public:
37
40 virtual int32_t registerSyncClientObserverLLApiInternal(ISyncClientObserver* observer, void(*safeDeleter)(ISyncClientObserver*) = nullptr) = 0;
42 // client operations
43 virtual int32_t setRequestTimeoutLLApiInternal(const uint32_t timeout) = 0;
44 virtual int32_t setTicketLLApiInternal(const char* key, const char* ticket) = 0;
45 virtual int32_t removeTicketLLApiInternal(const char* channelId, user_id_t userId) = 0;
46 virtual int32_t renewTicketLLApiInternal(const char* key, const char* ticket) = 0;
47 virtual int32_t loginLLApiInternal(const char*token, const char* channelName, user_id_t userId, std::function<void(SyncClientError)> callback) = 0;
48 virtual int32_t queryDocLLApiInternal(const char* database, const char* coll, const char* range_start, const char* range_end, int64_t limits, bool doc_only, bool count_only, QueryCallbackFunc callback) = 0;
49 virtual int32_t logoutLLApiInternal() = 0;
50 virtual int32_t renewTokenLLApiInternal(const char* token) = 0;
51
52 // database operations
53 virtual int32_t connectDatabaseLLApiInternal(const char* database, DataBaseOpCallbackFunc callback) = 0;
54 virtual int32_t disconnectDatabaseLLApiInternal(const char* database,
55 DataBaseOpCallbackFunc callback) = 0;
56 virtual int32_t createCollectionLLApiInternal(const char* database, const char* collection,
57 const char** readable, int readSize,
58 CollectionOpCallbackFunc callback) = 0;
59 virtual int32_t deleteCollectionLLApiInternal(const char* database, const char* collection,
60 CollectionOpCallbackFunc callback) = 0;
61
62 // collection operations
63 virtual int32_t subscribeLLApiInternal(const char* database, const char* collection,
64 util::AString& snapshotJson) = 0;
65 virtual int32_t unsubscribeLLApiInternal(const char* database, const char* collection) = 0;
66 virtual int32_t addReadableLLApiInternal(const char* database, const char* coll, const char* readable) = 0;
67 virtual int32_t removeReadableLLApiInternal(const char* database, const char* coll, const char* readable) = 0;
68 virtual int32_t putDocLLApiInternal(const char* database, const char* collection,
69 const char* docName) = 0;
70 virtual int32_t deleteDocLLApiInternal(const char* database, const char* collection,
71 const char* docName) = 0;
72 virtual int32_t getDocsLLApiInternal(const char* database, const char* collection,
73 util::AString* docNames, uint32_t docSize) = 0;
74
75 // document operations
76 virtual int32_t putDocValueLLApiInternal(const char* database, const char* collection,
77 const char* docName, const char* jsonValue) = 0;
78 virtual int32_t updateDocValueLLApiInternal(const char* database, const char* collection,
79 const char* docName, const char* path,
80 const char* jsonValue) = 0;
81 virtual int32_t deleteDocValueLLApiInternal(const char* database, const char* collection,
82 const char* docName, const char* path) = 0;
83 virtual int32_t deleteDocValuesLLApiInternal(const char* database, const char* collection,
84 const char* docName, const char** path,
85 uint32_t pathSize) = 0;
86 virtual int32_t getDocValueLLApiInternal(const char* database, const char* collection,
87 const char* docName, util::AString& jsonValue) = 0;
88 virtual int32_t hasPathLLApiInternal(const char* database, const char* collection,
89 const char* docName, const char* path, bool& result) = 0;
90 virtual int32_t keepAliveDocLLApiInternal(const char* database, const char* collection,
91 const char* docName, uint32_t ttl) = 0;
92 virtual bool isOpPermissionLLApiInternal(const char* database, const char* collection,
93 const char* docName, OP_Privilege op) = 0;
94
95 // sync operations
96 virtual int32_t shakehandLLApiInternal() = 0;
97};
98
99}
100}
Definition sync_client_i.h:33
virtual int32_t createCollectionLLApiInternal(const char *database, const char *collection, const char **readable, int readSize, CollectionOpCallbackFunc callback)=0
virtual int32_t registerExternalTransportLLApiInternal(ISyncTransport *transport)=0
virtual int32_t getDocsLLApiInternal(const char *database, const char *collection, util::AString *docNames, uint32_t docSize)=0
virtual int32_t putDocLLApiInternal(const char *database, const char *collection, const char *docName)=0
virtual int32_t unsubscribeLLApiInternal(const char *database, const char *collection)=0
virtual int32_t deleteDocValueLLApiInternal(const char *database, const char *collection, const char *docName, const char *path)=0
virtual int32_t subscribeLLApiInternal(const char *database, const char *collection, util::AString &snapshotJson)=0
virtual int32_t getDocValueLLApiInternal(const char *database, const char *collection, const char *docName, util::AString &jsonValue)=0
virtual int32_t disconnectDatabaseLLApiInternal(const char *database, DataBaseOpCallbackFunc callback)=0
virtual int32_t unregisterSyncClientObserverLLApiInternal(ISyncClientObserver *observer)=0
virtual int32_t removeReadableLLApiInternal(const char *database, const char *coll, const char *readable)=0
virtual int32_t renewTicketLLApiInternal(const char *key, const char *ticket)=0
virtual int32_t hasPathLLApiInternal(const char *database, const char *collection, const char *docName, const char *path, bool &result)=0
virtual ~ISyncClientEx()
Definition sync_client_i.h:35
virtual int32_t shakehandLLApiInternal()=0
virtual int32_t deleteCollectionLLApiInternal(const char *database, const char *collection, CollectionOpCallbackFunc callback)=0
virtual int32_t logoutLLApiInternal()=0
virtual int32_t unregisterExternalTransportLLApiInternal(ISyncTransport *transport)=0
virtual int32_t deleteDocValuesLLApiInternal(const char *database, const char *collection, const char *docName, const char **path, uint32_t pathSize)=0
virtual int32_t registerSyncClientObserverLLApiInternal(ISyncClientObserver *observer, void(*safeDeleter)(ISyncClientObserver *)=nullptr)=0
virtual int32_t queryDocLLApiInternal(const char *database, const char *coll, const char *range_start, const char *range_end, int64_t limits, bool doc_only, bool count_only, QueryCallbackFunc callback)=0
virtual int32_t updateDocValueLLApiInternal(const char *database, const char *collection, const char *docName, const char *path, const char *jsonValue)=0
virtual int32_t deleteDocLLApiInternal(const char *database, const char *collection, const char *docName)=0
virtual int32_t setTicketLLApiInternal(const char *key, const char *ticket)=0
virtual int32_t removeTicketLLApiInternal(const char *channelId, user_id_t userId)=0
virtual int32_t renewTokenLLApiInternal(const char *token)=0
virtual int32_t setRequestTimeoutLLApiInternal(const uint32_t timeout)=0
virtual int32_t putDocValueLLApiInternal(const char *database, const char *collection, const char *docName, const char *jsonValue)=0
virtual int32_t loginLLApiInternal(const char *token, const char *channelName, user_id_t userId, std::function< void(SyncClientError)> callback)=0
virtual int32_t keepAliveDocLLApiInternal(const char *database, const char *collection, const char *docName, uint32_t ttl)=0
virtual bool isOpPermissionLLApiInternal(const char *database, const char *collection, const char *docName, OP_Privilege op)=0
virtual int32_t connectDatabaseLLApiInternal(const char *database, DataBaseOpCallbackFunc callback)=0
virtual int32_t addReadableLLApiInternal(const char *database, const char *coll, const char *readable)=0
Definition NGIAgoraSyncClient.h:89
Definition NGIAgoraSyncClient.h:61
Definition sync_client_i.h:21
virtual ~ISyncTransport()
Definition sync_client_i.h:28
virtual void disconnect()=0
virtual void connect(const char *token, const char *channelName, rtc::uid_t uid)=0
virtual void registerObserver(ISyncTransportObserver *observer)=0
virtual void sendBuffer(const char *data, size_t length)=0
virtual void renewTokenWithChannelInfo(const char *token, const char *channelName, rtc::uid_t uid)
Definition sync_client_i.h:26
Definition sync_client_i.h:10
virtual void onError(int err)=0
virtual void onDataReceived(const char *data, size_t length)=0
virtual ~ISyncTransportObserver()
Definition sync_client_i.h:17
virtual void onConnectResult(bool connected)=0
virtual void OnTicketRefreshed(const char *key, const char *ticket)=0
Definition IAgoraService.h:72
std::function< void(SyncClientError, const char *)> DataBaseOpCallbackFunc
Definition sync_client_i.h:31
OP_Privilege
Definition NGIAgoraSyncClient.h:53
std::function< void(SyncClientError, const char *, size_t, bool)> QueryCallbackFunc
Definition sync_client_i.h:30
std::function< void(SyncClientError, const char *, const char *)> CollectionOpCallbackFunc
Definition sync_client_i.h:32
SyncClientError
Definition NGIAgoraSyncClient.h:17
unsigned int uid_t
Definition AgoraMediaBase.h:28
CopyableAutoPtr< IString > AString
Definition AgoraBase.h:182
Definition AgoraAtomicOps.h:21
const char * user_id_t
Definition AgoraBase.h:853