diff --git a/CHANGELOG.md b/CHANGELOG.md index 17b4463..951af98 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## 2019-12-16 + +* No interface changes for C# wrapper, please refer to [https://github.com/zoom/zoom-sdk-windows/blob/master/CHANGELOG.md](https://github.com/zoom/zoom-sdk-windows/blob/master/CHANGELOG.md) for changes in Windows SDK. + ## 2019-11-04 * No interface changes for C# wrapper, please refer to [https://github.com/zoom/zoom-sdk-windows/blob/master/CHANGELOG.md](https://github.com/zoom/zoom-sdk-windows/blob/master/CHANGELOG.md) for changes in Windows SDK. diff --git a/bin/Aomhost/aomhost64.exe b/bin/Aomhost/aomhost64.exe index 2c39b33..f27c865 100755 Binary files a/bin/Aomhost/aomhost64.exe and b/bin/Aomhost/aomhost64.exe differ diff --git a/bin/Aomhost/libcml.dll b/bin/Aomhost/libcml.dll index 4b95828..ac2f3f9 100644 Binary files a/bin/Aomhost/libcml.dll and b/bin/Aomhost/libcml.dll differ diff --git a/bin/Aomhost/mkldnn.dll b/bin/Aomhost/mkldnn.dll index ac8c81b..dfb1cbc 100644 Binary files a/bin/Aomhost/mkldnn.dll and b/bin/Aomhost/mkldnn.dll differ diff --git a/bin/Aomhost/zCrashReport64.dll b/bin/Aomhost/zCrashReport64.dll index d0b15b6..5d31e0c 100644 Binary files a/bin/Aomhost/zCrashReport64.dll and b/bin/Aomhost/zCrashReport64.dll differ diff --git a/bin/Aomhost/zCrashReport64.exe b/bin/Aomhost/zCrashReport64.exe index f75abe8..fc21891 100755 Binary files a/bin/Aomhost/zCrashReport64.exe and b/bin/Aomhost/zCrashReport64.exe differ diff --git a/bin/CmmBrowserEngine.dll b/bin/CmmBrowserEngine.dll index bbea901..ea3a8bd 100644 Binary files a/bin/CmmBrowserEngine.dll and b/bin/CmmBrowserEngine.dll differ diff --git a/bin/Cmmlib.dll b/bin/Cmmlib.dll index 904298d..b86f4b8 100644 Binary files a/bin/Cmmlib.dll and b/bin/Cmmlib.dll differ diff --git a/bin/CptControl.exe b/bin/CptControl.exe index 3d77107..0253a0e 100755 Binary files a/bin/CptControl.exe and b/bin/CptControl.exe differ diff --git a/bin/CptInstall.exe b/bin/CptInstall.exe index 07ee1ca..6494007 100755 Binary files a/bin/CptInstall.exe and b/bin/CptInstall.exe differ diff --git a/bin/CptShare.dll b/bin/CptShare.dll index 02cff89..c885a40 100644 Binary files a/bin/CptShare.dll and b/bin/CptShare.dll differ diff --git a/bin/DuiLib.dll b/bin/DuiLib.dll index 7d1e141..d616b6b 100644 Binary files a/bin/DuiLib.dll and b/bin/DuiLib.dll differ diff --git a/bin/XmppDll.dll b/bin/XmppDll.dll index 34d8853..e3c316d 100644 Binary files a/bin/XmppDll.dll and b/bin/XmppDll.dll differ diff --git a/bin/annoter.dll b/bin/annoter.dll index 14d8bc1..521bc9c 100644 Binary files a/bin/annoter.dll and b/bin/annoter.dll differ diff --git a/bin/aomagent.dll b/bin/aomagent.dll index 3558b84..7754622 100644 Binary files a/bin/aomagent.dll and b/bin/aomagent.dll differ diff --git a/bin/asproxy.dll b/bin/asproxy.dll index 2f9918d..fcf4d9c 100644 Binary files a/bin/asproxy.dll and b/bin/asproxy.dll differ diff --git a/bin/avcodec-55.dll b/bin/avcodec-55.dll index ff9f17a..189d8c9 100644 Binary files a/bin/avcodec-55.dll and b/bin/avcodec-55.dll differ diff --git a/bin/avformat-55.dll b/bin/avformat-55.dll index af752c1..6c99b51 100644 Binary files a/bin/avformat-55.dll and b/bin/avformat-55.dll differ diff --git a/bin/avutil-52.dll b/bin/avutil-52.dll index f463be8..66cb79f 100644 Binary files a/bin/avutil-52.dll and b/bin/avutil-52.dll differ diff --git a/bin/libeay32.dll b/bin/libeay32.dll index 62e9046..c06aedc 100644 Binary files a/bin/libeay32.dll and b/bin/libeay32.dll differ diff --git a/bin/libfaac.dll b/bin/libfaac.dll index 467dc74..58529cb 100644 Binary files a/bin/libfaac.dll and b/bin/libfaac.dll differ diff --git a/bin/mDNSResponder.dll b/bin/mDNSResponder.dll index 1e5624c..7dab348 100644 Binary files a/bin/mDNSResponder.dll and b/bin/mDNSResponder.dll differ diff --git a/bin/mcm.dll b/bin/mcm.dll index 666b071..59a4e05 100644 Binary files a/bin/mcm.dll and b/bin/mcm.dll differ diff --git a/bin/mdnsclient.dll b/bin/mdnsclient.dll index d7a39e6..b4c331a 100644 Binary files a/bin/mdnsclient.dll and b/bin/mdnsclient.dll differ diff --git a/bin/msaalib.dll b/bin/msaalib.dll index f4da3e4..83c986c 100644 Binary files a/bin/msaalib.dll and b/bin/msaalib.dll differ diff --git a/bin/nydus.dll b/bin/nydus.dll index e912d41..1366f17 100644 Binary files a/bin/nydus.dll and b/bin/nydus.dll differ diff --git a/bin/reslib.dll b/bin/reslib.dll index 4b86cd7..1de1219 100644 Binary files a/bin/reslib.dll and b/bin/reslib.dll differ diff --git a/bin/sdk.dll b/bin/sdk.dll index 982d1c2..6b7e570 100644 Binary files a/bin/sdk.dll and b/bin/sdk.dll differ diff --git a/bin/sdkExt.dll b/bin/sdkExt.dll index c64f5d4..0d8c369 100644 Binary files a/bin/sdkExt.dll and b/bin/sdkExt.dll differ diff --git a/bin/ssb_sdk.dll b/bin/ssb_sdk.dll index fc1cceb..0bc8f9b 100644 Binary files a/bin/ssb_sdk.dll and b/bin/ssb_sdk.dll differ diff --git a/bin/ssleay32.dll b/bin/ssleay32.dll index 9f17a90..5faf564 100644 Binary files a/bin/ssleay32.dll and b/bin/ssleay32.dll differ diff --git a/bin/swscale-2.dll b/bin/swscale-2.dll index 36a8800..fe36634 100644 Binary files a/bin/swscale-2.dll and b/bin/swscale-2.dll differ diff --git a/bin/tp.dll b/bin/tp.dll index f5b8047..7db8961 100644 Binary files a/bin/tp.dll and b/bin/tp.dll differ diff --git a/bin/turbojpeg.dll b/bin/turbojpeg.dll index 08e4b75..3180ee9 100644 Binary files a/bin/turbojpeg.dll and b/bin/turbojpeg.dll differ diff --git a/bin/util.dll b/bin/util.dll index d2e44ab..de9925b 100644 Binary files a/bin/util.dll and b/bin/util.dll differ diff --git a/bin/viper.dll b/bin/viper.dll index 04728ea..8b7736e 100644 Binary files a/bin/viper.dll and b/bin/viper.dll differ diff --git a/bin/zCSCptService.exe b/bin/zCSCptService.exe index f0de715..dd8734c 100755 Binary files a/bin/zCSCptService.exe and b/bin/zCSCptService.exe differ diff --git a/bin/zChatApp.dll b/bin/zChatApp.dll index d092e1c..1a810b9 100644 Binary files a/bin/zChatApp.dll and b/bin/zChatApp.dll differ diff --git a/bin/zCrashReport.dll b/bin/zCrashReport.dll index 93acbed..3841977 100644 Binary files a/bin/zCrashReport.dll and b/bin/zCrashReport.dll differ diff --git a/bin/zCrashReport.exe b/bin/zCrashReport.exe index 8316672..e13bb04 100755 Binary files a/bin/zCrashReport.exe and b/bin/zCrashReport.exe differ diff --git a/bin/zData.dll b/bin/zData.dll index 823a104..f56c342 100644 Binary files a/bin/zData.dll and b/bin/zData.dll differ diff --git a/bin/zSDK.dll b/bin/zSDK.dll index a25515a..4bc5afc 100644 Binary files a/bin/zSDK.dll and b/bin/zSDK.dll differ diff --git a/bin/zTscoder.exe b/bin/zTscoder.exe index a193996..90c8730 100755 Binary files a/bin/zTscoder.exe and b/bin/zTscoder.exe differ diff --git a/bin/zVideoApp.dll b/bin/zVideoApp.dll index 97f0a71..71abba6 100644 Binary files a/bin/zVideoApp.dll and b/bin/zVideoApp.dll differ diff --git a/bin/zVideoUI.dll b/bin/zVideoUI.dll index 5bdc6f7..5cf2c47 100644 Binary files a/bin/zVideoUI.dll and b/bin/zVideoUI.dll differ diff --git a/bin/zWebService.dll b/bin/zWebService.dll index cf640ae..c13e20e 100644 Binary files a/bin/zWebService.dll and b/bin/zWebService.dll differ diff --git a/bin/zWinRes.dll b/bin/zWinRes.dll index d95a19d..27c0d31 100644 Binary files a/bin/zWinRes.dll and b/bin/zWinRes.dll differ diff --git a/bin/zcsairhost.exe b/bin/zcsairhost.exe index da4e980..9a43172 100755 Binary files a/bin/zcsairhost.exe and b/bin/zcsairhost.exe differ diff --git a/bin/zcscpthost.exe b/bin/zcscpthost.exe index 36b026a..9cd625d 100755 Binary files a/bin/zcscpthost.exe and b/bin/zcscpthost.exe differ diff --git a/bin/zlt.dll b/bin/zlt.dll index 794f12c..a769a6f 100644 Binary files a/bin/zlt.dll and b/bin/zlt.dll differ diff --git a/bin/zmb.dll b/bin/zmb.dll index d455be1..c17481b 100644 Binary files a/bin/zmb.dll and b/bin/zmb.dll differ diff --git a/bin/zzhost.dll b/bin/zzhost.dll index f0fa6d1..86b8bbf 100644 Binary files a/bin/zzhost.dll and b/bin/zzhost.dll differ diff --git a/bin/zzplugin.dll b/bin/zzplugin.dll index 37a33e9..ffb3588 100644 Binary files a/bin/zzplugin.dll and b/bin/zzplugin.dll differ diff --git a/version.txt b/version.txt index bc33e14..741e8a0 100755 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -v4.4.56616.1028 \ No newline at end of file +v4.4.57220.1211 \ No newline at end of file diff --git a/zoom_sdk_c_sharp_wrap/h/auth_service_interface.h b/zoom_sdk_c_sharp_wrap/h/auth_service_interface.h index 5a1a0f2..ea1589b 100644 --- a/zoom_sdk_c_sharp_wrap/h/auth_service_interface.h +++ b/zoom_sdk_c_sharp_wrap/h/auth_service_interface.h @@ -40,7 +40,7 @@ enum LOGINSTATUS }; /*! \struct tagAuthParam - \brief SDK Authentication parameter. + \brief SDK Authentication parameter with sdk key/secret. Here are more detailed structural descriptions. */ typedef struct tagAuthParam @@ -54,6 +54,41 @@ typedef struct tagAuthParam } }AuthParam; +/*! \struct tagAuthContext + \brief SDK Authentication parameter with jwt token. + Here are more detailed structural descriptions. +*/ +typedef struct tagAuthContext +{ + const wchar_t* jwt_token; /*!JWT token. You may generate your JWT token using the online tool https://jwt.io/. **It is highly recommended to generate your JWT token in your backend server.** + JWT is generated with three core parts: Header, Payload, and Signature. When combined, these parts are separated by a period to form a token: `aaaaa.bbbbb.cccc`. + Please follow this template to compose your payload for SDK initialization: + ** Header + { + "alg": "HS256", + "typ": "JWT" + } + ** Payload + { + "appKey": "string", // Your SDK key + "iat": long, // access token issue timestamp + "exp": long, // access token expire time + "tokenExp": long // token expire time + } + ** Signature + HMACSHA256( + base64UrlEncode(header) + "." + + base64UrlEncode(payload), + "Your SDK secret here" + ) + */ + tagAuthContext() + { + jwt_token = NULL; + } + +}AuthContext; + /*! \enum LoginType \brief User login type. Here are more detailed structural descriptions. @@ -141,6 +176,9 @@ class IAuthServiceEvent /// \brief Zoom identity has expired, please re-login or generate a new zoom access token via REST Api. virtual void onZoomIdentityExpired() = 0; + + /// \brief Zoom authentication identity will be expired in 10 minutes, please re-auth. + virtual void onZoomAuthIdentityExpired() = 0; }; class IDirectShareServiceHelper; @@ -162,6 +200,12 @@ class IAuthService ///Otherwise failed. To get extended error information, see \link SDKError \endlink enum. virtual SDKError SDKAuth(AuthParam& authParam) = 0; + /// \brief SDK Authentication with jwt token. + /// \param authContext The parameter to be used for authentication SDK, see \link AuthContext \endlink structure. + /// \return If the function succeeds, the return value is SDKErr_Success. + ///Otherwise failed. To get extended error information, see \link SDKError \endlink enum. + virtual SDKError SDKAuth(AuthContext& authContext) = 0; + /// \brief Get authentication status. /// \return The return value is authentication status. To get extended error information, see \link AuthResult \endlink enum. virtual AuthResult GetAuthResult() = 0; diff --git a/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_configuration_interface.h b/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_configuration_interface.h index 0abe414..94009c8 100644 --- a/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_configuration_interface.h +++ b/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_configuration_interface.h @@ -291,6 +291,10 @@ class IMeetingUIElemConfiguration /// \param bEnable TRUE indicates to display the button. Otherwise not. virtual void EnableVideoButtonOnMeetingUI(bool bEnable) = 0; + /// \brief Set the visibility of the Audio button in the toolbar during the meeting. Default value: TRUE. + /// \param bEnable TRUE indicates to display the button. Otherwise not. + virtual void EnableAudioButtonOnMeetingUI(bool bEnable) = 0; + /// \brief Set the visibility of the buttons to enter or exit the full screen in the meeting window. Default value: TRUE. /// \param bEnable TRUE indicates to display the button. Otherwise not. virtual void EnableEnterAndExitFullScreenButtonOnMeetingUI(bool bEnable) = 0; @@ -475,6 +479,21 @@ class IMeetingUIElemConfiguration /// \brief Set the visibility of poll on meeting UI. Default is displaying. /// \param [in] bHide TRUE means hiding, otherwise not. virtual void HidePollOnMeetingUI(bool bHide) = 0; + + /// \brief Set the ability to control the audio device in the meeting. Default is having the ability. + /// \param [in] bDisable TRUE means having no ability, otherwise not. + /// \This API is not recommended to call because once the bDsialbe is true, Zoom meeting may lose the control of the audio devices. + virtual void DisableAdvanceAudioDeivceCtrl(bool bDisable) = 0; + + /// \brief Set if it is able to handle the event with SDK user's own program by clicking Audio button in the meeting. Default value: FALSE. + /// \param bRedirect TRUE indicates to handle with user's own program. FALSE not. + /// \remarks If the user calls this function to convert, the SDK will trigger the IMeetingUIControllerEvent::onAudioBtnClicked(AudioBtnClickedCallbackInfo info), and the user shall deal with the subsequent logic himself. + virtual void RedirectClickAudioBTNEvent(bool bRedirect) = 0; + + /// \brief Set if it is able to handle the event with SDK user's own program by clicking Audio Menu button in the meeting. Default value: FALSE. + /// \param bRedirect TRUE indicates to handle with user's own program. FALSE not. + /// \remarks If the user calls this function to convert, the SDK will trigger the IMeetingUIControllerEvent::onAudioMenuBtnClicked(), and the user shall deal with the subsequent logic himself. + virtual void RedirectClickAudioMenuBTNEvent(bool bRedirect) = 0; }; /// \brief Meeting connect configuration Interface @@ -529,6 +548,10 @@ class IJoinMeetingBehaviorConfiguration /// \brief Set the visibility of the dialog SELECT JOIN AUDIO when joining meeting. Default: FALSE. /// \param bDisable TRUE indicates to hide the dialog box. virtual void DisableAutoShowSelectJoinAudioDlgWhenJoinMeeting(bool bDisable) = 0; + + /// \brief Set the visibility of the dialog box of joining a meeting. Default: FALSE. + /// \param bDisable TRUE indicates to hide the dialog box. FALSE not. + virtual void DisableShowJoinMeetingWnd(bool bDisable) = 0; }; /// \brief Meeting configuration interface. diff --git a/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_qa_ctrl_interface.h b/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_qa_ctrl_interface.h new file mode 100644 index 0000000..137dcb2 --- /dev/null +++ b/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_qa_ctrl_interface.h @@ -0,0 +1,153 @@ +/*! +* \file meeting_qa_ctrl_interface.h +* \brief Meeting Service qa Interface +* Valid for both ZOOM style and user custom interface mode. +*/ +#ifndef _MEETING_QA_CTRL_INTERFACE_H_ +#define _MEETING_QA_CTRL_INTERFACE_H_ +#include "..\zoom_sdk_def.h" + +BEGIN_ZOOM_SDK_NAMESPACE + +/*! \enum QAConnectStatus + \brief Information category for Q&A connecting. + Here are more detailed structural descriptions. +*/ +enum QAConnectStatus +{ + QA_STATUS_CONNECTING = 0, + QA_STATUS_CONNECTED, + QA_STATUS_DISCONNECTED, + QA_STATUS_DISCONNECT_CONFLICT, +}; + +/// \brief answer item interface class +class IAnswerItem +{ +public: + virtual ~IAnswerItem(){} + + virtual time_t GetTimeStamp() = 0; + virtual const wchar_t* GetText() = 0; + virtual const wchar_t* GetSenderName() = 0; + virtual const wchar_t* GetQuestionID() = 0; + virtual const wchar_t* GetAnswerID() = 0; + + virtual bool IsPrivate() = 0; + virtual bool IsLiveAnswer() = 0; + virtual bool IsSenderMyself() = 0; +}; + +/// \brief question item interface class +class IQAItemInfo +{ +public: + virtual ~IQAItemInfo() {} + + virtual time_t GetTimeStamp() = 0; + virtual unsigned int GetUpvoteNum() = 0; + virtual const wchar_t* GetText() = 0; + virtual const wchar_t* GetSenderName() = 0; + virtual const wchar_t* GetQuestionID() = 0; + + virtual bool IsAnonymous() = 0; + virtual bool IsMarkedAsAnswered() = 0; + virtual bool IsMarkedAsDismissed() = 0; + virtual bool IsSenderMyself() = 0; + virtual bool IsMySelfUpvoted() = 0; + + virtual bool HasLiveAnswers() = 0; + virtual bool HasTextAnswers() = 0; + virtual bool AmILiveAnswering() = 0; + virtual const wchar_t* GetLiveAnswerName() = 0; + virtual bool IsLiveAnswering() = 0; + + //answer list! + virtual IList* GetAnswerList() = 0; +}; + +/// \brief Meeting q&a callback event. +/// +class IMeetingQAControllerEvent +{ +public: + /// \brief Callback event of Q&A connecting status. + /// \param connectStatus: The value of Q&A connecting status. For more details, see \link QAConnectStatus \endlink enum. + virtual void OnQAConnectStatus(QAConnectStatus connectStatus) = 0; + + virtual void OnAddQuestion(const wchar_t* questionID, bool bSuccess) = 0; + + virtual void OnAddAnswer(const wchar_t* answerID, bool bSuccess) = 0; + + virtual void OnQuestionMarkedAsDismissed(const wchar_t* question_id) = 0; + + virtual void OnReopenQuestion(const wchar_t* question_id) = 0; + + virtual void OnReceiveQuestion(const wchar_t* questionID) = 0; + + virtual void OnReceiveAnswer(const wchar_t* answerID) = 0; + + virtual void OnUserLivingReply(const wchar_t* questionID) = 0; + + virtual void OnUserEndLiving(const wchar_t* questionID) = 0; + + virtual void OnUpvoteQuestion(const wchar_t* question_id, bool order_changed) = 0; + + virtual void OnRevokeUpvoteQuestion(const wchar_t* question_id, bool order_changed) = 0; + + virtual void OnAllowAskQuestionAnonymousStatus(bool bEnabled) = 0; + + virtual void OnAllowAttendeeViewAllQuestionStatus(bool bEnabled) = 0; + + virtual void OnAllowAttendeeVoteupQuestionStatus(bool bEnabled) = 0; + + virtual void OnAllowAttendeeCommentQuestionStatus(bool bEnabled) = 0; + + virtual void OnRefreshQAData() = 0; +}; + +class IMeetingQAController +{ +public: + virtual SDKError SetEvent(IMeetingQAControllerEvent* pEvent) = 0; + + //attendee + virtual SDKError AddQuestion(const wchar_t* questionContent, bool bAskAnonymous) = 0; + virtual int GetMyQuestionCount() = 0; + virtual IList* GetMyQuestionList() = 0; + virtual SDKError CommentQuestion(const wchar_t* questionID, const wchar_t* commentContent) = 0; + + //host + virtual SDKError AnswerQuestionPrivate(const wchar_t* questionID, const wchar_t* answerContent) = 0; + virtual SDKError AnswerQuestionPublic(const wchar_t* questionID, const wchar_t* answerContent) = 0; + virtual SDKError DismissQuestion(const wchar_t* questionID) = 0; + virtual SDKError ReopenQuestion(const wchar_t* questionID) = 0; + virtual SDKError StartLiving(const wchar_t* questionID) = 0; + virtual SDKError EndLiving(const wchar_t* questionID) = 0; + + virtual int GetOpenQuestionCount() = 0; + virtual int GetDismissedQuestionCount() = 0; + virtual int GetAnsweredQuestionCount() = 0; + virtual IList* GetOpenQuestionList() = 0; + virtual IList* GetDismissedQuestionList() = 0; + virtual IList* GetAnsweredQuestionList() = 0; + + virtual SDKError EnableAnonnymousQuestion(bool bEnable) = 0; + virtual SDKError EnableAttendeeViewAllQuestion(bool bEnable) = 0; + virtual SDKError EnableQAComment(bool bEnable) = 0; + virtual SDKError EnableQAVoteup(bool bEnable) = 0; + + //attendee & host + virtual bool IsQAEnabled() = 0; + virtual bool IsQACommentEnabled() = 0; + virtual bool IsQAVoteupEnabled() = 0; + virtual bool IsAskQuestionAnonymouslyEnabled() = 0; + virtual bool IsAttendeeCanViewAllQuestions()=0; + virtual IList* GetAllQuestionList() = 0; + virtual IQAItemInfo* GetQuestion(const wchar_t* questionID) = 0; + virtual IAnswerItem* GetAnswer(const wchar_t* answerID) = 0; + virtual SDKError VoteupQuestion(const wchar_t* questionID, bool bVokeup) = 0; +}; + +END_ZOOM_SDK_NAMESPACE +#endif \ No newline at end of file diff --git a/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_ui_ctrl_interface.h b/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_ui_ctrl_interface.h index 2daedf5..e2da482 100644 --- a/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_ui_ctrl_interface.h +++ b/zoom_sdk_c_sharp_wrap/h/meeting_service_components/meeting_ui_ctrl_interface.h @@ -87,6 +87,27 @@ typedef struct tagSplitScreenInfo bInSplitScreenMode = false; } }SplitScreenInfo; +enum AudioCallbackActionInfo +{ + ACTION_NONE = 0, + ACTION_CHOOSE_AUDIO_DEVICE_NOAUDIODEVICECONNECTTED, + ACTION_CHOOSE_AUDIO_DEVICE_COMPUTERAUDIODEVICEERROR, + ACTION_CHOOSE_AUDIO_DEVICE_PHONECALLDEVICEERROR, + ACTION_NEED_JOIN_VOIP, + ACTION_MUTE_UNMUTE_AUDIO, + ACTION_SHOW_AUDIO_SETTING_WINDOW, +}; +typedef struct tagAudioBtnClickedCallbackInfo +{ + unsigned int userid_MuteUnmute; + AudioCallbackActionInfo audio_clicked_action; + tagAudioBtnClickedCallbackInfo() + { + userid_MuteUnmute = 0; + audio_clicked_action = ACTION_NONE; + } + +}AudioBtnClickedCallbackInfo; /// \brief Callback Event of Meeting UI Controller. /// @@ -120,6 +141,15 @@ class IMeetingUIControllerEvent /// \brief Callback event of clicking CC menu. /// \remarks The user won't receive this callback event unless he redirects the process of clicking the CUSTOME LIVE STREAM menu. For more details, see \link IMeetingUIElemConfiguration::RedirectClickCCBTNEvent() \endlink. virtual void onCCBTNClicked() = 0; + + /// \brief Callback event for clicking Audio button in the meeting. + /// \remarks The user won't receive this callback event unless he sets to redirect the process of clicking the Audio button in the meeting. For more details, see \link IMeetingUIElemConfiguration::RedirectClickAudioBTNEvent() \endlink. + virtual void onAudioBtnClicked(AudioBtnClickedCallbackInfo info) = 0; + + /// \brief Callback event for clicking Audio Menu button in the meeting. + /// \remarks The user won't receive this callback event unless he sets to redirect the process of clicking the Audio Menu button in the meeting. For more details, see \link IMeetingUIElemConfiguration::RedirectClickAudioMenuBTNEvent() \endlink. + virtual void onAudioMenuBtnClicked() = 0; + }; /// \brief Meeting UI Controller Interface. diff --git a/zoom_sdk_c_sharp_wrap/h/meeting_service_interface.h b/zoom_sdk_c_sharp_wrap/h/meeting_service_interface.h index 956e81e..527b684 100644 --- a/zoom_sdk_c_sharp_wrap/h/meeting_service_interface.h +++ b/zoom_sdk_c_sharp_wrap/h/meeting_service_interface.h @@ -501,6 +501,7 @@ class IMeetingWaitingRoomController; class IMeetingLiveStreamController; class IMeetingWebinarController; class IClosedCaptionController; +class IMeetingQAController; /// \brief Meeting Service Interface /// class IMeetingService @@ -645,6 +646,9 @@ class IMeetingService /// \return If the function succeeds, the return value is a pointer to IZoomRealNameAuthMeetingHelper. Otherwise returns NULL. virtual IZoomRealNameAuthMeetingHelper* GetMeetingRealNameAuthController() = 0; + /// \brief Get the Q&A controller. + /// \return If the function succeeds, the return value is a pointer to IMeetingQAController. Otherwise returns NULL. + virtual IMeetingQAController* GetMeetingQAController() = 0; }; END_ZOOM_SDK_NAMESPACE #endif \ No newline at end of file diff --git a/zoom_sdk_c_sharp_wrap/h/setting_service_interface.h b/zoom_sdk_c_sharp_wrap/h/setting_service_interface.h index 5d45940..6383db2 100644 --- a/zoom_sdk_c_sharp_wrap/h/setting_service_interface.h +++ b/zoom_sdk_c_sharp_wrap/h/setting_service_interface.h @@ -994,6 +994,112 @@ class ISettingUIStrategy /// \param showOption True indicates to show the corresponding tab page for each item. virtual void ConfSettingDialogShownTabPage(SettingDlgShowTabPageOption showOption) = 0; }; +/// \brief Virtual background image information interface. +/// +class IVirtualBGImageInfo +{ +public: + /// \brief Determine the usage of current image. + /// \return TRUE indicates that current image is used as the virtual background image. + virtual bool isSelected() = 0; + + /// \brief Get the file path of current image. + /// \return If the function succeeds, the return value is the file path of current image. + ///Otherwise failed, the return value is NULL. + virtual const wchar_t* GetImageFilePath() = 0; + + /// \brief Get the name of current image. + /// \return If the function succeeds, the return value is the name of current image. + ///Otherwise failed, the return value is NULL. + virtual const wchar_t* GetImageName() = 0; + + virtual ~IVirtualBGImageInfo() {}; +}; + +/// \brief Virtual background context Callback Event. +/// +class IVirtualBGSettingContextEvent +{ +public: + /// \brief Callback event of notification that the default virtual background images supplied by ZOOM are downloaded. + virtual void onVBImageDidDownloaded() = 0; + + /// \brief Callback event of notification that the virtual background effect is updated with the selected color. + /// \param selectedColor The RGB value of the selected color, organized in the format 0xFFRRGGBB. + virtual void onGreenVBDidUpdateWithReplaceColor(DWORD selectedColor) = 0; + + /// \brief Callback event of notification that the virtual background image is changed. + virtual void onSelectedVBImageChanged() = 0; +}; + +class IVirtualBGSettingContext +{ +public: + /// \brief Virtual background callback handler. + /// \param pEvent A pointer to the IVirtualBGSettingContextEvent that receives virtual background event. + /// \return If the function succeeds, the return value is SDKErr_Success. + ///Otherwise failed. To get extended error information, see \link SDKError \endlink enum. + /// \remarks Call the function before using any other interface of the same class. + virtual SDKError SetVirtualBGEvent(IVirtualBGSettingContextEvent* pEvent) = 0; + + /// \brief Determine if the virtual background feature is supported by the meeting. + /// \return TRUE indicates that the meeting supports the virtual background feature. + virtual bool IsSupportVirtualBG() = 0; + + /// \brief Determine if the smart virtual background feature can be supported by the machine. + /// \return TRUE indicates that the machine can supports to use smart virtual background feature. + virtual bool IsSupportSmartVirtualBG() = 0; + + /// \brief Determine if the green screen is using for the virtual background feature in the meeting. + /// \return TRUE indicates to use the green screen for the virtual background feature. + virtual bool IsUsingGreenScreenOn() = 0; + + /// \brief Set to use the green screen for the virtual background feature. + /// \param bUse Specify to use the green screen or not.TRUE means using the green screen. FALSE means using smart virtual background feature. + /// \return If the function succeeds, the return value is SDKErr_Success. + ///Otherwise failed. To get extended error information, see \link SDKError \endlink enum. + ///\remarks If the machine can not support smart virtual background feature, Calling of this interface with parameter 'FALSE'will return SDKERR_WRONG_USEAGE. + virtual SDKError SetUsingGreenScreen(bool bUse) = 0; + + /// \brief Add a new image as the virtual background image and to the image list. + /// \param file_path Specify the file name of the image. It must be the full path with the file name. + /// \return If the function succeeds, the return value is SDKErr_Success. + ///Otherwise failed. To get extended error information, see \link SDKError \endlink enum. + virtual SDKError AddBGImage(const wchar_t* file_path) = 0; + + /// \brief Remove an image from the virtual background image list. + /// \param pRemoveImage Specify the image to remove. To get extended error information, see \link IVirtualBGImageInfo \endlink enum. + /// \return If the function succeeds, the return value is SDKErr_Success. + ///Otherwise failed. To get extended error information, see \link SDKError \endlink enum. + virtual SDKError RemoveBGImage(IVirtualBGImageInfo* pRemoveImage) = 0; + + /// \brief Get the list of the virtual background images. + /// \return If there are images in the list, the return value is a list of the poiters to IVirtualBGImageInfo. + ///Otherwise return NULL. To get extended error information, see \link IVirtualBGImageInfo \endlink enum. + virtual IList* GetBGImageList() = 0; + + /// \brief Specify an image to be the virtual background image. + /// \param pImage Specify the image to use. To get extended error information, see \link IVirtualBGImageInfo \endlink enum. + /// \return If the function succeeds, the return value is SDKErr_Success. + ///Otherwise failed. To get extended error information, see \link SDKError \endlink enum. + virtual SDKError UseBGImage(IVirtualBGImageInfo* pImage) = 0; + + /// \brief Get the selected color after called BeginSelectReplaceVBColor() and selected a color. + /// \return If the function succeeds, the return value is the selected color. + ///Otherwise 0xFF000000. The value is the same one as the callback IVirtualBGSettingContextEvent.onGreenVBDidUpdateWithReplaceColor() does. + virtual DWORD GetBGReplaceColor() = 0; + + /// \brief Start to capture a color from video preview. + /// \return If the function succeeds, the return value is SDKErr_Success. + ///Otherwise failed. To get extended error information, see \link SDKError \endlink enum. + virtual SDKError BeginSelectReplaceVBColor() = 0; + + /// \brief Get the pointer to ITestVideoDeviceHelper which is used to preview the video with virtual background image. + /// \return If the function succeeds, the return value is the pointer to ITestVideoDeviceHelper. + ///Otherwise failed, returns NULL. + ///For more details, see \link ITestVideoDeviceHelper \endlink. + virtual ITestVideoDeviceHelper* GetTestVideoDeviceHelper() = 0; +}; /// \brief Meeting setting interface. /// @@ -1053,6 +1159,12 @@ class ISettingService ///Otherwise failed, returns NULL. ///For more details, see \link ISettingUIStrategy \endlink. virtual ISettingUIStrategy* GetSettingUIStrategy() = 0; + + /// \brief Get virtual background interface. + /// \return If the function succeeds, the return value is an object pointer to IVirtualBGSettingContext. + ///Otherwise failed, returns NULL. + ///For more details, see \link IVirtualBGSettingContext \endlink. + virtual IVirtualBGSettingContext* GetVirtualBGSettings() = 0; }; END_ZOOM_SDK_NAMESPACE #endif \ No newline at end of file diff --git a/zoom_sdk_c_sharp_wrap/h/zoom_sdk.h b/zoom_sdk_c_sharp_wrap/h/zoom_sdk.h index 391d2a5..a35e9a3 100644 --- a/zoom_sdk_c_sharp_wrap/h/zoom_sdk.h +++ b/zoom_sdk_c_sharp_wrap/h/zoom_sdk.h @@ -24,6 +24,8 @@ extern "C" ///Otherwise failed. To get extended error information, see \link SDKError \endlink enum. SDK_API SDKError InitSDK(InitParam& initParam); + + SDK_API SDKError SwitchDomain(const wchar_t* new_domain, bool bForce); /// \brief Create meeting service interface. /// \param ppMeetingService An object pointer to the IMeetingService*. /// \return If the function succeeds, the return value is SDKErr_Success while the value of ppMeetingService is not NULL. diff --git a/zoom_sdk_c_sharp_wrap/h/zoom_sdk_raw_data_helper_interface.h b/zoom_sdk_c_sharp_wrap/h/zoom_sdk_raw_data_helper_interface.h index 8ea0d81..876cabb 100644 --- a/zoom_sdk_c_sharp_wrap/h/zoom_sdk_raw_data_helper_interface.h +++ b/zoom_sdk_c_sharp_wrap/h/zoom_sdk_raw_data_helper_interface.h @@ -175,7 +175,7 @@ class IYUVRawDataI420Converter public: virtual YUVRawDataI420* ConvertToYUV() = 0; virtual YUVRawDataI420* ConvertToYUVViaExternalBuffer(char* buffer_, int size_) = 0; - virtual void FillToPixelBuffer(char* ybuffer_, char* uvbuffer_, int width, int height) = 0; + virtual void FillToPixelBuffer(char* ybuffer_, int ybuffer_pre_row_bytes, char* uvbuffer_, int uvbuffer_pre_row_bytes,int width, int height) = 0; virtual ~IYUVRawDataI420Converter(){} }; diff --git a/zoom_sdk_c_sharp_wrap/h/zoom_sdk_sms_helper_interface.h b/zoom_sdk_c_sharp_wrap/h/zoom_sdk_sms_helper_interface.h index a68427b..ca2f2ba 100644 --- a/zoom_sdk_c_sharp_wrap/h/zoom_sdk_sms_helper_interface.h +++ b/zoom_sdk_c_sharp_wrap/h/zoom_sdk_sms_helper_interface.h @@ -52,6 +52,7 @@ class IZoomRealNameAuthMeetingHelper public: virtual bool SetEvent(IZoomRealNameAuthMeetingEvent* event_) = 0; virtual bool EnableZoomAuthRealNameMeetingUIShown(bool enable) = 0; + virtual bool SetDefaultCellPhoneInfo(const zTCHAR* country_code, const zTCHAR* phone_number) = 0; virtual IZoomRetrieveSMSVerificationCodeHandler* GetResendSMSVerificationCodeHandler() = 0; virtual IZoomVerifySMSVerificationCodeHandler* GetReVerifySMSVerificationCodeHandler() = 0; virtual IVector* GetSupportPhoneNumberCountryList() = 0; diff --git a/zoom_sdk_c_sharp_wrap/wrap/auth_service_wrap.cpp b/zoom_sdk_c_sharp_wrap/wrap/auth_service_wrap.cpp index 5dcee36..8e8fe0b 100644 --- a/zoom_sdk_c_sharp_wrap/wrap/auth_service_wrap.cpp +++ b/zoom_sdk_c_sharp_wrap/wrap/auth_service_wrap.cpp @@ -18,6 +18,7 @@ void UninitIAuthServiceFunc(ZOOM_SDK_NAMESPACE::IAuthService* obj) } //IMPL_FUNC_1(IAuthService, SetEvent, SDKError, IAuthServiceEvent*, pEvent, SDKERR_UNINITIALIZE) IMPL_FUNC_1(IAuthService, SDKAuth, SDKError, AuthParam&, authParam, SDKERR_UNINITIALIZE) + IMPL_FUNC_1(IAuthService, SDKAuth, SDKError, AuthContext&, authContext, SDKERR_UNINITIALIZE) IMPL_FUNC_0(IAuthService, GetAuthResult, AuthResult, AUTHRET_NONE) IMPL_FUNC_0(IAuthService, GetSDKIdentity, const wchar_t*, NULL) IMPL_FUNC_1(IAuthService, Login, SDKError, LoginParam&, param, SDKERR_UNINITIALIZE) diff --git a/zoom_sdk_c_sharp_wrap/wrap/auth_service_wrap.h b/zoom_sdk_c_sharp_wrap/wrap/auth_service_wrap.h index 8295500..703ac9e 100644 --- a/zoom_sdk_c_sharp_wrap/wrap/auth_service_wrap.h +++ b/zoom_sdk_c_sharp_wrap/wrap/auth_service_wrap.h @@ -19,6 +19,9 @@ virtual SDKError SetEvent(IAuthServiceEvent* pEvent) //virtual SDKError SDKAuth(AuthParam& authParam) = 0; DEFINE_FUNC_1(SDKAuth, SDKError, AuthParam&, authParam) +//virtual SDKError SDKAuth(AuthContext& authContext) = 0; +DEFINE_FUNC_1(SDKAuth, SDKError, AuthContext&, authContext) + //virtual AuthResult GetAuthResult() = 0; DEFINE_FUNC_0(GetAuthResult, AuthResult) @@ -63,6 +66,8 @@ CallBack_FUNC_2(onLoginRet, LOGINSTATUS, ret, IAccountInfo*,pAccountInfo) CallBack_FUNC_0(onLogout) //virtual void onZoomIdentityExpired() = 0; CallBack_FUNC_0(onZoomIdentityExpired) +//virtual void onZoomAuthIdentityExpired() = 0; +CallBack_FUNC_0(onZoomAuthIdentityExpired) END_CLASS_DEFINE(IAuthService) END_ZOOM_SDK_NAMESPACE \ No newline at end of file diff --git a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_configuration_wrap.cpp b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_configuration_wrap.cpp index 5a36a88..7c097c8 100644 --- a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_configuration_wrap.cpp +++ b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_configuration_wrap.cpp @@ -41,6 +41,7 @@ IMPL_FUNC_NORET_1(IMeetingConfiguration,EnableDeclineRemoteControlResponseDlg, v IMPL_FUNC_NORET_1(IMeetingConfiguration,EnableLeaveMeetingOptionForHost, void, bool, bEnable) IMPL_FUNC_NORET_1(IMeetingConfiguration,EnableInviteButtonOnMeetingUI, void, bool, bEnable) IMPL_FUNC_NORET_1(IMeetingConfiguration,EnableVideoButtonOnMeetingUI, void, bool, bEnable) +IMPL_FUNC_NORET_1(IMeetingConfiguration,EnableAudioButtonOnMeetingUI, void, bool, bEnable) IMPL_FUNC_NORET_1(IMeetingConfiguration,EnableInputMeetingPasswordDlg, void, bool, bEnable) IMPL_FUNC_NORET_1(IMeetingConfiguration,EnableEnterAndExitFullScreenButtonOnMeetingUI, void, bool, bEnable) IMPL_FUNC_NORET_1(IMeetingConfiguration,EnableLButtonDBClick4SwitchFullScreenMode, void, bool, bEnable) @@ -99,7 +100,10 @@ IMPL_FUNC_NORET_1(IMeetingConfiguration, ForceDisableMultiShare, void, bool, bDi IMPL_FUNC_NORET_1(IMeetingConfiguration, SetAlwaysShowMeetingIDOnTitle, void, bool, bAlwaysShow) //virtual void RedirectClickCustomLiveStreamMenuEvent(bool bRedirect) = 0; IMPL_FUNC_NORET_1(IMeetingConfiguration, RedirectClickCustomLiveStreamMenuEvent, void, bool, bRedirect) - +//virtual void RedirectClickAudioBTNEvent(bool bRedirect) = 0; +IMPL_FUNC_NORET_1(IMeetingConfiguration, RedirectClickAudioBTNEvent, void, bool, bRedirect) +//virtual void RedirectClickAudioMenuBTNEvent(bool bRedirect) = 0; +IMPL_FUNC_NORET_1(IMeetingConfiguration, RedirectClickAudioMenuBTNEvent, void, bool, bRedirect) //virtual void RedirectClickCCBTNEvent(bool bRedirect) = 0; IMPL_FUNC_NORET_1(IMeetingConfiguration, RedirectClickCCBTNEvent, void, bool, bRedirect) //virtual SDKError SetUICustomizedString(SDKCustomizedStringType customizedType, const wchar_t* customizedString) = 0; @@ -141,6 +145,8 @@ IMPL_FUNC_NORET_1(IMeetingConfiguration, EnableForceAutoStartMyVideoWhenJoinMeet IMPL_FUNC_NORET_1(IMeetingConfiguration, EnableForceAutoStopMyVideoWhenJoinMeeting, void, bool, bEnable) //virtual void DisableAutoShowSelectJoinAudioDlgWhenJoinMeeting(bool bDisable) = 0; IMPL_FUNC_NORET_1(IMeetingConfiguration, DisableAutoShowSelectJoinAudioDlgWhenJoinMeeting, void, bool, bDisable) +//virtual void DisableShowJoinMeetingWnd(bool bDisable) = 0; +IMPL_FUNC_NORET_1(IMeetingConfiguration, DisableShowJoinMeetingWnd, void, bool, bDisable) //virtual void SetMaxDurationForOnlyHostInMeeting(int nDuration) = 0; IMPL_FUNC_NORET_1(IMeetingConfiguration, SetMaxDurationForOnlyHostInMeeting, void, int, nDuration) diff --git a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_configuration_wrap.h b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_configuration_wrap.h index e9302e2..8258126 100644 --- a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_configuration_wrap.h +++ b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_configuration_wrap.h @@ -47,6 +47,8 @@ DEFINE_FUNC_1(EnableLeaveMeetingOptionForHost, void, bool, bEnable) DEFINE_FUNC_1(EnableInviteButtonOnMeetingUI, void, bool, bEnable) //virtual void EnableVideoButtonOnMeetingUI(bool bEnable) = 0; DEFINE_FUNC_1(EnableVideoButtonOnMeetingUI, void, bool, bEnable) +//virtual void EnableAudioButtonOnMeetingUI(bool bEnable) = 0; +DEFINE_FUNC_1(EnableAudioButtonOnMeetingUI, void, bool, bEnable) //virtual void EnableInputMeetingPasswordDlg(bool bEnable) = 0; DEFINE_FUNC_1(EnableInputMeetingPasswordDlg, void, bool, bEnable) //virtual void EnableEnterAndExitFullScreenButtonOnMeetingUI(bool bEnable) = 0; @@ -103,7 +105,10 @@ DEFINE_FUNC_1(ForceDisableMultiShare, void, bool, bDisable) DEFINE_FUNC_1(SetAlwaysShowMeetingIDOnTitle, void, bool, bAlwaysShow) //virtual void RedirectClickCustomLiveStreamMenuEvent(bool bRedirect) = 0; DEFINE_FUNC_1(RedirectClickCustomLiveStreamMenuEvent, void, bool, bRedirect) - +//virtual void RedirectClickAudioBTNEvent(bool bRedirect) = 0; +DEFINE_FUNC_1(RedirectClickAudioBTNEvent, void, bool, bRedirect) +//virtual void RedirectClickAudioMenuBTNEvent(bool bRedirect) = 0; +DEFINE_FUNC_1(RedirectClickAudioMenuBTNEvent, void, bool, bRedirect) //virtual void RedirectClickCCBTNEvent(bool bRedirect) = 0; DEFINE_FUNC_1(RedirectClickCCBTNEvent, void, bool, bRedirect) //virtual SDKError SetUICustomizedString(SDKCustomizedStringType customizedType, const wchar_t* customizedString) = 0; @@ -139,6 +144,8 @@ DEFINE_FUNC_1(EnableForceAutoStartMyVideoWhenJoinMeeting, void, bool, bEnable) DEFINE_FUNC_1(EnableForceAutoStopMyVideoWhenJoinMeeting, void, bool, bEnable) //virtual void DisableAutoShowSelectJoinAudioDlgWhenJoinMeeting(bool bDisable) = 0; DEFINE_FUNC_1(DisableAutoShowSelectJoinAudioDlgWhenJoinMeeting, void, bool, bDisable) +//virtual void DisableShowJoinMeetingWnd(bool bDisable) = 0; +DEFINE_FUNC_1(DisableShowJoinMeetingWnd, void, bool, bDisable) //virtual void RedirectMeetingWarningMsg(RedirectWarningMsgOption redirectOption) = 0; DEFINE_FUNC_1(RedirectMeetingWarningMsg, void, RedirectWarningMsgOption, redirectOption) //virtual void HideUpgradeWarningMsgForFreeUserWhenSchedule(bool bHide) = 0; diff --git a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_realname_auth_helper_wrap.cpp b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_realname_auth_helper_wrap.cpp index 20f6fb2..f3dab0b 100644 --- a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_realname_auth_helper_wrap.cpp +++ b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_realname_auth_helper_wrap.cpp @@ -57,5 +57,12 @@ IVector* IZoomRealNameAuthMeetingHelperWrap::Get return m_obj->GetSupportPhoneNumberCountryList(); return NULL; } +//virtual bool SetDefaultCellPhoneInfo(const zTCHAR* country_code, const zTCHAR* phone_number) = 0; +bool IZoomRealNameAuthMeetingHelperWrap::SetDefaultCellPhoneInfo(const zTCHAR* country_code, const zTCHAR* phone_number) +{ + if (m_obj) + return m_obj->SetDefaultCellPhoneInfo(country_code, phone_number); + return false; +} END_ZOOM_SDK_NAMESPACE \ No newline at end of file diff --git a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_realname_auth_helper_wrap.h b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_realname_auth_helper_wrap.h index ee05a98..efd6a06 100644 --- a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_realname_auth_helper_wrap.h +++ b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_realname_auth_helper_wrap.h @@ -22,6 +22,8 @@ DEFINE_FUNC_0(GetResendSMSVerificationCodeHandler, IZoomRetrieveSMSVerificationC DEFINE_FUNC_0(GetReVerifySMSVerificationCodeHandler, IZoomVerifySMSVerificationCodeHandler*) //virtual IVector* GetSupportPhoneNumberCountryList() = 0; DEFINE_FUNC_0(GetSupportPhoneNumberCountryList, IVector*) +//virtual bool SetDefaultCellPhoneInfo(const zTCHAR* country_code, const zTCHAR* phone_number) = 0; +DEFINE_FUNC_2(SetDefaultCellPhoneInfo, bool, const zTCHAR*, country_code, const zTCHAR*, phone_number) //virtual void onNeedRealNameAuthMeetingNotification(IVector* support_country_list, const zTCHAR* privacy_url, IZoomRetrieveSMSVerificationCodeHandler* handler) = 0; CallBack_FUNC_3(onNeedRealNameAuthMeetingNotification, IVector*, support_country_list, const zTCHAR*, privacy_url, IZoomRetrieveSMSVerificationCodeHandler*, handler); diff --git a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_ui_ctrl_wrap.h b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_ui_ctrl_wrap.h index ceb0d89..515a935 100644 --- a/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_ui_ctrl_wrap.h +++ b/zoom_sdk_c_sharp_wrap/wrap/meeting_service_components_wrap/meeting_ui_ctrl_wrap.h @@ -81,5 +81,9 @@ CallBack_FUNC_0(onCustomLiveStreamMenuClicked) CallBack_FUNC_0(onZoomInviteDialogFailed) //virtual void onCCBTNClicked() = 0; CallBack_FUNC_0(onCCBTNClicked) +//virtual void onAudioBtnClicked(AudioBtnClickedCallbackInfo info) = 0; +CallBack_FUNC_1(onAudioBtnClicked, AudioBtnClickedCallbackInfo, info) +//virtual void onAudioMenuBtnClicked() = 0; +CallBack_FUNC_0(onAudioMenuBtnClicked) END_CLASS_DEFINE(IMeetingUIController) END_ZOOM_SDK_NAMESPACE \ No newline at end of file diff --git a/zoom_sdk_c_sharp_wrap/zoom_sdk_dotnet_wrap.cpp b/zoom_sdk_c_sharp_wrap/zoom_sdk_dotnet_wrap.cpp index abc3a51..544ad4e 100644 --- a/zoom_sdk_c_sharp_wrap/zoom_sdk_dotnet_wrap.cpp +++ b/zoom_sdk_c_sharp_wrap/zoom_sdk_dotnet_wrap.cpp @@ -40,6 +40,7 @@ namespace ZOOM_SDK_DOTNET_WRAP { param_.uiWindowIconSmallID = initInfo.window_small_icon_id; param_.uiWindowIconBigID = initInfo.window_big_icon_id; param_.emLanguageID = (ZOOM_SDK_NAMESPACE::SDK_LANGUAGE_ID)initInfo.language_id; + param_.enableLogByDefault = initInfo.enable_log; PlatformString2CharHelper langinfo = PlatformString2CharHelper(initInfo.config_opts.customized_language.language_name); param_.obConfigOpts.customizedLang.langInfo = langinfo.c_str(); PlatformString2CharHelper langname = PlatformString2CharHelper(initInfo.config_opts.customized_language.language_name); diff --git a/zoom_sdk_c_sharp_wrap/zoom_sdk_dotnet_wrap_def.h b/zoom_sdk_c_sharp_wrap/zoom_sdk_dotnet_wrap_def.h index e8c3364..80a42a3 100644 --- a/zoom_sdk_c_sharp_wrap/zoom_sdk_dotnet_wrap_def.h +++ b/zoom_sdk_c_sharp_wrap/zoom_sdk_dotnet_wrap_def.h @@ -77,6 +77,7 @@ namespace ZOOM_SDK_DOTNET_WRAP { unsigned int window_big_icon_id;///< windows small icon file path SDK_LANGUAGE_ID language_id;///< sdk language ID ConfigurableOptions config_opts; + bool enable_log; }; public value class HWNDDotNet sealed