6#ifndef _MEETING_Configuration_INTERFACE_H_
7#define _MEETING_Configuration_INTERFACE_H_
10#include "customized_resource_helper_interface.h"
280enum SDKInviteDlgTabPage
282 SDK_INVITEDLG_TAB_EMAILCONTACT = 0,
283 SDK_INVITEDLG_TAB_PHONECONTACT,
284 SDK_INVITEDLG_TAB_ROOMSYSTEM,
289 SDK_INVITEDLG_H323_DIALIN = 0,
290 SDK_INVITEDLG_H323_CALLOUT,
297typedef struct tagRedirectWarningMsgOption
299 bool bRedirectBadNetwork;
300 bool bRedirectWarnHighCPU;
301 tagRedirectWarningMsgOption()
303 bRedirectBadNetwork =
false;
304 bRedirectWarnHighCPU =
false;
307}RedirectWarningMsgOption;
314typedef struct tagPanelistMenuItemOption
316 bool bNotShowDowngradePanelist;
317 tagPanelistMenuItemOption()
319 bNotShowDowngradePanelist =
false;
322}PanelistMenuItemOption;
328typedef struct tagAttendeeMenuItemOption
330 bool bNotShowPromoteToPanelist;
331 tagAttendeeMenuItemOption()
333 bNotShowPromoteToPanelist =
false;
336}AttendeeMenuItemOption;
340class IMeetingUIElemConfiguration
345 virtual void SetMeetingUIPos(WndPosition pos) = 0;
350 virtual void SetFloatVideoPos(WndPosition pos) = 0;
355 virtual void SetSharingToolbarVisibility(
bool bShow) = 0;
359 virtual void SetBottomFloatToolbarWndVisibility(
bool bShow) = 0;
364 virtual void EnableApproveRemoteControlDlg(
bool bEnable) = 0;
369 virtual void EnableDeclineRemoteControlResponseDlg(
bool bEnable) = 0;
373 virtual void EnableLeaveMeetingOptionForHost(
bool bEnable) = 0;
379 virtual void EnableInviteButtonOnMeetingUI(
bool bEnable) = 0;
383 virtual void EnableVideoButtonOnMeetingUI(
bool bEnable) = 0;
387 virtual void EnableAudioButtonOnMeetingUI(
bool bEnable) = 0;
391 virtual void EnableEnterAndExitFullScreenButtonOnMeetingUI(
bool bEnable) = 0;
395 virtual void EnableLButtonDBClick4SwitchFullScreenMode(
bool bEnable) = 0;
399 virtual void SetFloatVideoWndVisibility(
bool bShow) = 0;
404 virtual void RedirectClickShareBTNEvent(
bool bRedirect) = 0;
409 virtual void RedirectClickEndMeetingBTNEvent(
bool bRedirect) = 0;
414 virtual void RedirectFreeMeetingEndingReminderDlg(
bool bRedirect) = 0;
419 virtual void RedirectClickCustomLiveStreamMenuEvent(
bool bRedirect) = 0;
424 virtual void RedirectClickParticipantListBTNEvent(
bool bRedirect) = 0;
429 virtual void RedirectClickCCBTNEvent(
bool bRedirect) = 0;
434 virtual void RedirectMeetingWarningMsg(RedirectWarningMsgOption redirectOption) = 0;
438 virtual void EnableToolTipsShow(
bool bEnable) = 0;
443 virtual void EnableClaimHostFeature(
bool bEnable) = 0;
447 virtual void EnableAutoHideJoinAudioDialog(
bool bEnable) = 0;
451 virtual void AlwaysShowIconOnTaskBar(
bool bAlwaysShow) = 0;
456 virtual void DisableSplitScreenModeUIElements(
bool bDisable) = 0;
460 virtual void SetShowAudioUseComputerSoundChkbox(
bool bShow) = 0;
464 virtual void SetShowVideoOptimizeChkbox(
bool bShow) = 0;
468 virtual void SetShowCallInTab(
bool bShow) = 0;
472 virtual void SetShowCallMeTab(
bool bShow) = 0;
478 virtual SDKError DisableTopMostAttr4SettingDialog(
bool bDisable) = 0;
484 virtual SDKError EnableGrabShareWithoutReminder(
bool bEnable) = 0;
489 virtual void EnableShowShareSwitchMultiToSingleConfirmDlg(
bool bEnable) = 0;
494 virtual void DisableFreeMeetingRemainTimeNotify(
bool bDisable) = 0;
498 virtual void HideChatItemOnMeetingUI(
bool bHide) = 0;
502 virtual void HideRecordItemOnMeetingUI(
bool bHide) = 0;
506 virtual void HideUpgradeFreeMeetingButton(
bool bHide) = 0;
511 virtual void SetShowInviteDlgTabPage(SDKInviteDlgTabPage tabPage,
bool bShow) = 0;
516 virtual void SetShowH323SubTabPage(SDKH323TabPage tabPage,
bool bShow) = 0;
521 virtual void EnableLocalRecordingConvertProgressBarDialog(
bool bShow) = 0;
525 virtual void HideSwitchCameraButton(
bool bHide) = 0;
529 virtual void HideCopyUrlOnInviteWindow(
bool bHide) = 0;
533 virtual void HideCopyInvitationOnInviteWindow(
bool bHide) = 0;
537 virtual void HideKeypadButtonOnMeetingWindow(
bool bHide) = 0;
542 virtual void HideRemoteControlOnMeetingUI(
bool bHide) = 0;
546 virtual void HideQAOnMeetingUI(
bool bHide) = 0;
550 virtual void HidePollOnMeetingUI(
bool bHide) = 0;
555 virtual void DisableAdvanceAudioDeivceCtrl(
bool bDisable) = 0;
560 virtual void RedirectClickAudioBTNEvent(
bool bRedirect) = 0;
565 virtual void RedirectClickAudioMenuBTNEvent(
bool bRedirect) = 0;
570 virtual void RedirectClickBreakoutRoomButtonEvent(
bool bRedirect) = 0;
574 virtual void HideReactionsOnMeetingUI(
bool bHide) = 0;
578 virtual void HideMeetingInfoOnMeetingUI(
bool bHide) = 0;
582 virtual void HideShareButtonOnMeetingUI(
bool bHide) = 0;
586 virtual void DisablePanelistMenuItem(PanelistMenuItemOption menuOption) = 0;
590 virtual void DisableAttendeeMenuItem(AttendeeMenuItemOption menuOption) = 0;
594 virtual void EnableInviteLinkOnMeetingUI(
bool bEnable) = 0;
598 virtual void EnableCloudWhiteboard(
bool bEnable) = 0;
602 virtual void HideCloudWhiteboardFeedbackButton(
bool bHide) = 0;
606 virtual void HideCloudWhiteboardShareButton(
bool bHide) = 0;
610 virtual void HideCloudWhiteboardAboutButton(
bool bHide) = 0;
614 virtual void HideCloudWhiteboardHelperCenterButton(
bool bHide) = 0;
618 virtual void HideCloudWhiteboardOpenInBrowserButton(
bool bHide) = 0;
622 virtual void HideRequestRecordPrivilegeDialog(
bool bHide) = 0;
678 virtual void DisablePopupMeetingWrongPSWDlg(
bool bDisable) = 0;
682 virtual void DisableWaitingForHostDialog(
bool bDisable) = 0;
687 virtual void EnableInputMeetingPasswordDlg(
bool bEnable) = 0;
692 virtual void EnableInputMeetingScreenNameDlg(
bool bEnable) = 0;
697 virtual void PrePopulateWebinarRegistrationInfo(
const zchar_t* email,
const zchar_t* username) = 0;
701 virtual void DisableAutoShowSelectJoinAudioDlgWhenJoinMeeting(
bool bDisable) = 0;
705 virtual void DisableShowJoinMeetingWnd(
bool bDisable) = 0;
713public IMeetingUIElemConfiguration,
743 virtual void SetDirectShareMonitorID(
const zchar_t* monitorID) = 0;
750 virtual void ConfigDSCP(
int dscpAudio,
int dscpVideo,
bool bReset) = 0;
756 virtual void EnableLengthLimitationOfMeetingNumber(
bool bEnable) = 0;
760 virtual void EnableShareIOSDevice(
bool bEnable) = 0;
764 virtual void EnableShareWhiteBoard(
bool bEnable) = 0;
768 virtual void ForceDisableMultiShare(
bool bDisable) = 0;
774 virtual SDKError EnableZoomDocs(
bool bEnable) = 0;
End other meeting to join the new meeting Handler.
virtual bool EndOtherMeeting()=0
Close another ongoing meeting.
virtual ~IEndOtherMeetingToJoinMeetingHandler()
virtual void Cancel()=0
Ignore the prompt of closing another ongoing meeting.
Meeting connect configuration Interface.
virtual void EnableForceAutoStopMyVideoWhenJoinMeeting(bool bEnable)=0
Set if it is able to force turn off video when joining the meeting. Default: FALSE.
virtual void RedirectConfirmStartArchiveDialog(bool bRedirect)=0
Set if it is able to handle the confirm start archive dialog dlg with user's own program in the meeti...
virtual void EnableAutoEndOtherMeetingWhenStartMeeting(bool bEnable)=0
Set if it is able to end automatically another ongoing meeting when joining a new meeting....
virtual void EnableForceAutoStartMyVideoWhenJoinMeeting(bool bEnable)=0
Set if it is able to force to turn on the video when join meeting. Default: FALSE.
virtual void RedirectEndOtherMeeting(bool bRedirect)=0
Set if it is able to redirect the process to end another meeting by user's own program....
virtual void RedirectWebinarNeedRegister(bool bRedirect)=0
Set if it is able to handle the webinar register process with user's own program in the meeting....
virtual void RedirectWebinarNameInputDialog(bool bRedirect)=0
Set if it is able to handle the webinar username input dlg with user's own program in the meeting....
virtual void RedirectMeetingInputUserInfoDialog(bool bRedirect)=0
Set if it is able to handle the display name and email input dlg with user's own program in the meeti...
virtual void RedirectConfirmRecoverMeetingDialog(bool bRedirect)=0
Set if it is able to handle the confirm recover meeting dialog dlg with user's own program in the mee...
user to handle confirm whether start archiving after joining the meeting.
virtual SDKError JoinWithArchive(bool bStartArchive)=0
Join the meeting.
virtual const zchar_t * GetArchiveConfirmContent()=0
The content that notifies the user to confirm starting to archive when joining the meeting.
virtual ~IMeetingArchiveConfirmHandler()
Meeting configuration event callback.
virtual void onJoinMeetingNeedUserInfo(IMeetingInputUserInfoHandler *pHandler)=0
When joining the meeting, this callback is triggered if the user needs to input a username and email.
virtual void onUserConfirmRecoverMeeting(IMeetingConfirmRecoverHandler *handler)=0
Callback event when the host starts a deleted or expired meeting(not PMI meeting).
virtual void onWebinarNeedInputScreenName(IWebinarInputScreenNameHandler *pHandler)=0
When joining the webinar, this callback is triggered if the user needs to input a username.
virtual ~IMeetingConfigurationEvent()
virtual void onUserConfirmToStartArchive(IMeetingArchiveConfirmHandler *pHandler)=0
Callback event when joining a meeting if the admin allows the the user to choose to archive the meeti...
virtual void onWebinarNeedRegisterNotification(IWebinarNeedRegisterHandler *handler_)=0
During the webinar, this callback event will be triggered if the user needs to register.
virtual void onInputMeetingPasswordAndScreenNameNotification(IMeetingPasswordAndScreenNameHandler *pHandler)=0
The SDK will trigger the callback event if the password or screen name is required.
virtual void onEndOtherMeetingToJoinMeetingNotification(IEndOtherMeetingToJoinMeetingHandler *handler_)=0
The user will receive this callback event if the user wants to join the new meeting while the ongoing...
Free meeting event handler.
virtual ~IMeetingConfigurationFreeMeetingEvent()
virtual void onFreeMeetingRemainTime(unsigned int leftTime)=0
The SDK will trigger this callback event during the free meeting to inform the user how much time is ...
virtual void onFreeMeetingNeedToUpgrade(FreeMeetingNeedUpgradeType type_, const zchar_t *gift_url)=0
The callback of upgrading the free meeting.
virtual void onFreeMeetingRemainTimeStopCountDown()=0
The callback of free meeting stops the countdown.
virtual void onFreeMeetingUpgradeToProMeeting()=0
Callback function of free meting upgrades successfully.
virtual void onFreeMeetingUpgradeToGiftFreeTrialStart()=0
Callback function of starting to upgrade the free meeting by the gift link.
FreeMeetingNeedUpgradeType
Upgrade types of free meeting. Here are more detailed structural descriptions.
@ FreeMeetingNeedUpgradeType_BY_GIFTURL
Upgrade the free meeting by the gift link.
@ FreeMeetingNeedUpgradeType_NONE
Initialization.
@ FreeMeetingNeedUpgradeType_BY_ADMIN
It is necessary for administrator to upgrade the free meeting.
virtual void onFreeMeetingUpgradeToGiftFreeTrialStop()=0
Callback function of ending upgrade the free meeting by the gift link.
Meeting configuration interface.
virtual void SetMaxDurationForOnlyHostInMeeting(int nDuration)=0
Set the maximum duration of the meeting when there is no attendee in the meeting. Default: 24*60.
virtual void EnableAutoAdjustMicVolumeWhenJoinAudio(bool bEnable)=0
Set if it is able to auto-adjust the volume of the mic when joining the meeting. Default: TRUE.
virtual void Reset()=0
Reset the meeting configuration and back to the default state.
virtual void EnableAutoAdjustSpeakerVolumeWhenJoinAudio(bool bEnable)=0
Set if it is able to auto-adjust the volume of the speaker when joining the meeting....
virtual void SetEvent(IMeetingConfigurationEvent *pEvent)=0
Set meeting configuration controller callback event handler.
host to handle confirm whether recover meeting or not when start a deleted or expired meeting.
virtual SDKError RecoverMeeting(bool bRecover)=0
Join the meeting.
virtual ~IMeetingConfirmRecoverHandler()
virtual const zchar_t * GetRecoverMeetingContent()=0
The content that notifies the host to recover the meeting.
Meeting screen name and password handler.
virtual void Cancel()=0
Ignore the prompt of completing the information.
virtual ~IMeetingPasswordAndScreenNameHandler()
virtual RequiredInfoType GetRequiredInfoType()=0
Get the type of required information to be completed.
virtual bool InputMeetingPasswordAndScreenName(const zchar_t *meetingPassword, const zchar_t *screenName)=0
Complete the password and screen name information.
virtual bool InputMeetingScreenName(const zchar_t *screenName)=0
Complete the screen name.
RequiredInfoType
Type of necessary information to join the meeting. Here are more detailed structural descriptions.
@ REQUIRED_INFO_TYPE_MeetingIDAndScreenName
The user needs to enter the screen name and the meeting id,via the InputMeetingMeetingIDAndScreenName...
@ REQUIRED_INFO_TYPE_PasswordAndScreenName
The user needs to enter the screen name and the password,via the InputMeetingPasswordAndScreenName() ...
@ REQUIRED_INFO_TYPE_ScreenName
The user needs to enter the screen name. Via the InputMeetingPasswordAndScreenName() to specify the s...
@ REQUIRED_INFO_TYPE_Password4WrongPassword
If the password is invalid, the user needs to re-enter it. Via the InputMeetingPasswordAndScreenName(...
@ REQUIRED_INFO_TYPE_NONE
Initialization.
@ REQUIRED_INFO_TYPE_Password
The user needs to enter the password when joins the meeting. Via the InputMeetingPasswordAndScreenNam...
virtual bool InputMeetingIDAndScreenName(const zchar_t *meetingID, const zchar_t *screenName)=0
Complete the meeting id and screen name information.
Webinar register with email and screen name Handler.
virtual SDKError InputWebinarRegisterEmailAndScreenName(const zchar_t *email, const zchar_t *screenName)=0
Configure the information of email and screen name.
virtual ~IWebinarNeedRegisterHandlerByEmail()
virtual void Cancel()=0
Ignore the prompt of the register.
Register webinar with URL Handler.
virtual void Release()=0
Release object.
virtual const zchar_t * GetWebinarRegisterUrl()=0
Get the URL to register webinar.
virtual ~IWebinarNeedRegisterHandlerByUrl()
Webinar register handler.
virtual WebinarNeedRegisterType GetWebinarNeedRegisterType()=0
Get the type to register. For more details, see WebinarNeedRegisterType enum.
WebinarNeedRegisterType
Register type of webinar. Here are more detailed structural descriptions.
@ WebinarReg_By_Email_and_DisplayName
Register webinar account by email and the screen name.
@ WebinarReg_NONE
Initialization.
@ WebinarReg_By_Register_Url
Register webinar account by URL.
virtual ~IWebinarNeedRegisterHandler()
ZOOM windows SDK Common Definition File.
#define END_ZOOM_SDK_NAMESPACE
#define BEGIN_ZOOM_SDK_NAMESPACE
SDKError
Enumeration of common errors of SDK.