Signaling (previously RTM) SDK v1.5.0 API Reference for Windows (C++)
IAgoraRtmService.h
1//
2// The Agora RTM SDK
3//
4//
5// Copyright (c) 2020 Agora.io. All rights reserved.
6//
7#pragma once
8
9#include <cstdint>
10#if defined(_WIN32)
11#define WIN32_LEAN_AND_MEAN
12#include <windows.h>
13#define AGORA_CALL __cdecl
14#if defined(AGORARTC_EXPORT)
15#define AGORA_API extern "C" __declspec(dllexport)
16#else
17#define AGORA_API extern "C" __declspec(dllimport)
18#endif
19#define _AGORA_CPP_API
20
21#elif defined(__APPLE__)
22#define AGORA_API __attribute__((visibility("default"))) extern "C"
23#define AGORA_CALL
24#define _AGORA_CPP_API
25
26#elif defined(__ANDROID__) || defined(__linux__)
27#if defined(__ANDROID__) && defined(FEATURE_RTM_STANDALONE_SDK)
28#define AGORA_API extern "C" __attribute__((visibility("default")))
29#define _AGORA_CPP_API
30#else
31#define AGORA_API extern "C" __attribute__((visibility("default")))
32#define _AGORA_CPP_API __attribute__((visibility("default")))
33#endif
34#define AGORA_CALL
35
36#else
37#define AGORA_API extern "C"
38#define AGORA_CALL
39#define _AGORA_CPP_API
40#endif
41
42
46#define AGORA_RTM_ENDCALL_PREFIX "AgoraRTMLegacyEndcallCompatibleMessagePrefix"
47
48namespace agora {
49 namespace rtm {
50
55
60
65
70
75
80 };
81
82
87
92
97
101 LOGIN_ERR_REJECTED = 2, // Occurs when not initialized or server reject
102
107
112
117
122
127
132
137
142
147 };
148
153
158
163
168
173 };
174
179
184
189
194
199
204
209
214
219
224 };
225
230
237
245
254
262
269 };
270
275
280
285
290
295
300
305
310
315
320 };
321
326
331
336
341
346
351
356
361
366
371
376
381 };
382
387
392
397
401 JOIN_CHANNEL_ERR_REJECTED = 2, // Usually occurs when the user is already in the channel
402
407
412
417
422
427
432
437
442 };
443
448
453
458
463
468
473
478
483 };
484
489
494
499 };
500
505
510
515
520
525
530
535
540 };
541
546
551
556
561
566
571
576
581
586 };
587
592
597
602
607
612
617
622
627
632 };
633
638
643
648
653 };
654
663 };
664
669
674
679
684
689
694
699
704
709
714 };
715
720
725
730
735
740
745
750 };
751
756
761
766
771
776
784
794
799
804
809
814 };
815
820
825
830
835
840
845
850
855
860 };
861
870
875
884
889
894
902
907
912 };
913
914
923
928
933
938
954
959
964 };
965
974
979
984
989
994 };
995
996
997
1002
1007
1012
1017
1022
1027 };
1028
1053
1055 : enableOfflineMessaging(false)
1056
1058
1059 {}
1060 };
1061
1066 {
1067
1071 const char* key;
1072
1076 const char* value;
1077 };
1078
1083 {
1087 long long totalSize;
1091 long long currentSize;
1092 };
1093
1098 {
1099 protected:
1101 public:
1102
1108 virtual void setKey(const char *key) = 0;
1109
1115 virtual const char *getKey() const = 0;
1116
1122 virtual void setValue(const char *value) = 0;
1123
1129 virtual const char *getValue() const = 0;
1130
1136 virtual const char *getLastUpdateUserId() const = 0;
1137
1143 virtual long long getLastUpdateTs() const = 0;
1144
1148 virtual void release() = 0;
1149 };
1150
1155
1166 };
1167
1172 {
1173 protected:
1174 virtual ~IMessage() {}
1175 public:
1176
1182 virtual long long getMessageId() const = 0;
1183
1189 virtual MESSAGE_TYPE getMessageType() const = 0;
1190
1196 virtual void setText(const char *str) = 0;
1197
1203 virtual const char *getText() const = 0;
1204
1210 virtual const char *getRawMessageData() const = 0;
1211
1217 virtual int getRawMessageLength() const = 0;
1228 virtual long long getServerReceivedTs() const = 0;
1229
1241 virtual bool isOfflineMessage() const = 0;
1242
1248 virtual void release() = 0;
1249 };
1250
1254 class IFileMessage : public IMessage
1255 {
1256 public:
1257
1263 virtual long long getSize() const = 0;
1264
1274 virtual const char* getMediaId() const = 0;
1275
1282 virtual void setThumbnail(const uint8_t* thumbnail, int length) = 0;
1283
1289 virtual const char* getThumbnailData() const = 0;
1290
1296 virtual const long long getThumbnailLength() const = 0;
1297
1303 virtual void setFileName(const char* fileName) = 0;
1304
1310 virtual const char* getFileName() const = 0;
1311 };
1312
1316 class IImageMessage : public IMessage
1317 {
1318 public:
1324 virtual long long getSize() const = 0;
1325
1335 virtual const char* getMediaId() const = 0;
1336
1343 virtual void setThumbnail(const uint8_t* thumbnail, long long length) = 0;
1344
1350 virtual const char* getThumbnailData() const = 0;
1351
1357 virtual const long long getThumbnailLength() const = 0;
1358
1364 virtual void setFileName(const char* fileName) = 0;
1365
1371 virtual const char* getFileName() const = 0;
1372
1382 virtual void setWidth(int width) = 0;
1383
1393 virtual int getWidth() const = 0;
1394
1404 virtual void setHeight(int height) = 0;
1405
1415 virtual int getHeight() const = 0;
1416
1424 virtual void setThumbnailWidth(int width) = 0;
1425
1431 virtual int getThumbnailWidth() const = 0;
1432
1440 virtual void setThumbnailHeight(int height) = 0;
1441
1447 virtual int getThumbnailHeight() const = 0;
1448 };
1449
1454 {
1455 protected:
1456 virtual ~IChannelMember() {}
1457 public:
1458
1464 virtual const char * getUserId() const = 0;
1465
1471 virtual const char * getChannelId() const = 0;
1472
1476 virtual void release() = 0;
1477 };
1478
1483 {
1484
1488 const char* peerId;
1489
1499
1508 };
1509
1514 {
1518 const char* channelId;
1519 // count of channel, 0 if channel not found.
1525 int count;
1526 };
1527
1532 {
1533 public:
1534
1536 {
1537 }
1538
1546 virtual void onJoinSuccess()
1547 {
1548 }
1549
1557 virtual void onJoinFailure(JOIN_CHANNEL_ERR errorCode)
1558 {
1559 (JOIN_CHANNEL_ERR) errorCode;
1560 }
1561
1567 virtual void onLeave(LEAVE_CHANNEL_ERR errorCode)
1568 {
1569 (LEAVE_CHANNEL_ERR) errorCode;
1570 }
1571
1578 virtual void onMessageReceived(const char *userId, const IMessage *message)
1579 {
1580 (const char *) userId;
1581 (IMessage *) message;
1582 }
1591 virtual void onImageMessageReceived(const char *userId, const IImageMessage* message)
1592 {
1593 (IImageMessage *) message;
1594 }
1595
1604 virtual void onFileMessageReceived(const char *userId, const IFileMessage* message)
1605 {
1606 (IFileMessage *) message;
1607 }
1608
1615 virtual void onSendMessageResult(long long messageId, CHANNEL_MESSAGE_ERR_CODE state)
1616 {
1617 (long long) messageId;
1618 (CHANNEL_MESSAGE_ERR_CODE) state;
1619 }
1620
1630 virtual void onMemberJoined(IChannelMember *member)
1631 {
1632 (IChannelMember *) member;
1633 }
1634
1644 virtual void onMemberLeft(IChannelMember *member)
1645 {
1646 (IChannelMember *) member;
1647 }
1648
1658 virtual void onGetMembers(IChannelMember **members, int userCount, GET_MEMBERS_ERR errorCode)
1659 {
1660 (IChannelMember **) members;
1661 (int) userCount;
1662 }
1663
1672 virtual void onAttributesUpdated(const IRtmChannelAttribute* attributes[], int numberOfAttributes)
1673 {
1674 (const IRtmChannelAttribute**) attributes;
1675 (int) numberOfAttributes;
1676 }
1677
1688 virtual void onMemberCountUpdated(int memberCount)
1689 {
1690 (int) memberCount;
1691 }
1692 };
1693
1698 {
1699 protected:
1700 virtual ~IChannel() {}
1701 public:
1702// virtual void setEventHandler(IChannelEventHandler *eventHandler) = 0;
1703
1717 virtual int join() = 0;
1718
1730 virtual int leave() = 0;
1731
1748 virtual int sendMessage(const IMessage *message) = 0;
1749
1765 virtual int sendMessage(const IMessage *message, const SendMessageOptions &options) = 0;
1766
1772 virtual const char *getId() const = 0;
1773
1785 virtual int getMembers() = 0;
1786
1787 // sync_call
1788
1792 virtual void release() = 0;
1793 };
1794
1796 {
1797 public:
1799 {
1800 }
1801
1807 virtual void onLoginSuccess() {}
1808
1814 virtual void onLoginFailure(LOGIN_ERR_CODE errorCode)
1815 {
1816 (LOGIN_ERR_CODE) errorCode;
1817 }
1818
1825 virtual void onRenewTokenResult(const char* token, RENEW_TOKEN_ERR_CODE errorCode)
1826 {
1827 (const char*) token;
1828 (RENEW_TOKEN_ERR_CODE) errorCode;
1829 }
1830
1837 virtual void onTokenExpired()
1838 {
1839 }
1840
1848 {
1849 }
1850
1856 virtual void onLogout(LOGOUT_ERR_CODE errorCode)
1857 {
1858 (LOGOUT_ERR_CODE) errorCode;
1859 }
1860
1868 {
1869 }
1870
1878 virtual void onSendMessageResult(long long messageId, PEER_MESSAGE_ERR_CODE errorCode)
1879 {
1880 (long long) messageId;
1881 (PEER_MESSAGE_ERR_CODE) errorCode;
1882 }
1883
1890 virtual void onMessageReceivedFromPeer(const char *peerId, const IMessage *message)
1891 {
1892 (char *) peerId;
1893 (IMessage *) message;
1894 }
1895
1904 virtual void onImageMessageReceivedFromPeer(const char *peerId, const IImageMessage* message)
1905 {
1906 (char *) peerId;
1907 (IImageMessage *) message;
1908 }
1909
1918 virtual void onFileMessageReceivedFromPeer(const char *peerId, const IFileMessage* message)
1919 {
1920 (char *) peerId;
1921 (IFileMessage *) message;
1922 }
1923
1936 virtual void onMediaUploadingProgress(long long requestId, const MediaOperationProgress &progress)
1937 {
1938 (long long) requestId;
1939 (MediaOperationProgress) progress;
1940 }
1941
1954 virtual void onMediaDownloadingProgress(long long requestId, const MediaOperationProgress &progress)
1955 {
1956 (long long) requestId;
1957 (MediaOperationProgress) progress;
1958 }
1959
1967 virtual void onFileMediaUploadResult(long long requestId, IFileMessage* fileMessage, UPLOAD_MEDIA_ERR_CODE code)
1968 {
1969 (long long) requestId;
1970 (IFileMessage *) fileMessage;
1971 (UPLOAD_MEDIA_ERR_CODE) code;
1972 }
1973
1981 virtual void onImageMediaUploadResult(long long requestId, IImageMessage* imageMessage, UPLOAD_MEDIA_ERR_CODE code)
1982 {
1983 (long long) requestId;
1984 (IImageMessage *) imageMessage;
1985 (UPLOAD_MEDIA_ERR_CODE) code;
1986 }
1987
1994 virtual void onMediaDownloadToFileResult(long long requestId, DOWNLOAD_MEDIA_ERR_CODE code)
1995 {
1996 (long long)requestId;
1998 }
1999
2010 virtual void onMediaDownloadToMemoryResult(long long requestId, const char* memory, long long length, DOWNLOAD_MEDIA_ERR_CODE code)
2011 {
2012 (long long) requestId;
2013 (const char*) memory;
2014 (long long) length;
2016 }
2017
2024 virtual void onMediaCancelResult(long long requestId, CANCEL_MEDIA_ERR_CODE code)
2025 {
2026 (long long) requestId;
2027 (CANCEL_MEDIA_ERR_CODE) code;
2028 }
2029
2038 virtual void onQueryPeersOnlineStatusResult(long long requestId, const PeerOnlineStatus* peersStatus, int peerCount, QUERY_PEERS_ONLINE_STATUS_ERR errorCode)
2039 {
2040 (long long) requestId;
2041 (const PeerOnlineStatus*) peersStatus;
2042 (int) peerCount;
2043 (QUERY_PEERS_ONLINE_STATUS_ERR) errorCode;
2044 }
2045
2052 virtual void onSubscriptionRequestResult(long long requestId, PEER_SUBSCRIPTION_STATUS_ERR errorCode)
2053 {
2054 (long long)requestId;
2055 (PEER_SUBSCRIPTION_STATUS_ERR)errorCode;
2056 }
2057
2066 virtual void onQueryPeersBySubscriptionOptionResult(long long requestId, const char* peerIds[], int peerCount, QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR errorCode)
2067 {
2068 (const char**)peerIds;
2069 (int)peerCount;
2071 }
2072
2083 virtual void onPeersOnlineStatusChanged(const PeerOnlineStatus peersStatus[], int peerCount)
2084 {
2085 (const PeerOnlineStatus*)peersStatus;
2086 (int)peerCount;
2087 }
2088
2095 virtual void onSetLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
2096 {
2097 (long long) requestId;
2098 (ATTRIBUTE_OPERATION_ERR) errorCode;
2099 }
2100
2107 virtual void onAddOrUpdateLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
2108 {
2109 (long long) requestId;
2110 (ATTRIBUTE_OPERATION_ERR) errorCode;
2111 }
2112
2119 virtual void onDeleteLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
2120 {
2121 (long long) requestId;
2122 (ATTRIBUTE_OPERATION_ERR) errorCode;
2123 }
2124
2131 virtual void onClearLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
2132 {
2133 (long long) requestId;
2134 (ATTRIBUTE_OPERATION_ERR) errorCode;
2135 }
2136
2146 virtual void onGetUserAttributesResult(long long requestId, const char* userId, const RtmAttribute* attributes, int numberOfAttributes, ATTRIBUTE_OPERATION_ERR errorCode)
2147 {
2148 (long long) requestId;
2149 (const RtmAttribute*) attributes;
2150 (int) numberOfAttributes;
2151 (ATTRIBUTE_OPERATION_ERR) errorCode;
2152 }
2153
2160 virtual void onSetChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
2161 {
2162 (long long) requestId;
2163 (ATTRIBUTE_OPERATION_ERR) errorCode;
2164 }
2165
2172 virtual void onAddOrUpdateChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
2173 {
2174 (long long) requestId;
2175 (ATTRIBUTE_OPERATION_ERR) errorCode;
2176 }
2177
2184 virtual void onDeleteChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
2185 {
2186 (long long) requestId;
2187 (ATTRIBUTE_OPERATION_ERR) errorCode;
2188 }
2189
2196 virtual void onClearChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
2197 {
2198 (long long) requestId;
2199 (ATTRIBUTE_OPERATION_ERR) errorCode;
2200 }
2201
2210 virtual void onGetChannelAttributesResult(long long requestId, const IRtmChannelAttribute* attributes[], int numberOfAttributes, ATTRIBUTE_OPERATION_ERR errorCode)
2211 {
2212// (long long) requestId;
2213// (const IRtmChannelAttribute**) attributes;
2214// (int) numberOfAttributes;
2215// (ATTRIBUTE_OPERATION_ERR) errorCode;
2216 }
2217
2226 virtual void onGetChannelMemberCountResult(long long requestId, const ChannelMemberCount* channelMemberCounts , int channelCount, GET_CHANNEL_MEMBER_COUNT_ERR_CODE errorCode)
2227 {
2228 (long long) requestId;
2229 (const ChannelMemberCount*) channelMemberCounts;
2230 (int) channelCount;
2232 }
2233 };
2234
2235 class IRtmCallManager;
2236 class IRtmCallEventHandler;
2237
2242 {
2243
2248
2253
2258
2263
2272 };
2273
2275 {
2276 protected:
2277 virtual ~IRtmService() {}
2278 public:
2279
2291 virtual int initialize(const char *appId, IRtmServiceEventHandler *eventHandler) = 0;
2292
2298 virtual void addEventHandler(IRtmServiceEventHandler *eventHandler) = 0;
2299
2305 virtual void removeEventHandler(IRtmServiceEventHandler *eventHandler) = 0;
2306
2310 virtual void release(bool sync = false) = 0;
2311
2341 virtual int login(const char *token, const char *userId) = 0;
2342
2352 virtual int logout() = 0;
2353
2364 virtual int renewToken(const char* token) = 0;
2365
2379 virtual int sendMessageToPeer(const char *peerId, const IMessage *message) = 0;
2380
2398 virtual int downloadMediaToMemory(const char* mediaId, long long &requestId) = 0;
2399
2414 virtual int downloadMediaToFile(const char* mediaId, const char* filePath, long long &requestId) = 0;
2415
2431 virtual int cancelMediaDownload(long long requestId) = 0;
2432
2448 virtual int cancelMediaUpload(long long requestId) = 0;
2449
2450
2477 virtual int sendMessageToPeer(const char *peerId, const IMessage *message, const SendMessageOptions &options) = 0;
2478
2499 virtual IChannel * createChannel(const char *channelId, IChannelEventHandler *eventHandler) = 0;
2500
2512
2523 virtual IMessage *createMessage() = 0;
2524
2536 virtual IMessage *createMessage(const char* message) = 0;
2537
2551 virtual IMessage *createMessage(const uint8_t* rawData, int length) = 0;
2552
2567 virtual IMessage *createMessage(const uint8_t* rawData, int length, const char* description) = 0;
2568
2580 virtual IFileMessage *createFileMessageByMediaId(const char* mediaId) = 0;
2581
2593 virtual IImageMessage *createImageMessageByMediaId(const char* mediaId) = 0;
2594
2613 virtual int createFileMessageByUploading(const char* filePath, long long &requestId) = 0;
2614
2635 virtual int createImageMessageByUploading(const char* filePath, long long &requestId) = 0;
2636
2643
2654 virtual int setParameters(const char* parameters) = 0;
2655// virtual int getParameters(const char* key, any_document_t& result) = 0;
2656
2672 virtual int queryPeersOnlineStatus(const char* peerIds[], int peerCount, long long &requestId) = 0;
2673
2694 virtual int subscribePeersOnlineStatus(const char* peerIds[], int peerCount, long long &requestId) = 0;
2695
2708 virtual int unsubscribePeersOnlineStatus(const char* peerIds[], int peerCount, long long &requestId) = 0;
2709
2721 virtual int queryPeersBySubscriptionOption(PEER_SUBSCRIPTION_OPTION option, long long &requestId) = 0;
2722
2737 virtual int setLocalUserAttributes(const RtmAttribute* attributes, int numberOfAttributes, long long &requestId) = 0;
2738
2755 virtual int addOrUpdateLocalUserAttributes(const RtmAttribute* attributes, int numberOfAttributes, long long &requestId) = 0;
2756
2771 virtual int deleteLocalUserAttributesByKeys(const char* attributeKeys[], int numberOfKeys, long long &requestId) = 0;
2772
2785 virtual int clearLocalUserAttributes(long long &requestId) = 0;
2786
2800 virtual int getUserAttributes(const char* userId, long long &requestId) = 0;
2801
2817 virtual int getUserAttributesByKeys(const char* userId, const char* attributeKeys[], int numberOfKeys, long long &requestId) = 0;
2818
2839 virtual int setChannelAttributes(const char* channelId, const IRtmChannelAttribute* attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId) = 0;
2840
2863 virtual int addOrUpdateChannelAttributes(const char* channelId, const IRtmChannelAttribute* attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId) = 0;
2864
2885 virtual int deleteChannelAttributesByKeys(const char* channelId, const char* attributeKeys[], int numberOfKeys, const ChannelAttributeOptions &options, long long &requestId) = 0;
2886
2904 virtual int clearChannelAttributes(const char* channelId, const ChannelAttributeOptions &options, long long &requestId) = 0;
2905
2921 virtual int getChannelAttributes(const char* channelId, long long &requestId) = 0;
2922
2939 virtual int getChannelAttributesByKeys(const char* channelId, const char* attributeKeys[], int numberOfKeys, long long &requestId) = 0;
2940
2958 virtual int getChannelMemberCount(const char* channelIds[], int channelCount, long long &requestId) = 0;
2959
2973 virtual int setLogFile(const char* logfile) = 0;
2974
2985 virtual int setLogFilter(LOG_FILTER_TYPE filter) = 0;
2986
2995 virtual int setLogFileSize(int fileSizeInKBytes) = 0;
2996 };
2998
3002
3010AGORA_API IRtmService* AGORA_CALL createRtmService();
3011
3013
3015
3017
3021
3027AGORA_API const char* AGORA_CALL getRtmSdkVersion();
3028
3029#ifndef AGORA_SDK_BOTH_RTM_AND_RTC
3037 AREA_CODE_CN = (1 << 0),
3041 AREA_CODE_NA = (1 << 1),
3045 AREA_CODE_EU = (1 << 2),
3049 AREA_CODE_AS = (1 << 3),
3053 AREA_CODE_JP = (1 << 4),
3057 AREA_CODE_IN = (1 << 5),
3061 AREA_CODE_GLOB = (0xFFFFFFFF)
3063#endif //AGORA_SDK_BOTH_RTM_AND_RTC
3064
3065/* Type of the cloud proxy. */
3074 RTM_TCP_PROXY = 1
3076
3081{
3086
3091};
3092
3097{
3106};
3107
3118
3120
3122 }
3123}
Callbacks for the Agora RTM channel methods.
Definition: IAgoraRtmService.h:1532
virtual void onJoinSuccess()
Definition: IAgoraRtmService.h:1546
virtual void onFileMessageReceived(const char *userId, const IFileMessage *message)
Definition: IAgoraRtmService.h:1604
virtual void onSendMessageResult(long long messageId, CHANNEL_MESSAGE_ERR_CODE state)
Definition: IAgoraRtmService.h:1615
virtual void onMemberJoined(IChannelMember *member)
Definition: IAgoraRtmService.h:1630
virtual void onGetMembers(IChannelMember **members, int userCount, GET_MEMBERS_ERR errorCode)
Definition: IAgoraRtmService.h:1658
virtual void onImageMessageReceived(const char *userId, const IImageMessage *message)
Definition: IAgoraRtmService.h:1591
virtual void onAttributesUpdated(const IRtmChannelAttribute *attributes[], int numberOfAttributes)
Definition: IAgoraRtmService.h:1672
virtual void onMessageReceived(const char *userId, const IMessage *message)
Definition: IAgoraRtmService.h:1578
virtual ~IChannelEventHandler()
Definition: IAgoraRtmService.h:1535
virtual void onLeave(LEAVE_CHANNEL_ERR errorCode)
Definition: IAgoraRtmService.h:1567
virtual void onMemberLeft(IChannelMember *member)
Definition: IAgoraRtmService.h:1644
virtual void onJoinFailure(JOIN_CHANNEL_ERR errorCode)
Definition: IAgoraRtmService.h:1557
virtual void onMemberCountUpdated(int memberCount)
Definition: IAgoraRtmService.h:1688
Agora RTM channel methods.
Definition: IAgoraRtmService.h:1698
virtual int sendMessage(const IMessage *message, const SendMessageOptions &options)=0
virtual ~IChannel()
Definition: IAgoraRtmService.h:1700
virtual int getMembers()=0
virtual int sendMessage(const IMessage *message)=0
virtual const char * getId() const =0
virtual int join()=0
virtual int leave()=0
virtual void release()=0
The class for retrieving the attributes of a channel member.
Definition: IAgoraRtmService.h:1454
virtual ~IChannelMember()
Definition: IAgoraRtmService.h:1456
virtual const char * getChannelId() const =0
virtual const char * getUserId() const =0
virtual void release()=0
The class for setting and retrieving attributes of a file message.
Definition: IAgoraRtmService.h:1255
virtual const char * getThumbnailData() const =0
virtual long long getSize() const =0
virtual void setFileName(const char *fileName)=0
virtual const long long getThumbnailLength() const =0
virtual const char * getFileName() const =0
virtual void setThumbnail(const uint8_t *thumbnail, int length)=0
virtual const char * getMediaId() const =0
The class for setting and retrieving attributes of an image message.
Definition: IAgoraRtmService.h:1317
virtual int getHeight() const =0
virtual int getThumbnailWidth() const =0
virtual const long long getThumbnailLength() const =0
virtual void setFileName(const char *fileName)=0
virtual void setThumbnailWidth(int width)=0
virtual void setThumbnailHeight(int height)=0
virtual const char * getFileName() const =0
virtual void setWidth(int width)=0
virtual const char * getThumbnailData() const =0
virtual long long getSize() const =0
virtual int getThumbnailHeight() const =0
virtual int getWidth() const =0
virtual void setThumbnail(const uint8_t *thumbnail, long long length)=0
virtual void setHeight(int height)=0
virtual const char * getMediaId() const =0
The class for setting and retrieving attributes of a channel or peer-to-peer message.
Definition: IAgoraRtmService.h:1172
virtual const char * getRawMessageData() const =0
virtual bool isOfflineMessage() const =0
virtual ~IMessage()
Definition: IAgoraRtmService.h:1174
virtual long long getMessageId() const =0
virtual void setText(const char *str)=0
virtual const char * getText() const =0
virtual MESSAGE_TYPE getMessageType() const =0
virtual void release()=0
virtual int getRawMessageLength() const =0
virtual long long getServerReceivedTs() const =0
Definition: IAgoraRtmCallManager.h:312
Definition: IAgoraRtmCallManager.h:430
The class for setting or getting attributes of a channel.
Definition: IAgoraRtmService.h:1098
virtual const char * getValue() const =0
virtual void setKey(const char *key)=0
virtual ~IRtmChannelAttribute()
Definition: IAgoraRtmService.h:1100
virtual long long getLastUpdateTs() const =0
virtual const char * getLastUpdateUserId() const =0
virtual const char * getKey() const =0
virtual void setValue(const char *value)=0
Definition: IAgoraRtmService.h:1796
virtual void onDeleteChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2184
virtual void onMediaDownloadToFileResult(long long requestId, DOWNLOAD_MEDIA_ERR_CODE code)
Definition: IAgoraRtmService.h:1994
virtual void onClearChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2196
virtual void onPeersOnlineStatusChanged(const PeerOnlineStatus peersStatus[], int peerCount)
Definition: IAgoraRtmService.h:2083
virtual void onAddOrUpdateChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2172
virtual void onImageMessageReceivedFromPeer(const char *peerId, const IImageMessage *message)
Definition: IAgoraRtmService.h:1904
virtual void onDeleteLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2119
virtual void onLoginFailure(LOGIN_ERR_CODE errorCode)
Definition: IAgoraRtmService.h:1814
virtual void onFileMessageReceivedFromPeer(const char *peerId, const IFileMessage *message)
Definition: IAgoraRtmService.h:1918
virtual void onSendMessageResult(long long messageId, PEER_MESSAGE_ERR_CODE errorCode)
Definition: IAgoraRtmService.h:1878
virtual void onMediaUploadingProgress(long long requestId, const MediaOperationProgress &progress)
Definition: IAgoraRtmService.h:1936
virtual void onLogout(LOGOUT_ERR_CODE errorCode)
Definition: IAgoraRtmService.h:1856
virtual void onMediaCancelResult(long long requestId, CANCEL_MEDIA_ERR_CODE code)
Definition: IAgoraRtmService.h:2024
virtual void onGetUserAttributesResult(long long requestId, const char *userId, const RtmAttribute *attributes, int numberOfAttributes, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2146
virtual void onTokenExpired()
Definition: IAgoraRtmService.h:1837
virtual void onQueryPeersOnlineStatusResult(long long requestId, const PeerOnlineStatus *peersStatus, int peerCount, QUERY_PEERS_ONLINE_STATUS_ERR errorCode)
Definition: IAgoraRtmService.h:2038
virtual void onSetChannelAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2160
virtual void onGetChannelMemberCountResult(long long requestId, const ChannelMemberCount *channelMemberCounts, int channelCount, GET_CHANNEL_MEMBER_COUNT_ERR_CODE errorCode)
Definition: IAgoraRtmService.h:2226
virtual void onLoginSuccess()
Definition: IAgoraRtmService.h:1807
virtual ~IRtmServiceEventHandler()
Definition: IAgoraRtmService.h:1798
virtual void onClearLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2131
virtual void onRenewTokenResult(const char *token, RENEW_TOKEN_ERR_CODE errorCode)
Definition: IAgoraRtmService.h:1825
virtual void onMediaDownloadingProgress(long long requestId, const MediaOperationProgress &progress)
Definition: IAgoraRtmService.h:1954
virtual void onConnectionStateChanged(CONNECTION_STATE state, CONNECTION_CHANGE_REASON reason)
Definition: IAgoraRtmService.h:1867
virtual void onTokenPrivilegeWillExpire()
Definition: IAgoraRtmService.h:1847
virtual void onFileMediaUploadResult(long long requestId, IFileMessage *fileMessage, UPLOAD_MEDIA_ERR_CODE code)
Definition: IAgoraRtmService.h:1967
virtual void onAddOrUpdateLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2107
virtual void onGetChannelAttributesResult(long long requestId, const IRtmChannelAttribute *attributes[], int numberOfAttributes, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2210
virtual void onImageMediaUploadResult(long long requestId, IImageMessage *imageMessage, UPLOAD_MEDIA_ERR_CODE code)
Definition: IAgoraRtmService.h:1981
virtual void onQueryPeersBySubscriptionOptionResult(long long requestId, const char *peerIds[], int peerCount, QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR errorCode)
Definition: IAgoraRtmService.h:2066
virtual void onSetLocalUserAttributesResult(long long requestId, ATTRIBUTE_OPERATION_ERR errorCode)
Definition: IAgoraRtmService.h:2095
virtual void onMediaDownloadToMemoryResult(long long requestId, const char *memory, long long length, DOWNLOAD_MEDIA_ERR_CODE code)
Definition: IAgoraRtmService.h:2010
virtual void onSubscriptionRequestResult(long long requestId, PEER_SUBSCRIPTION_STATUS_ERR errorCode)
Definition: IAgoraRtmService.h:2052
virtual void onMessageReceivedFromPeer(const char *peerId, const IMessage *message)
Definition: IAgoraRtmService.h:1890
Definition: IAgoraRtmService.h:2275
virtual int cancelMediaUpload(long long requestId)=0
virtual void removeEventHandler(IRtmServiceEventHandler *eventHandler)=0
virtual int unsubscribePeersOnlineStatus(const char *peerIds[], int peerCount, long long &requestId)=0
virtual int queryPeersBySubscriptionOption(PEER_SUBSCRIPTION_OPTION option, long long &requestId)=0
virtual int setLogFile(const char *logfile)=0
virtual int sendMessageToPeer(const char *peerId, const IMessage *message, const SendMessageOptions &options)=0
virtual int addOrUpdateLocalUserAttributes(const RtmAttribute *attributes, int numberOfAttributes, long long &requestId)=0
virtual int getUserAttributes(const char *userId, long long &requestId)=0
virtual int deleteChannelAttributesByKeys(const char *channelId, const char *attributeKeys[], int numberOfKeys, const ChannelAttributeOptions &options, long long &requestId)=0
virtual int login(const char *token, const char *userId)=0
virtual int logout()=0
virtual int renewToken(const char *token)=0
virtual int subscribePeersOnlineStatus(const char *peerIds[], int peerCount, long long &requestId)=0
virtual int queryPeersOnlineStatus(const char *peerIds[], int peerCount, long long &requestId)=0
virtual int getChannelAttributes(const char *channelId, long long &requestId)=0
virtual int setLogFilter(LOG_FILTER_TYPE filter)=0
virtual int getChannelMemberCount(const char *channelIds[], int channelCount, long long &requestId)=0
virtual IMessage * createMessage(const uint8_t *rawData, int length, const char *description)=0
virtual int initialize(const char *appId, IRtmServiceEventHandler *eventHandler)=0
virtual IMessage * createMessage()=0
virtual void release(bool sync=false)=0
virtual int downloadMediaToFile(const char *mediaId, const char *filePath, long long &requestId)=0
virtual int createImageMessageByUploading(const char *filePath, long long &requestId)=0
virtual IImageMessage * createImageMessageByMediaId(const char *mediaId)=0
virtual IChannel * createChannel(const char *channelId, IChannelEventHandler *eventHandler)=0
virtual IRtmChannelAttribute * createChannelAttribute()=0
virtual int setLocalUserAttributes(const RtmAttribute *attributes, int numberOfAttributes, long long &requestId)=0
virtual void addEventHandler(IRtmServiceEventHandler *eventHandler)=0
virtual int createFileMessageByUploading(const char *filePath, long long &requestId)=0
virtual IRtmCallManager * getRtmCallManager(IRtmCallEventHandler *eventHandler)=0
virtual int setChannelAttributes(const char *channelId, const IRtmChannelAttribute *attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId)=0
virtual ~IRtmService()
Definition: IAgoraRtmService.h:2277
virtual IMessage * createMessage(const char *message)=0
virtual IFileMessage * createFileMessageByMediaId(const char *mediaId)=0
virtual int getChannelAttributesByKeys(const char *channelId, const char *attributeKeys[], int numberOfKeys, long long &requestId)=0
virtual IMessage * createMessage(const uint8_t *rawData, int length)=0
virtual int deleteLocalUserAttributesByKeys(const char *attributeKeys[], int numberOfKeys, long long &requestId)=0
virtual int clearLocalUserAttributes(long long &requestId)=0
virtual int cancelMediaDownload(long long requestId)=0
virtual int downloadMediaToMemory(const char *mediaId, long long &requestId)=0
virtual int addOrUpdateChannelAttributes(const char *channelId, const IRtmChannelAttribute *attributes[], int numberOfAttributes, const ChannelAttributeOptions &options, long long &requestId)=0
virtual int setLogFileSize(int fileSizeInKBytes)=0
virtual int getUserAttributesByKeys(const char *userId, const char *attributeKeys[], int numberOfKeys, long long &requestId)=0
virtual int setParameters(const char *parameters)=0
virtual int sendMessageToPeer(const char *peerId, const IMessage *message)=0
virtual int clearChannelAttributes(const char *channelId, const ChannelAttributeOptions &options, long long &requestId)=0
AGORA_API IRtmService *AGORA_CALL createRtmService()
RTM_AREA_CODE
Definition: IAgoraRtmService.h:3033
AGORA_API SET_RTM_SERVICE_CONTEXT_ERR_CODE AGORA_CALL setRtmServiceContext(const RtmServiceContext &context)
AGORA_API const char *AGORA_CALL getRtmSdkVersion()
RTM_CLOUD_PROXY_TYPE
Definition: IAgoraRtmService.h:3066
SET_RTM_SERVICE_CONTEXT_ERR_CODE
Definition: IAgoraRtmService.h:3097
@ AREA_CODE_IN
Definition: IAgoraRtmService.h:3057
@ AREA_CODE_JP
Definition: IAgoraRtmService.h:3053
@ AREA_CODE_GLOB
Definition: IAgoraRtmService.h:3061
@ AREA_CODE_CN
Definition: IAgoraRtmService.h:3037
@ AREA_CODE_AS
Definition: IAgoraRtmService.h:3049
@ AREA_CODE_NA
Definition: IAgoraRtmService.h:3041
@ AREA_CODE_EU
Definition: IAgoraRtmService.h:3045
@ RTM_NONE_PROXY
Definition: IAgoraRtmService.h:3070
@ RTM_TCP_PROXY
Definition: IAgoraRtmService.h:3074
@ SET_RTM_SERVICE_CONTEXT_ERR_OK
Definition: IAgoraRtmService.h:3101
@ SET_RTM_SERVICE_CONTEXT_ERR_FAILURE
Definition: IAgoraRtmService.h:3105
LEAVE_CHANNEL_REASON
Reasons why a user leaves the channel.
Definition: IAgoraRtmService.h:488
@ LEAVE_CHANNEL_REASON_QUIT
Definition: IAgoraRtmService.h:493
@ LEAVE_CHANNEL_REASON_KICKED
Definition: IAgoraRtmService.h:498
PEER_ONLINE_STATE
The online states of a peer.
Definition: IAgoraRtmService.h:637
@ PEER_ONLINE_STATE_UNREACHABLE
Definition: IAgoraRtmService.h:647
@ PEER_ONLINE_STATE_ONLINE
Definition: IAgoraRtmService.h:642
@ PEER_ONLINE_STATE_OFFLINE
Definition: IAgoraRtmService.h:652
DOWNLOAD_MEDIA_ERR_CODE
Error codes related to downloading a file or image.
Definition: IAgoraRtmService.h:865
@ DOWNLOAD_MEDIA_ERR_FAILURE
Definition: IAgoraRtmService.h:874
@ DOWNLOAD_MEDIA_ERR_INTERRUPTED
Definition: IAgoraRtmService.h:901
@ DOWNLOAD_MEDIA_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:906
@ DOWNLOAD_MEDIA_ERR_NOT_EXIST
Definition: IAgoraRtmService.h:888
@ DOWNLOAD_MEDIA_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:879
@ DOWNLOAD_MEDIA_ERR_TIMEOUT
Definition: IAgoraRtmService.h:883
@ DOWNLOAD_MEDIA_ERR_CONCURRENCY_LIMIT_EXCEEDED
Definition: IAgoraRtmService.h:893
@ DOWNLOAD_MEDIA_ERR_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:911
@ DOWNLOAD_MEDIA_ERR_OK
Definition: IAgoraRtmService.h:869
PEER_SUBSCRIPTION_OPTION
Subscription types.
Definition: IAgoraRtmService.h:658
@ PEER_SUBSCRIPTION_OPTION_ONLINE_STATUS
Definition: IAgoraRtmService.h:662
LOGIN_ERR_CODE
Error codes related to login.
Definition: IAgoraRtmService.h:86
@ LOGIN_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:106
@ LOGIN_ERR_OK
Definition: IAgoraRtmService.h:91
@ LOGIN_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:141
@ LOGIN_ERR_TOKEN_EXPIRED
Definition: IAgoraRtmService.h:121
@ LOGIN_ERR_INVALID_APP_ID
Definition: IAgoraRtmService.h:111
@ LOGIN_ERR_REJECTED
Definition: IAgoraRtmService.h:101
@ LOGIN_ERR_UNKNOWN
Definition: IAgoraRtmService.h:96
@ LOGIN_ERR_INVALID_TOKEN
Definition: IAgoraRtmService.h:116
@ LOGIN_ERR_NOT_AUTHORIZED
Definition: IAgoraRtmService.h:126
@ LOGIN_ERR_TIMEOUT
Definition: IAgoraRtmService.h:136
@ LOGIN_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:146
@ LOGIN_ERR_ALREADY_LOGGED_IN
Definition: IAgoraRtmService.h:131
PEER_SUBSCRIPTION_STATUS_ERR
Error codes related to subscribing to or unsubscribing from the status of specified peers.
Definition: IAgoraRtmService.h:668
@ PEER_SUBSCRIPTION_STATUS_ERR_OK
Definition: IAgoraRtmService.h:673
@ PEER_SUBSCRIPTION_STATUS_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:698
@ PEER_SUBSCRIPTION_STATUS_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:683
@ PEER_SUBSCRIPTION_STATUS_ERR_FAILURE
Definition: IAgoraRtmService.h:678
@ PEER_SUBSCRIPTION_STATUS_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:713
@ PEER_SUBSCRIPTION_STATUS_ERR_OVERFLOW
Definition: IAgoraRtmService.h:703
@ PEER_SUBSCRIPTION_STATUS_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:708
@ PEER_SUBSCRIPTION_STATUS_ERR_TIMEOUT
Definition: IAgoraRtmService.h:693
@ PEER_SUBSCRIPTION_STATUS_ERR_REJECTED
Definition: IAgoraRtmService.h:688
MESSAGE_TYPE
Message types.
Definition: IAgoraRtmService.h:1001
@ MESSAGE_TYPE_RAW
Definition: IAgoraRtmService.h:1016
@ MESSAGE_TYPE_FILE
Definition: IAgoraRtmService.h:1021
@ MESSAGE_TYPE_UNDEFINED
Definition: IAgoraRtmService.h:1006
@ MESSAGE_TYPE_IMAGE
Definition: IAgoraRtmService.h:1026
@ MESSAGE_TYPE_TEXT
Definition: IAgoraRtmService.h:1011
QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR
Error codes related to getting a list of the peers by subscription option type.
Definition: IAgoraRtmService.h:719
@ QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:739
@ QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_FAILURE
Definition: IAgoraRtmService.h:729
@ QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:744
@ QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:749
@ QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_OK
Definition: IAgoraRtmService.h:724
@ QUERY_PEERS_BY_SUBSCRIPTION_OPTION_ERR_TIMEOUT
Definition: IAgoraRtmService.h:734
UPLOAD_MEDIA_ERR_CODE
Error codes related to uploading a file or image.
Definition: IAgoraRtmService.h:918
@ UPLOAD_MEDIA_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:932
@ UPLOAD_MEDIA_ERR_OK
Definition: IAgoraRtmService.h:922
@ UPLOAD_MEDIA_ERR_SIZE_OVERFLOW
Definition: IAgoraRtmService.h:942
@ UPLOAD_MEDIA_ERR_CONCURRENCY_LIMIT_EXCEEDED
Definition: IAgoraRtmService.h:946
@ UPLOAD_MEDIA_ERR_INTERRUPTED
Definition: IAgoraRtmService.h:953
@ UPLOAD_MEDIA_ERR_TIMEOUT
Definition: IAgoraRtmService.h:937
@ UPLOAD_MEDIA_ERR_FAILURE
Definition: IAgoraRtmService.h:927
@ UPLOAD_MEDIA_ERR_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:963
@ UPLOAD_MEDIA_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:958
INIT_ERR_CODE
Error codes related to Initialization.
Definition: IAgoraRtmService.h:54
@ INIT_ERR_FAILURE
Definition: IAgoraRtmService.h:64
@ INIT_ERR_INVALID_APP_ID
Definition: IAgoraRtmService.h:74
@ INIT_ERR_OK
Definition: IAgoraRtmService.h:59
@ INIT_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:79
@ INIT_ERR_ALREADY_INITIALIZED
Definition: IAgoraRtmService.h:69
QUERY_PEERS_ONLINE_STATUS_ERR
Error codes related to querying the online status of the specified peers.
Definition: IAgoraRtmService.h:591
@ QUERY_PEERS_ONLINE_STATUS_ERR_FAILURE
Definition: IAgoraRtmService.h:601
@ QUERY_PEERS_ONLINE_STATUS_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:626
@ QUERY_PEERS_ONLINE_STATUS_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:621
@ QUERY_PEERS_ONLINE_STATUS_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:631
@ QUERY_PEERS_ONLINE_STATUS_ERR_REJECTED
Definition: IAgoraRtmService.h:611
@ QUERY_PEERS_ONLINE_STATUS_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:606
@ QUERY_PEERS_ONLINE_STATUS_ERR_TIMEOUT
Definition: IAgoraRtmService.h:616
@ QUERY_PEERS_ONLINE_STATUS_ERR_OK
Definition: IAgoraRtmService.h:596
CONNECTION_CHANGE_REASON
Reasons for a connection state change.
Definition: IAgoraRtmService.h:274
@ CONNECTION_CHANGE_REASON_BANNED_BY_SERVER
Definition: IAgoraRtmService.h:309
@ CONNECTION_CHANGE_REASON_REMOTE_LOGIN
Definition: IAgoraRtmService.h:314
@ CONNECTION_CHANGE_REASON_LOGIN_TIMEOUT
Definition: IAgoraRtmService.h:294
@ CONNECTION_CHANGE_REASON_LOGOUT
Definition: IAgoraRtmService.h:304
@ CONNECTION_CHANGE_REASON_LOGIN_FAILURE
Definition: IAgoraRtmService.h:289
@ CONNECTION_CHANGE_REASON_LOGIN
Definition: IAgoraRtmService.h:279
@ CONNECTION_CHANGE_REASON_INTERRUPTED
Definition: IAgoraRtmService.h:299
@ CONNECTION_CHANGE_REASON_LOGIN_SUCCESS
Definition: IAgoraRtmService.h:284
@ CONNECTION_CHANGE_REASON_TOKEN_EXPIRED
Definition: IAgoraRtmService.h:319
GET_MEMBERS_ERR
Error codes related to retrieving a channel member list.
Definition: IAgoraRtmService.h:545
@ GET_MEMBERS_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:585
@ GET_MEMBERS_ERR_NOT_IN_CHANNEL
Definition: IAgoraRtmService.h:575
@ GET_MEMBERS_ERR_REJECTED
Definition: IAgoraRtmService.h:560
@ GET_MEMBERS_ERR_FAILURE
Definition: IAgoraRtmService.h:555
@ GET_MEMBERS_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:580
@ GET_MEMBERS_ERR_OK
Definition: IAgoraRtmService.h:550
@ GET_MEMBERS_ERR_TIMEOUT
Definition: IAgoraRtmService.h:565
@ GET_MEMBERS_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:570
ATTRIBUTE_OPERATION_ERR
Error codes related to attrubute operations.
Definition: IAgoraRtmService.h:755
@ ATTRIBUTE_OPERATION_ERR_USER_NOT_FOUND
Definition: IAgoraRtmService.h:798
@ ATTRIBUTE_OPERATION_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:808
@ ATTRIBUTE_OPERATION_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:793
@ ATTRIBUTE_OPERATION_ERR_OK
Definition: IAgoraRtmService.h:760
@ ATTRIBUTE_OPERATION_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:813
@ ATTRIBUTE_OPERATION_ERR_TIMEOUT
Definition: IAgoraRtmService.h:803
@ ATTRIBUTE_OPERATION_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:775
@ ATTRIBUTE_OPERATION_ERR_NOT_READY
Definition: IAgoraRtmService.h:765
@ ATTRIBUTE_OPERATION_ERR_FAILURE
Definition: IAgoraRtmService.h:770
@ ATTRIBUTE_OPERATION_ERR_SIZE_OVERFLOW
Definition: IAgoraRtmService.h:783
CONNECTION_STATE
Connection states between the SDK and the Agora RTM system.
Definition: IAgoraRtmService.h:229
@ CONNECTION_STATE_ABORTED
Definition: IAgoraRtmService.h:268
@ CONNECTION_STATE_CONNECTING
Definition: IAgoraRtmService.h:244
@ CONNECTION_STATE_RECONNECTING
Definition: IAgoraRtmService.h:261
@ CONNECTION_STATE_DISCONNECTED
Definition: IAgoraRtmService.h:236
@ CONNECTION_STATE_CONNECTED
Definition: IAgoraRtmService.h:253
RENEW_TOKEN_ERR_CODE
Error codes related to renewing the RTM Token.
Definition: IAgoraRtmService.h:178
@ RENEW_TOKEN_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:203
@ RENEW_TOKEN_ERR_FAILURE
Definition: IAgoraRtmService.h:188
@ RENEW_TOKEN_ERR_OK
Definition: IAgoraRtmService.h:183
@ RENEW_TOKEN_ERR_REJECTED
Definition: IAgoraRtmService.h:198
@ RENEW_TOKEN_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:223
@ RENEW_TOKEN_ERR_INVALID_TOKEN
Definition: IAgoraRtmService.h:213
@ RENEW_TOKEN_ERR_TOKEN_EXPIRED
Definition: IAgoraRtmService.h:208
@ RENEW_TOKEN_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:218
@ RENEW_TOKEN_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:193
CHANNEL_MESSAGE_ERR_CODE
Error codes related to sending a channel message.
Definition: IAgoraRtmService.h:504
@ CHANNEL_MESSAGE_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:534
@ CHANNEL_MESSAGE_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:539
@ CHANNEL_MESSAGE_ERR_FAILURE
Definition: IAgoraRtmService.h:514
@ CHANNEL_MESSAGE_ERR_SENT_TIMEOUT
Definition: IAgoraRtmService.h:519
@ CHANNEL_MESSAGE_ERR_INVALID_MESSAGE
Definition: IAgoraRtmService.h:529
@ CHANNEL_MESSAGE_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:524
@ CHANNEL_MESSAGE_ERR_OK
Definition: IAgoraRtmService.h:509
PEER_MESSAGE_ERR_CODE
Error codes related to sending a peer-to-peer message.
Definition: IAgoraRtmService.h:325
@ PEER_MESSAGE_ERR_SENT_TIMEOUT
Definition: IAgoraRtmService.h:340
@ PEER_MESSAGE_ERR_FAILURE
Definition: IAgoraRtmService.h:335
@ PEER_MESSAGE_ERR_INVALID_MESSAGE
Definition: IAgoraRtmService.h:365
@ PEER_MESSAGE_ERR_IMCOMPATIBLE_MESSAGE
Definition: IAgoraRtmService.h:370
@ PEER_MESSAGE_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:375
@ PEER_MESSAGE_ERR_PEER_UNREACHABLE
Definition: IAgoraRtmService.h:345
@ PEER_MESSAGE_ERR_INVALID_USERID
Definition: IAgoraRtmService.h:360
@ PEER_MESSAGE_ERR_CACHED_BY_SERVER
Definition: IAgoraRtmService.h:350
@ PEER_MESSAGE_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:355
@ PEER_MESSAGE_ERR_OK
Definition: IAgoraRtmService.h:330
@ PEER_MESSAGE_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:380
GET_CHANNEL_MEMBER_COUNT_ERR_CODE
Error codes related to retrieving the channel member count of specified channels.
Definition: IAgoraRtmService.h:819
@ GET_CHANNEL_MEMBER_COUNT_ERR_EXCEED_LIMIT
Definition: IAgoraRtmService.h:849
@ GET_CHANNEL_MEMBER_COUNT_ERR_OK
Definition: IAgoraRtmService.h:824
@ GET_CHANNEL_MEMBER_COUNT_ERR_TIMEOUT
Definition: IAgoraRtmService.h:844
@ GET_CHANNEL_MEMBER_COUNT_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:839
@ GET_CHANNEL_MEMBER_COUNT_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:859
@ GET_CHANNEL_MEMBER_COUNT_ERR_FAILURE
Definition: IAgoraRtmService.h:829
@ GET_CHANNEL_MEMBER_COUNT_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:834
@ GET_CHANNEL_MEMBER_COUNT_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:854
LEAVE_CHANNEL_ERR
Error codes related to leaving a channel.
Definition: IAgoraRtmService.h:447
@ LEAVE_CHANNEL_ERR_OK
Definition: IAgoraRtmService.h:452
@ LEAVE_CHANNEL_ERR_KICKED
Definition: IAgoraRtmService.h:472
@ LEAVE_CHANNEL_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:477
@ LEAVE_CHANNEL_ERR_REJECTED
Definition: IAgoraRtmService.h:462
@ LEAVE_CHANNEL_ERR_NOT_IN_CHANNEL
Definition: IAgoraRtmService.h:467
@ LEAVE_CHANNEL_ERR_FAILURE
Definition: IAgoraRtmService.h:457
@ LEAVE_CHANNEL_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:482
JOIN_CHANNEL_ERR
Error codes related to joining a channel.
Definition: IAgoraRtmService.h:386
@ JOIN_CHANNEL_ERR_JOIN_SAME_CHANNEL_TOO_OFTEN
Definition: IAgoraRtmService.h:431
@ JOIN_CHANNEL_ERR_FAILURE
Definition: IAgoraRtmService.h:396
@ JOIN_CHANNEL_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:441
@ JOIN_CHANNEL_ERR_OK
Definition: IAgoraRtmService.h:391
@ JOIN_CHANNEL_ERR_REJECTED
Definition: IAgoraRtmService.h:401
@ JOIN_CHANNEL_ERR_TOO_OFTEN
Definition: IAgoraRtmService.h:426
@ JOIN_CHANNEL_ERR_ALREADY_JOINED
Definition: IAgoraRtmService.h:421
@ JOIN_CHANNEL_TIMEOUT
Definition: IAgoraRtmService.h:411
@ JOIN_CHANNEL_ERR_EXCEED_LIMIT
Definition: IAgoraRtmService.h:416
@ JOIN_CHANNEL_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:436
@ JOIN_CHANNEL_ERR_INVALID_ARGUMENT
Definition: IAgoraRtmService.h:406
LOG_FILTER_TYPE
Output log filter level.
Definition: IAgoraRtmService.h:2242
@ LOG_FILTER_ERROR
Definition: IAgoraRtmService.h:2262
@ LOG_FILTER_CRITICAL
Definition: IAgoraRtmService.h:2267
@ LOG_FILTER_INFO
Definition: IAgoraRtmService.h:2252
@ LOG_FILTER_MASK
Definition: IAgoraRtmService.h:2271
@ LOG_FILTER_WARN
Definition: IAgoraRtmService.h:2257
@ LOG_FILTER_OFF
Definition: IAgoraRtmService.h:2247
LOGOUT_ERR_CODE
Error codes related to logout.
Definition: IAgoraRtmService.h:152
@ LOGOUT_ERR_OK
Definition: IAgoraRtmService.h:157
@ LOGOUT_ERR_REJECTED
Definition: IAgoraRtmService.h:162
@ LOGOUT_ERR_USER_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:172
@ LOGOUT_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:167
CANCEL_MEDIA_ERR_CODE
Error codes related to cancelling a download task or cancelling an upload task.
Definition: IAgoraRtmService.h:969
@ CANCEL_MEDIA_ERR_NOT_LOGGED_IN
Definition: IAgoraRtmService.h:993
@ CANCEL_MEDIA_ERR_NOT_INITIALIZED
Definition: IAgoraRtmService.h:988
@ CANCEL_MEDIA_ERR_NOT_EXIST
Definition: IAgoraRtmService.h:983
@ CANCEL_MEDIA_ERR_OK
Definition: IAgoraRtmService.h:973
@ CANCEL_MEDIA_ERR_FAILURE
Definition: IAgoraRtmService.h:978
Definition: IAgoraRtmCallManager.h:11
Data structure holding channel attribute-specific options.
Definition: IAgoraRtmService.h:1154
bool enableNotificationToChannelMembers
Definition: IAgoraRtmService.h:1164
ChannelAttributeOptions()
Definition: IAgoraRtmService.h:1165
The data structure holding a channel ID and the current channel member count.
Definition: IAgoraRtmService.h:1514
int count
Definition: IAgoraRtmService.h:1525
const char * channelId
Definition: IAgoraRtmService.h:1518
A data structure representing the upload ratio or download ratio.
Definition: IAgoraRtmService.h:1083
long long totalSize
Definition: IAgoraRtmService.h:1087
long long currentSize
Definition: IAgoraRtmService.h:1091
The data structure holding an RTM user and the user's online status.
Definition: IAgoraRtmService.h:1483
const char * peerId
Definition: IAgoraRtmService.h:1488
PEER_ONLINE_STATE onlineState
Definition: IAgoraRtmService.h:1507
bool isOnline
Definition: IAgoraRtmService.h:1498
A data structure holding a user attribute key and its value.
Definition: IAgoraRtmService.h:1066
const char * value
Definition: IAgoraRtmService.h:1076
const char * key
Definition: IAgoraRtmService.h:1071
Definition: IAgoraRtmService.h:3081
int areaCode
Definition: IAgoraRtmService.h:3085
RTM_CLOUD_PROXY_TYPE proxyType
Definition: IAgoraRtmService.h:3090
Message sending options.
Definition: IAgoraRtmService.h:1032
bool enableHistoricalMessaging
Definition: IAgoraRtmService.h:1052
bool enableOfflineMessaging
Definition: IAgoraRtmService.h:1043
SendMessageOptions()
Definition: IAgoraRtmService.h:1054