Zoom Rooms Controller SDK Reference 6.5.0
Loading...
Searching...
No Matches
IMeetingQAHelper.h
Go to the documentation of this file.
1
6#ifndef ZRC_IMEETINGQAHELPER_H
7#define ZRC_IMEETINGQAHELPER_H
8
9#include "ZRCSDKTypes.h"
10
12
18{
23};
24
28{
30 std::string messageID;
31 uint64_t timestamp = 0;
32 std::string content;
33 std::string senderName;
34 std::string senderAvatar;
35 bool isMyselfMessage = false;
36 bool isGuest = false;
37 bool isMarkedAsDeleted = false;
38
39 //Answer
40 std::string questionID;
41 bool isPrivate = false;
42 bool isLiveAnswer = false;
43
44 //Question
45 bool hasTextAnswers = false;
46 bool typeAnswering = false;
47 std::vector<std::string> typingUserNames;
48
49 bool hasLiveAnswers = false;
50 bool liveAnswering = false;
51 std::vector<std::string> livingUserNames;
52
53 bool amILiveAnswering = false;
54 bool isAnonymous = false;
55 bool isMarkedAsAnswered = false;
56 bool isMarkedAsDismissed = false;
57
58 //Upvote
59 int32_t upvoteNumber = 0;
60 bool isMyselfUpvoted = false;
61
62 std::vector<MeetingQAMessage> answers;
63};
64
68{
69public:
71
80 virtual void OnBecomeMainZRC(bool isMainZRC) = 0;
81
90 virtual void OnIsMeetingQAEnabled(bool enable) = 0;
91
100 virtual void OnIsAllowSubmitQuestionsChanged(bool allow) = 0;
101
110 virtual void OnIsAllowAnonymousQuestionsChanged(bool allow) = 0;
111
120 virtual void OnIsAllowViewAllQuestionsChanged(bool allow) = 0;
121
130 virtual void OnIsAllowUpvoteChanged(bool allow) = 0;
131
140 virtual void OnIsAllowCommentChanged(bool allow) = 0;
141
150 virtual void OnIsShowOnZRChanged(bool show) = 0;
151
161 virtual void OnLoadMessages(bool isLoadBegin, bool isLoadEnd) = 0;
162
171 virtual void OnReceiveMessages(const std::vector<MeetingQAMessage>& messages) = 0;
172
181 virtual void OnUpdateMessage(const MeetingQAMessage& message) = 0;
182};
183
187{
188public:
189 virtual ~IMeetingQAHelper() {}
190
202
214
225 virtual ZRCSDKError BecomeMainZRC(bool mainZRC) = 0;
226
238 virtual ZRCSDKError CreateQuestion(const std::string& context, bool isAnonymous) = 0;
239
252 virtual ZRCSDKError CreateAnswer(const std::string& context, const std::string& questionID, bool isPrivate) = 0;
253
265 virtual ZRCSDKError CreateComment(const std::string& context, const std::string& questionID) = 0;
266
277 virtual ZRCSDKError DeleteMessage(const std::string& messageID) = 0;
278
289 virtual ZRCSDKError DismissQuestion(const std::string& messageID) = 0;
290
301 virtual ZRCSDKError ReopenQuestion(const std::string& messageID) = 0;
302
313 virtual ZRCSDKError StartComposing(const std::string& messageID) = 0;
314
325 virtual ZRCSDKError StopComposing(const std::string& messageID) = 0;
326
337 virtual ZRCSDKError StartLiving(const std::string& messageID) = 0;
338
349 virtual ZRCSDKError StopLiving(const std::string& messageID) = 0;
350
361 virtual ZRCSDKError UpvoteQuestion(const std::string& messageID) = 0;
362
373 virtual ZRCSDKError RevokeUpvoteQuestion(const std::string& messageID) = 0;
374
385 virtual ZRCSDKError EnableMeetingQA(bool enable) = 0;
386
397 virtual ZRCSDKError AllowSubmitQuestions(bool allow) = 0;
398
409 virtual ZRCSDKError AllowAnonymousQuestions(bool allow) = 0;
410
421 virtual ZRCSDKError AllowViewAllQuestions(bool allow) = 0;
422
433 virtual ZRCSDKError AllowUpvote(bool allow) = 0;
434
445 virtual ZRCSDKError AllowComment(bool allow) = 0;
446
457 virtual ZRCSDKError ShowOnZR(bool show) = 0;
458
469 virtual ZRCSDKError IsMainZRC(bool& isMainZRC) = 0;
470
481 virtual ZRCSDKError GetAllMessages(std::vector<MeetingQAMessage>& messages) = 0;
482
493 virtual ZRCSDKError IsMeetingQAEnabled(bool& isEnabled) = 0;
494
505 virtual ZRCSDKError IsAllowSubmitQuestions(bool& isAllow) = 0;
506
517 virtual ZRCSDKError IsAllowAnonymousQuestions(bool& isAllow) = 0;
518
529 virtual ZRCSDKError IsAllowViewAllQuestions(bool& isAllow) = 0;
530
541 virtual ZRCSDKError IsAllowUpvote(bool& isAllow) = 0;
542
553 virtual ZRCSDKError IsAllowComment(bool& isAllow) = 0;
554
565 virtual ZRCSDKError IsShowOnZR(bool& isShow) = 0;
566};
567
569#endif //ZRC_IMEETINGQAHELPER_H
MeetingQAMessageType
Meeting Q&A message type Here are more detailed structural descriptions.
@ MeetingQAMessageType_Answer
Meeting Q&A message type answer.
@ MeetingQAMessageType_Unknown
Meeting Q&A message type unknown.
@ MeetingQAMessageType_Question
Meeting Q&A message type question.
@ MeetingQAMessageType_Comment
Meeting Q&A message type comment.
#define NS_ZRCSDK_END
#define NS_ZRCSDK_BEG
ZRC SDK Types.
ZRCSDKError
SDK error types. Here are more detailed structural descriptions.
Definition ZRCSDKTypes.h:22
Waiting Room helper interface.
virtual ZRCSDKError EnableMeetingQA(bool enable)=0
The host or co-host can call this API to enable Q&A feature.
virtual ZRCSDKError GetAllMessages(std::vector< MeetingQAMessage > &messages)=0
Get all messages.
virtual ZRCSDKError StopComposing(const std::string &messageID)=0
The host / co-host or panelist can call this API to stop composing answer.
virtual ZRCSDKError AllowViewAllQuestions(bool allow)=0
The host or co-host can call this API to allow view all questions.
virtual ZRCSDKError CreateAnswer(const std::string &context, const std::string &questionID, bool isPrivate)=0
The host / co-host or panelist can call this API to create answer.
virtual ZRCSDKError CreateComment(const std::string &context, const std::string &questionID)=0
The attendee can call this API to create comment.
virtual ZRCSDKError BecomeMainZRC(bool mainZRC)=0
Request to become main ZRC, only main ZRC can operate message. If quit Q&A UI, you should release mai...
virtual ZRCSDKError DismissQuestion(const std::string &messageID)=0
The host or co-host can call this API to dismiss question.
virtual ZRCSDKError IsAllowSubmitQuestions(bool &isAllow)=0
Query if allow submit questions.
virtual ZRCSDKError RevokeUpvoteQuestion(const std::string &messageID)=0
The participant can call this API to revoke upvote question.
virtual ZRCSDKError DeregisterSink(IMeetingQAHelperSink *pSink)=0
Deregister waiting room helper callback sink.
virtual ZRCSDKError AllowSubmitQuestions(bool allow)=0
The host or co-host can call this API to allow submit questions.
virtual ZRCSDKError IsShowOnZR(bool &isShow)=0
Query if Q&A UI shown on ZR.
virtual ~IMeetingQAHelper()
virtual ZRCSDKError ShowOnZR(bool show)=0
The main ZRC can call this API to show Q&A UI on ZR.
virtual ZRCSDKError StartComposing(const std::string &messageID)=0
The host / co-host or panelist can call this API to start composing answer.
virtual ZRCSDKError IsAllowViewAllQuestions(bool &isAllow)=0
Query if allow view all questions.
virtual ZRCSDKError IsMeetingQAEnabled(bool &isEnabled)=0
Query if meeting Q&A feature enabled.
virtual ZRCSDKError StopLiving(const std::string &messageID)=0
The host / co-host or panelist can call this API to stop living answer.
virtual ZRCSDKError IsAllowComment(bool &isAllow)=0
Query if allow comment.
virtual ZRCSDKError StartLiving(const std::string &messageID)=0
The host / co-host or panelist can call this API to start living answer.
virtual ZRCSDKError DeleteMessage(const std::string &messageID)=0
The host or co-host can call this API to delete message.
virtual ZRCSDKError IsMainZRC(bool &isMainZRC)=0
Query if is main ZRC.
virtual ZRCSDKError CreateQuestion(const std::string &context, bool isAnonymous)=0
The attendee can call this API to create question.
virtual ZRCSDKError IsAllowUpvote(bool &isAllow)=0
Query if allow upvote.
virtual ZRCSDKError AllowUpvote(bool allow)=0
The host or co-host can call this API to allow upvote.
virtual ZRCSDKError RegisterSink(IMeetingQAHelperSink *pSink)=0
Register waiting room helper callback sink.
virtual ZRCSDKError UpvoteQuestion(const std::string &messageID)=0
The participant can call this API to upvote question.
virtual ZRCSDKError ReopenQuestion(const std::string &messageID)=0
The host or co-host can call this API to reopen question.
virtual ZRCSDKError AllowAnonymousQuestions(bool allow)=0
The host or co-host can call this API to allow submit questions anonymously.
virtual ZRCSDKError AllowComment(bool allow)=0
The host or co-host can call this API to allow comment.
virtual ZRCSDKError IsAllowAnonymousQuestions(bool &isAllow)=0
Query if allow anonymous questions.
Meeting Q&A helper callback.
virtual void OnIsShowOnZRChanged(bool show)=0
Notify if the meeting Q&A UI shown on ZR.
virtual void OnIsAllowViewAllQuestionsChanged(bool allow)=0
Notify if the attendee is allowed to view all questions.
virtual void OnLoadMessages(bool isLoadBegin, bool isLoadEnd)=0
Notify the meeting Q&A messages load status.
virtual void OnIsAllowSubmitQuestionsChanged(bool allow)=0
Notify if the attendee is allowed to submit questions.
virtual void OnIsAllowCommentChanged(bool allow)=0
Notify if the attendee is allowed to comment.
virtual void OnIsMeetingQAEnabled(bool enable)=0
Notify if the meeting Q&A feature is enabled or not by host / co-host.
virtual void OnUpdateMessage(const MeetingQAMessage &message)=0
Notify update messages when someone operate a question or create answer / comment.
virtual void OnIsAllowUpvoteChanged(bool allow)=0
Notify if the participant is allowed to upvote.
virtual void OnReceiveMessages(const std::vector< MeetingQAMessage > &messages)=0
Notify receive messages when someone creates a question / answer or comment.
virtual void OnIsAllowAnonymousQuestionsChanged(bool allow)=0
Notify if the attendee is allowed to submit questions anonymously.
virtual void OnBecomeMainZRC(bool isMainZRC)=0
Notify if this controller become main ZRC.
Meeting Q&A message.
std::string questionID
if this message is an answer or a comment, the value indicates belongs to which question.
bool isMyselfMessage
TRUE indicates this message is sent by myself.
bool hasLiveAnswers
TRUE indicates this question has live answers.
bool amILiveAnswering
TRUE indicates I am living answer.
int32_t upvoteNumber
the upvote count of this question.
bool isPrivate
TRUE indicates this answer is private.
std::string messageID
Meeting Q&A message ID.
bool isMarkedAsAnswered
TRUE indicates this question is answered.
std::vector< std::string > typingUserNames
the user's names who is typing answer.
bool hasTextAnswers
TRUE indicates this question has text answers.
uint64_t timestamp
Meeting Q&A message timestamp.
bool isMarkedAsDeleted
TRUE indicates this message is deleted.
bool isAnonymous
TRUE indicates this question is anonymous.
MeetingQAMessageType messageType
Meeting Q&A message type, , such as MeetingQAMessageType enum.
bool isMyselfUpvoted
TRUE indicates I upvoted this question.
bool isGuest
TRUE indicates this message is sent by guest.
std::vector< MeetingQAMessage > answers
answers of this question.
bool isMarkedAsDismissed
TRUE indicates this question is dismissed.
std::vector< std::string > livingUserNames
the user's names who is living answer.
std::string content
Meeting Q&A message content.
std::string senderName
Meeting Q&A message sender name.
bool isLiveAnswer
TRUE indicates this answer is live answer.
bool typeAnswering
TRUE indicates someone is typing answer.
std::string senderAvatar
Meeting Q&A message sender avatar url.
bool liveAnswering
TRUE indicates someone is living answer.