6#ifndef _MEETING_Configuration_INTERFACE_H_
7#define _MEETING_Configuration_INTERFACE_H_
10#include "customized_resource_helper_interface.h"
258enum SDKInviteDlgTabPage
260 SDK_INVITEDLG_TAB_EMAILCONTACT = 0,
261 SDK_INVITEDLG_TAB_PHONECONTACT,
262 SDK_INVITEDLG_TAB_ROOMSYSTEM,
267 SDK_INVITEDLG_H323_DIALIN = 0,
268 SDK_INVITEDLG_H323_CALLOUT,
275typedef struct tagRedirectWarningMsgOption
277 bool bRedirectBadNetwork;
278 bool bRedirectWarnHighCPU;
279 tagRedirectWarningMsgOption()
281 bRedirectBadNetwork =
false;
282 bRedirectWarnHighCPU =
false;
285}RedirectWarningMsgOption;
292typedef struct tagPanelistMenuItemOption
294 bool bNotShowDowngradePanelist;
295 tagPanelistMenuItemOption()
297 bNotShowDowngradePanelist =
false;
300}PanelistMenuItemOption;
306typedef struct tagAttendeeMenuItemOption
308 bool bNotShowPromoteToPanelist;
309 tagAttendeeMenuItemOption()
311 bNotShowPromoteToPanelist =
false;
314}AttendeeMenuItemOption;
318class IMeetingUIElemConfiguration
323 virtual void SetMeetingUIPos(WndPosition pos) = 0;
328 virtual void SetFloatVideoPos(WndPosition pos) = 0;
333 virtual void SetSharingToolbarVisibility(
bool bShow) = 0;
337 virtual void SetBottomFloatToolbarWndVisibility(
bool bShow) = 0;
342 virtual void EnableApproveRemoteControlDlg(
bool bEnable) = 0;
347 virtual void EnableDeclineRemoteControlResponseDlg(
bool bEnable) = 0;
351 virtual void EnableLeaveMeetingOptionForHost(
bool bEnable) = 0;
357 virtual void EnableInviteButtonOnMeetingUI(
bool bEnable) = 0;
361 virtual void EnableVideoButtonOnMeetingUI(
bool bEnable) = 0;
365 virtual void EnableAudioButtonOnMeetingUI(
bool bEnable) = 0;
369 virtual void EnableEnterAndExitFullScreenButtonOnMeetingUI(
bool bEnable) = 0;
373 virtual void EnableLButtonDBClick4SwitchFullScreenMode(
bool bEnable) = 0;
377 virtual void SetFloatVideoWndVisibility(
bool bShow) = 0;
382 virtual void RedirectClickShareBTNEvent(
bool bRedirect) = 0;
387 virtual void RedirectClickEndMeetingBTNEvent(
bool bRedirect) = 0;
392 virtual void RedirectFreeMeetingEndingReminderDlg(
bool bRedirect) = 0;
397 virtual void RedirectClickCustomLiveStreamMenuEvent(
bool bRedirect) = 0;
402 virtual void RedirectClickParticipantListBTNEvent(
bool bRedirect) = 0;
407 virtual void RedirectClickCCBTNEvent(
bool bRedirect) = 0;
412 virtual void RedirectMeetingWarningMsg(RedirectWarningMsgOption redirectOption) = 0;
416 virtual void EnableToolTipsShow(
bool bEnable) = 0;
421 virtual void EnableClaimHostFeature(
bool bEnable) = 0;
425 virtual void EnableAutoHideJoinAudioDialog(
bool bEnable) = 0;
429 virtual void AlwaysShowIconOnTaskBar(
bool bAlwaysShow) = 0;
434 virtual void DisableSplitScreenModeUIElements(
bool bDisable) = 0;
438 virtual void SetShowAudioUseComputerSoundChkbox(
bool bShow) = 0;
442 virtual void SetShowVideoOptimizeChkbox(
bool bShow) = 0;
446 virtual void SetShowCallInTab(
bool bShow) = 0;
450 virtual void SetShowCallMeTab(
bool bShow) = 0;
456 virtual SDKError DisableTopMostAttr4SettingDialog(
bool bDisable) = 0;
462 virtual SDKError EnableGrabShareWithoutReminder(
bool bEnable) = 0;
467 virtual void EnableShowShareSwitchMultiToSingleConfirmDlg(
bool bEnable) = 0;
472 virtual void DisableFreeMeetingRemainTimeNotify(
bool bDisable) = 0;
476 virtual void HideChatItemOnMeetingUI(
bool bHide) = 0;
480 virtual void HideRecordItemOnMeetingUI(
bool bHide) = 0;
484 virtual void HideUpgradeFreeMeetingButton(
bool bHide) = 0;
489 virtual void SetShowInviteDlgTabPage(SDKInviteDlgTabPage tabPage,
bool bShow) = 0;
494 virtual void SetShowH323SubTabPage(SDKH323TabPage tabPage,
bool bShow) = 0;
499 virtual void EnableLocalRecordingConvertProgressBarDialog(
bool bShow) = 0;
503 virtual void HideSwitchCameraButton(
bool bHide) = 0;
507 virtual void HideCopyUrlOnInviteWindow(
bool bHide) = 0;
511 virtual void HideCopyInvitationOnInviteWindow(
bool bHide) = 0;
515 virtual void HideKeypadButtonOnMeetingWindow(
bool bHide) = 0;
520 virtual void HideRemoteControlOnMeetingUI(
bool bHide) = 0;
524 virtual void HideQAOnMeetingUI(
bool bHide) = 0;
528 virtual void HidePollOnMeetingUI(
bool bHide) = 0;
533 virtual void DisableAdvanceAudioDeivceCtrl(
bool bDisable) = 0;
538 virtual void RedirectClickAudioBTNEvent(
bool bRedirect) = 0;
543 virtual void RedirectClickAudioMenuBTNEvent(
bool bRedirect) = 0;
548 virtual void RedirectClickBreakoutRoomButtonEvent(
bool bRedirect) = 0;
552 virtual void HideReactionsOnMeetingUI(
bool bHide) = 0;
556 virtual void HideMeetingInfoOnMeetingUI(
bool bHide) = 0;
560 virtual void HideShareButtonOnMeetingUI(
bool bHide) = 0;
564 virtual void DisablePanelistMenuItem(PanelistMenuItemOption menuOption) = 0;
568 virtual void DisableAttendeeMenuItem(AttendeeMenuItemOption menuOption) = 0;
572 virtual void EnableInviteLinkOnMeetingUI(
bool bEnable) = 0;
576 virtual void EnableCloudWhiteboard(
bool bEnable) = 0;
580 virtual void HideCloudWhiteboardFeedbackButton(
bool bHide) = 0;
584 virtual void HideCloudWhiteboardShareButton(
bool bHide) = 0;
588 virtual void HideCloudWhiteboardAboutButton(
bool bHide) = 0;
592 virtual void HideCloudWhiteboardHelperCenterButton(
bool bHide) = 0;
596 virtual void HideCloudWhiteboardOpenInBrowserButton(
bool bHide) = 0;
600 virtual void HideRequestRecordPrivilegeDialog(
bool bHide) = 0;
651 virtual void DisablePopupMeetingWrongPSWDlg(
bool bDisable) = 0;
655 virtual void DisableWaitingForHostDialog(
bool bDisable) = 0;
660 virtual void EnableInputMeetingPasswordDlg(
bool bEnable) = 0;
665 virtual void EnableInputMeetingScreenNameDlg(
bool bEnable) = 0;
670 virtual void PrePopulateWebinarRegistrationInfo(
const zchar_t* email,
const zchar_t* username) = 0;
674 virtual void DisableAutoShowSelectJoinAudioDlgWhenJoinMeeting(
bool bDisable) = 0;
678 virtual void DisableShowJoinMeetingWnd(
bool bDisable) = 0;
686public IMeetingUIElemConfiguration,
716 virtual void SetDirectShareMonitorID(
const zchar_t* monitorID) = 0;
723 virtual void ConfigDSCP(
int dscpAudio,
int dscpVideo,
bool bReset) = 0;
729 virtual void EnableLengthLimitationOfMeetingNumber(
bool bEnable) = 0;
733 virtual void EnableShareIOSDevice(
bool bEnable) = 0;
737 virtual void EnableShareWhiteBoard(
bool bEnable) = 0;
741 virtual void ForceDisableMultiShare(
bool bDisable) = 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...
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 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.
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
SDK error types. Here are more detailed structural descriptions.