6#ifndef ZRC_IMEETINGQAHELPER_H
7#define 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.
ZRCSDKError
SDK error types. Here are more detailed structural descriptions.
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 ~IMeetingQAHelperSink()
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.
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.