Zoom Rooms Controller SDK Reference 6.5.0
Loading...
Searching...
No Matches
IMeetingChatHelper.h
Go to the documentation of this file.
1
14#ifndef ZRC_IMEETINGCHATHELPER_H
15#define ZRC_IMEETINGCHATHELPER_H
16
17#include "ZRCSDKTypes.h"
18
20
26{
33};
34
40{
44};
45
51{
58};
59
65{
72 9,
75};
76
82{
86};
87
93{
98};
99
105{
109};
110
114{
116 bool isChatOff = false;
119};
120
124{
125 std::string previewURL;
126 std::string downloadURL;
127 std::string fileName;
128 std::string thumbnailURL;
129 std::string fileSize;
130 std::string fileID;
131 std::string type;
132};
133
137{
138 int32_t index = 0;
139 std::string messageID;
140 std::string content;
141 bool isSelfSend = false;
143 bool isFile = false;
144 std::string fileURL;
145 std::string fileName;
146 int32_t fileSize = 0;
147 int32_t contentType = 0;
148 int32_t senderID = 0;
149 int32_t receiverID = 0;
150 std::string senderDisplayName;
152 std::string timestamp;
153 bool isShareFileMessage = false;
155 bool isDeleted = false;
156 bool canBeDeleted = false;
157 bool isEdited = false;
158};
159
163{
164 std::string emoji;
165 int64_t count = 0;
166 int64_t firstEmojiTime = 0;
167 bool containMine = false;
168};
169
173{
174 std::string guid;
175 int32_t meetingUserID = 0;
176 std::string displayName;
177 int64_t time = 0;
178};
179
183{
184 std::string messageID;
185 std::string threadID;
189 std::string body;
190 bool isDeleted = false;
191 bool isNotExist = false;
192 bool isSupported = false;
194 int64_t threadServerTime = 0;
195 int64_t messageServerTime = 0;
196 int64_t messageEditTime = 0;
197 std::string senderConfUserID;
199 std::string senderUserGUID;
200 std::string senderName;
201 std::string receiverConfUserID;
203 std::string receiverUserGUID;
204 std::string receiverName;
205 std::vector<ChatEmojiCountInfo> emojiList;
206 int64_t commentCount = 0;
208 int64_t meetingEndedRealTime = -1;
209 int64_t meetingRealDuration = -1;
210 std::string fileName;
211 std::string fileID;
214 std::string fileE2EKey;
215 std::string fileE2EIv;
216 int64_t visibleTime = 0;
217 bool isSelfSend = false;
218 bool canBeDeleted = false;
219 bool canBeReplied = false;
221};
222
226{
228 std::vector<NewMeetingChatMessage> comments;
229};
230
234{
237 uint32_t maxSize = 0;
238 std::string threadID;
239 int64_t startVisibleTime = 0;
240};
241
245{
246public:
248
258 virtual void OnChatDisplaySettingsNotification(bool isShowChatNotificationOnZR, bool isShowChatListOnZR) = 0;
259
268 virtual void OnMeetingChatPrivilegeNotification(const MeetingChatPrivilege& chatPrivilege) = 0;
269
270 // old meeting chat
271
281 virtual void OnChatMessageResponse(int32_t result, int32_t action) = 0;
282
291 virtual void OnMeetingChatMessagesNotification(const std::vector<MeetingChatMessage>& messages) = 0;
292
293 // new meeting chat
294
304 virtual void OnUpdateCMCInfo(bool isCMCForBackendEnabled, bool isTeamChatEnabled) = 0;
305
319 virtual void OnUpdateCMCTip(bool needConfirm, const std::string& title, const std::string& message) = 0;
320
328
337 virtual void OnThreadReceived(const NewMeetingChatMessage& thread) = 0;
338
348 virtual void OnCommentReceived(const NewMeetingChatMessage& comment, const NewMeetingChatMessage& updatedThread) = 0;
349
358 virtual void OnThreadSent(const NewMeetingChatMessage& thread) = 0;
359
369 virtual void OnCommentSent(const NewMeetingChatMessage& comment, const NewMeetingChatMessage& updatedThread) = 0;
370
379 virtual void OnThreadDeleted(const NewMeetingChatMessage& thread) = 0;
380
390 virtual void OnCommentDeleted(const NewMeetingChatMessage& comment, const NewMeetingChatMessage& updatedThread) = 0;
391
400 virtual void OnMessagesUpdated(const std::vector<NewMeetingChatMessage>& messages) = 0;
401
410 virtual void OnEmojiUpdated(const std::vector<NewMeetingChatMessage>& messages) = 0;
411
424 virtual void OnMessageLoaded(const ChatMessageSyncFilter& filter, bool result, const std::vector<NewMeetingChatMessage>& messages,
425 bool hasMoreHistory, bool hasMoreRecent) = 0;
426
439 virtual void OnEmojiDetail(const std::string& messageID, const std::string& emojiCode, bool isFirstPage, bool isLastPage,
440 const std::vector<ChatEmojiComment>& emojiSenders) = 0;
441
448 virtual void OnSendMessageFailed() = 0;
449};
450
454{
455public:
457
469
481
482 // Check if new chat experience to choose the API set.
483
494 virtual ZRCSDKError IsNewChatExperience(bool& isNewChat) = 0;
495
506 virtual ZRCSDKError OpenChatPageOnZRC(bool open) = 0;
507
508 // ==========================================================================
509 // New Meeting Chat
510 // ==========================================================================
511
522
535 virtual ZRCSDKError IsRequiredConfirmCMCTip(bool& required) = 0;
536
537 // ==========================================================================
538 // New meeting chat messages load from most recent to history.
539 // ==========================================================================
540
551
562 virtual ZRCSDKError LoadCommentMessages(const std::string& threadID) = 0;
563
577 virtual ZRCSDKError SendNewChatMessage(const std::string& threadID, int32_t receiverMeetingUserID, MeetingChatMSGSendToType chatMSGType,
578 const std::string& text) = 0;
579
590 virtual ZRCSDKError DeleteNewChatMessage(const std::string& messageID) = 0;
591
603 virtual ZRCSDKError EditNewChatMessage(const std::string& messageID, const std::string& text) = 0;
604
616 virtual ZRCSDKError FetchNewChatEmojiDetail(const std::string& messageID, const std::string& emojiCode) = 0;
617
628 virtual ZRCSDKError IsOnlySelectedEmojisEnabled(bool& isOnlySelectedEmojisEnabled) = 0;
629
640 virtual ZRCSDKError GetSelectedEmojisForReaction(std::string& selectedEmojis) = 0;
641
654 virtual ZRCSDKError ReactNewChatEmoji(const std::string& messageID, bool add, const std::string& emojiCode) = 0;
655
656 // ==========================================================================
657 // Help methods
658 // ==========================================================================
659
670 virtual ZRCSDKError IsReplyChatDisabled(bool& isReplyChatDisabled) = 0;
671
682 virtual ZRCSDKError IsEditMessageEnabled(bool& isEditMessageEnabled) = 0;
683
694 virtual ZRCSDKError IsReactEmojiEnabled(bool& isReactEmojiEnabled) = 0;
695
706 virtual ZRCSDKError IsAllowHyperlinks(bool& isAllowHyperlinks) = 0;
707
718 virtual ZRCSDKError IsReadyForLoadMessage(bool& isReadyForLoadMessage) = 0;
719
732 virtual ZRCSDKError GetNewMeetingChatMessageList(std::vector<NewMeetingChatThreadItem>& messages) = 0;
733
734 // ==========================================================================
735 // Old meeting chat
736 // ==========================================================================
737
749 virtual ZRCSDKError FetchChatMessages(int32_t start, int32_t count) = 0;
750
761 virtual ZRCSDKError DeleteChatMessage(const std::string& messageID) = 0;
762
775 virtual ZRCSDKError SendChatMessage(int32_t receiverID, MeetingChatMSGSendToType type, const std::string& content) = 0;
776
789 virtual ZRCSDKError GetOldMeetingChatMessages(std::vector<MeetingChatMessage>& messages) = 0;
790
803 virtual ZRCSDKError GetWebinarChattedAttendees(std::vector<MeetingParticipant>& chattedAttendees) = 0;
804
805 // ==========================================================================
806 // Option control
807 // ==========================================================================
808
819 virtual ZRCSDKError ShowChatNotificationOnZR(bool show) = 0;
820
831 virtual ZRCSDKError ShowChatListOnZR(bool show) = 0;
832
844
856};
857
859
860#endif /* ZRC_IMEETINGCHATHELPER_H */
MeetingChatPanelistPrivilegeType
Meeting chat privilege type for panelist in webinar. Here are more detailed structural descriptions.
@ MeetingChatPanelistPrivilegeTypeAllPanelist
Meeting chat panelist privilege type is all panelist.
@ MeetingChatPanelistPrivilegeTypeUnknown
Meeting chat panelist privilege type is unknown.
@ MeetingChatPanelistPrivilegeTypeAll
Meeting chat panelist privilege type is all.
MeetingChatMSGSendToType
Meeting chat message send to type. Here are more detailed structural descriptions.
@ MeetingChatMSGSendToTypeToAll
Send chat to every one.
@ MeetingChatMSGSendToTypeToIndividual
Send chat to individual.
@ MeetingChatMSGSendToTypeUnknown
Unknown.
@ MeetingChatMSGSendToTypeToPanelist
Send chat to host and panelists.
@ MeetingChatMSGSendToTypeToIndividualCcPanelist
Send chat to individual attendee and cc host and panelists.
@ MeetingChatMSGSendToTypeToGreenRoom
Send chat to backstage.
MeetingChatMessageState
Meeting chat message state. Here are more detailed structural descriptions.
@ MeetingChatMessageState_SENT
Message sent.
@ MeetingChatMessageState_SENDING
Message sending.
@ MeetingChatMessageState_RECEIVED
Message received.
@ MeetingChatMessageState_UNKNOWN
Unknown.
MeetingChatSyncType
Meeting chat sync type. Here are more detailed structural descriptions.
@ MeetingChatSyncType_UNKNOWN
Unknown.
@ MeetingChatSyncType_LOAD_MORE_HISTORY
Load more history.
@ MeetingChatSyncType_INIT
Init action.
MeetingChatMessageType
Meeting chat message type. Here are more detailed structural descriptions.
@ MeetingChatMessageType_CMC_MEETING
System message, example "Meeting started/ended ${data & time}".
@ MeetingChatMessageType_REVOKE_MESSAGE
System message, example "You deleted a message".
@ MeetingChatMessageType_UNKNOWN
Unknown.
@ MeetingChatMessageType_TEXT
Message is Text.
@ MeetingChatMessageType_CMC_GROUP_CHAT
System message, example "Messages addressed to "Meeting Group Chat" will also appear in the meeting g...
@ MeetingChatMessageType_CMC_GUEST_JOIN_OR_LEFT
System message, example "Darrel Marquez joined as a guest / Darrel Marquez left".
@ MeetingChatMessageType_IMAGE
Message is Image, JPG/PNG.
@ MeetingChatMessageType_FILE
Message is File.
MeetingChatPrivilegeType
Meeting chat privilege type for participants in normal meeting and attendees in webinar....
@ MeetingChatPrivilegeTypeAllPanelist
Meeting chat privilege type is panelist.
@ MeetingChatPrivilegeTypeAll
Meeting chat privilege type is all.
@ MeetingChatPrivilegeTypeUnknown
Meeting chat privilege type is unknown.
@ MeetingChatPrivilegeTypeHostPublic
Meeting chat privilege type is host public.
@ MeetingChatPrivilegeTypeDisableAttendeeChat
Meeting chat privilege type is none.
@ MeetingChatPrivilegeTypeHost
Meeting chat privilege type is host.
MeetingChatMessageSubType
Meeting chat message sub-type. Here are more detailed structural descriptions.
@ MeetingChatMessageSubType_COMMENT
Comment. Message under thread message.
@ MeetingChatMessageSubType_NOT_SET
Not set.
@ MeetingChatMessageSubType_THREAD
Thread. A thread is a root message and can contain other comments.
#define NS_ZRCSDK_END
#define NS_ZRCSDK_BEG
ZRC SDK Types.
EncryptionAlgorithm
Encryption algorithm Here are more detailed structural descriptions.
@ EncryptionAlgorithm_Unknown
Unknown.
ZRCSDKError
SDK error types. Here are more detailed structural descriptions.
Definition ZRCSDKTypes.h:22
Meeting Chat helper interface.
virtual ZRCSDKError GetNewMeetingChatMessageList(std::vector< NewMeetingChatThreadItem > &messages)=0
Query loaded new meeting chat message list.
virtual ZRCSDKError ShowChatNotificationOnZR(bool show)=0
Show chat notification on ZR.
virtual ZRCSDKError SendNewChatMessage(const std::string &threadID, int32_t receiverMeetingUserID, MeetingChatMSGSendToType chatMSGType, const std::string &text)=0
Send new chat message.
virtual ZRCSDKError IsOnlySelectedEmojisEnabled(bool &isOnlySelectedEmojisEnabled)=0
Query if meeting chat only allows to react with selected emojis.
virtual ZRCSDKError GetWebinarChattedAttendees(std::vector< MeetingParticipant > &chattedAttendees)=0
Query webinar chatted attendees, not include self.
virtual ZRCSDKError FetchNewChatEmojiDetail(const std::string &messageID, const std::string &emojiCode)=0
Fetch new chat emoji detail.
virtual ZRCSDKError IsReadyForLoadMessage(bool &isReadyForLoadMessage)=0
Query if ready for load message.
virtual ZRCSDKError IsRequiredConfirmCMCTip(bool &required)=0
Query if required to confirm CMC tip.
virtual ZRCSDKError DeregisterSink(IMeetingChatHelperSink *pSink)=0
Deregister meeting chat helper callback sink.
virtual ZRCSDKError IsAllowHyperlinks(bool &isAllowHyperlinks)=0
Query if allow hyper links.
virtual ZRCSDKError ShowChatListOnZR(bool show)=0
Show chat list on ZR.
virtual ZRCSDKError SetChatPanelistPrivilege(MeetingChatPanelistPrivilegeType type)=0
Update Chat Panelist Privilege in webinar.
virtual ZRCSDKError IsReactEmojiEnabled(bool &isReactEmojiEnabled)=0
Query if react emoji enabled.
virtual ZRCSDKError ReactNewChatEmoji(const std::string &messageID, bool add, const std::string &emojiCode)=0
React new chat emoji.
virtual ZRCSDKError OpenChatPageOnZRC(bool open)=0
Inform ZR that ZRC enters chat page.
virtual ZRCSDKError LoadCommentMessages(const std::string &threadID)=0
Load more history thread's comment messages. Start from the most history thread's comment message,...
virtual ZRCSDKError IsReplyChatDisabled(bool &isReplyChatDisabled)=0
Query if reply chat disabled.
virtual ZRCSDKError GetOldMeetingChatMessages(std::vector< MeetingChatMessage > &messages)=0
Query loaded old meeting chat message list.
virtual ZRCSDKError SendChatMessage(int32_t receiverID, MeetingChatMSGSendToType type, const std::string &content)=0
Send chat message.
virtual ZRCSDKError IsEditMessageEnabled(bool &isEditMessageEnabled)=0
Query if edit message enabled.
virtual ZRCSDKError FetchChatMessages(int32_t start, int32_t count)=0
Fetch chat message.
virtual ZRCSDKError ConfirmCMCTip()=0
Confirm CMC tip.
virtual ZRCSDKError DeleteChatMessage(const std::string &messageID)=0
Delete chat message.
virtual ZRCSDKError SetChatPrivilege(MeetingChatPrivilegeType type)=0
Update chat privilege for participants in normal meeting and attendees in webinar.
virtual ZRCSDKError RegisterSink(IMeetingChatHelperSink *pSink)=0
Register meeting chat helper callback sink.
virtual ZRCSDKError DeleteNewChatMessage(const std::string &messageID)=0
Delete new chat message.
virtual ZRCSDKError EditNewChatMessage(const std::string &messageID, const std::string &text)=0
Edit new chat message.
virtual ZRCSDKError IsNewChatExperience(bool &isNewChat)=0
Query if new chat experience.
virtual ZRCSDKError GetSelectedEmojisForReaction(std::string &selectedEmojis)=0
Query allowed emojis to react to chat messages. Only needed when meeting chat only allows to react wi...
virtual ZRCSDKError LoadThreadMessages()=0
Load more history thread messages. Start from the most history message, max size 20 one call.
Meeting Chat helper event callback.
virtual void OnMeetingChatPrivilegeNotification(const MeetingChatPrivilege &chatPrivilege)=0
Meeting chat privilege notification.
virtual void OnChatDisplaySettingsNotification(bool isShowChatNotificationOnZR, bool isShowChatListOnZR)=0
Chat display settings notification.
virtual void OnIsReadyForLoadMessageChanged()=0
Ready to load message changes notification.
virtual void OnUpdateCMCInfo(bool isCMCForBackendEnabled, bool isTeamChatEnabled)=0
CMC info update notification.
virtual void OnThreadDeleted(const NewMeetingChatMessage &thread)=0
Thread deleted notification.
virtual void OnMeetingChatMessagesNotification(const std::vector< MeetingChatMessage > &messages)=0
Meeting chat messages notification.
virtual void OnChatMessageResponse(int32_t result, int32_t action)=0
Chat message response.
virtual void OnEmojiUpdated(const std::vector< NewMeetingChatMessage > &messages)=0
Emoji updated notification.
virtual void OnCommentDeleted(const NewMeetingChatMessage &comment, const NewMeetingChatMessage &updatedThread)=0
Comment deleted notification.
virtual void OnUpdateCMCTip(bool needConfirm, const std::string &title, const std::string &message)=0
CMC tip info update notification.
virtual void OnCommentReceived(const NewMeetingChatMessage &comment, const NewMeetingChatMessage &updatedThread)=0
Comment received notification.
virtual void OnMessagesUpdated(const std::vector< NewMeetingChatMessage > &messages)=0
Messages updated notification.
virtual void OnEmojiDetail(const std::string &messageID, const std::string &emojiCode, bool isFirstPage, bool isLastPage, const std::vector< ChatEmojiComment > &emojiSenders)=0
Emoji updated notification.
virtual void OnSendMessageFailed()=0
Send message failed notification.
virtual void OnThreadReceived(const NewMeetingChatMessage &thread)=0
Thread received notification.
virtual void OnMessageLoaded(const ChatMessageSyncFilter &filter, bool result, const std::vector< NewMeetingChatMessage > &messages, bool hasMoreHistory, bool hasMoreRecent)=0
Message loaded notification.
virtual void OnThreadSent(const NewMeetingChatMessage &thread)=0
Thread sent notification.
virtual void OnCommentSent(const NewMeetingChatMessage &comment, const NewMeetingChatMessage &updatedThread)=0
Comment sent notification.
Chat emoji comment New chat supports emoji reaction.
std::string displayName
Display name.
int32_t meetingUserID
Meeting user id.
std::string guid
Guid.
Chat emoji count info. New chat supports emoji reaction.
std::string emoji
Emoji.
int64_t firstEmojiTime
First sent emoji time.
bool containMine
TRUE indicates self also sent this emoji.
Chat message sync filter.
uint32_t maxSize
Max size.
MeetingChatSyncType syncType
Sync type, see MeetingChatSyncType enum.
MeetingChatMessageSubType messageSubType
Message sub-type, see MeetingChatMessageSubType enum.
std::string threadID
Thread ID.
int64_t startVisibleTime
Start visible time.
Meeting chat message old chat message struct.
bool canBeDeleted
TRUE indicates message can be deleted.
std::string senderDisplayName
Sender display name.
bool isDeleted
TRUE indicates message is deleted.
std::string fileName
File name.
bool isShareFileMessage
TRUE indicates message is a share file message.
std::string fileURL
File URL.
std::string timestamp
Time stamp.
std::string content
Content.
bool isFile
TRUE indicates message is a file.
std::string messageID
Message ID.
int32_t receiverID
Receiver user id.
std::string receiverDisplayName
Receiver display name.
bool isSelfSend
TRUE indicates message is sent by self.
int32_t contentType
Content type. see MeetingChatMessageType enum.
bool isEdited
TRUE indicates message is edited.
int32_t senderID
Sender user id.
MeetingChatMSGSendToType msgSendToType
Message send to type, see MeetingChatMSGSendToType enum.
ShareFileInMeetingChatParam shareFileInfo
Share file info.
int32_t fileSize
File size.
Meeting chat privilege.
bool isChatOff
TRUE indicates the chat is on.
MeetingChatPrivilegeType type
Meeting chat privilege type.
bool isAttendeeChatAllowed
TRUE indicates attendee chat is allowed.
MeetingChatPanelistPrivilegeType panelistPrivilegeType
Meeting chat panelist privilege type.
New meeting chat message New meeting chat message struct. Time all timestamp.
int64_t meetingEndedRealTime
[-1] Invalid, meeting ended real time.
bool isNotExist
TRUE indicates message not exist.
std::string threadID
Thread ID.
bool canBeDeleted
TRUE indicates message can be deleted.
std::string messageID
Message ID.
int64_t visibleTime
Visible time. This indicates the message being updated time including thread's comments....
bool isCurrentMeetingMessage
TRUE indicates message is current meeting's message.
int64_t commentCount
Comment count.
MeetingChatMessageSubType subType
Message sub-type, see MeetingChatMessageSubType enum.
int64_t threadServerTime
Thread server time in millisecond.
MeetingChatMessageState state
Message state, see MeetingChatMessageState enum.
std::vector< ChatEmojiCountInfo > emojiList
Emoji list.
std::string receiverName
Receiver name.
std::string fileID
File ID.
bool isSupported
TRUE indicates message type is supported.
std::string senderConfUserID
Sender conf user ID.
MeetingChatMessageType type
Message type, see MeetingChatMessageType enum.
int32_t receiverMeetingUserID
Receiver meeting user ID.
bool fileCmcDownAttachPlain
TRUE indicates file CMC down attach plain.
int64_t messageEditTime
Message edit time in millisecond.
EncryptionAlgorithm fileEncryptionAlgorithm
File encryption algorithm, see EncryptionAlgorithm enum.
int64_t messageServerTime
Message server time in millisecond.
bool canBeReplied
TRUE indicates message can be replied.
bool isSelfSend
TRUE indicates message is self send.
std::string fileE2EKey
File E2E key.
bool isDeleted
TRUE indicates message is deleted.
std::string senderUserGUID
Sender user GUID.
std::string senderName
Sender name.
MeetingChatMSGSendToType chatSendToType
Message send to type, see MeetingChatMSGSendToType enum.
int32_t senderMeetingUserID
Sender meeting user ID.
int64_t meetingRealDuration
[-1] Invalid, meeting real duration
int64_t meetingStartedRealTime
[-1] Invalid, meeting started real time.
std::string fileE2EIv
File E2E iv.
std::string receiverConfUserID
Receiver conf user ID.
std::string receiverUserGUID
Receiver user GUID.
std::string fileName
File name.
std::string body
Message body.
New meeting chat thread item. A thread can contain several comments.
NewMeetingChatMessage thread
Thread message.
std::vector< NewMeetingChatMessage > comments
Comment messages.
Share file in meeting chat params.
std::string fileName
File name.
std::string downloadURL
File download URL.
std::string previewURL
File preview URL.
std::string fileSize
File size.
std::string thumbnailURL
File thumbnail URL.