// // MobileRTCMeetingService+Customize.h // MobileRTC // // Created by Zoom Video Communications on 2017/2/27. // Copyright © 2019年 Zoom Video Communications, Inc. All rights reserved. // #import <MobileRTC/MobileRTC.h> #import <MobileRTC/MobileRTCRoomDevice.h> #import <MobileRTC/MobileRTCCallCountryCode.h> /*! @brief Provide interfaces for outgoing calls and Call Room Device. */ @interface MobileRTCMeetingService (Customize) /*! @brief Set to customize the meeting title which will be displayed in the meeting bar. @param title The topic/title of the meeting. @warning User should call the method before starting or joining the meeting if he wants to reset the title/topic of the meeting. */ - (void)customizeMeetingTitle:(NSString * _Nullable)title; /*! @brief Set to customize the meeting topic which will be displayed in the meeting info view. @param topic The topic of the meeting. @warning only meeting original host can call the function. @warning only in-meeting can call the function. */ - (BOOL)setMeetingTopic:(NSString *_Nonnull)meetingTopic; /*! @brief Query if user can dial out in the meeting. @return YES means able, No disable. */ - (BOOL)isDialOutSupported; /*! @brief Query if there is any outgoing call in process. @return YES means that there is outgoing call in process. */ - (BOOL)isDialOutInProgress; /*! @brief Start to dial out. @param phone The phone number of destination, you should add the country code in front of the phone number, such as +86123456789. @param me YES means Call Me; NO means inviting others by Phone. @param username The name of the user to be called. @return YES means the method is called successfully, otherwise not. */ - (BOOL)dialOut:(nonnull NSString*)phone isCallMe:(BOOL)me withName:(nullable NSString*)username; /*! @brief Cancel to dial out. @param isCallMe YES means Call Me; NO means inviting others by Phone. @return YES means the method is called successfully, otherwise not. */ - (BOOL)cancelDialOut:(BOOL)isCallMe; /*! @brief Query if it is able to Call Room device(H.323). @return YES means able, otherwise not. */ - (BOOL)isCallRoomDeviceSupported; /*! @brief Query if it is in process to call room device. @return YES means calling room device in process, otherwise not. */ - (BOOL)isCallingRoomDevice; /*! @brief Cancel to call room device. @return YES means the method is called successfully, otherwise not. */ - (BOOL)cancelCallRoomDevice; /*! @brief Get an array of IP Addresses of room device which is used for calling. @return The array of IP Address; if there is no existed IP Address, it will return nil. */ - (nullable NSArray <NSString *> *)getIPAddressList; /*! @brief Get the password of the meeting running on H.323 device. @return The meeting password. If no meeting is running, it will return nil. */ - (nullable NSString*)getH323MeetingPassword; /*! @brief Get room devices that can be called. @return The array of room devices. If there is no any room device. it will return nil. */ - (nullable NSArray <MobileRTCRoomDevice *> *)getRoomDeviceList; /*! @brief Get the pairing code when the room device call in. @param code The pairing code which enable the device connect to the meeting. @param meetingNumber The number of meeting. @return YES means the method is called successfully, otherwise not. @warning App can invite Room System while App is in Meeting or in pre-Meeting. */ - (BOOL)sendPairingCode:(nonnull NSString*)code WithMeetingNumber:(unsigned long long)meetingNumber; /*! @brief The user calls out to invite the room device. @param device The room device. @return YES means the method is called successfully, otherwise not. */ - (BOOL)callRoomDevice:(nonnull MobileRTCRoomDevice*)device; /*! @brief Get Participant ID. @return The Participant ID. */ - (NSUInteger)getParticipantID; /*! @brief Get countrycode for the current user's locale. @return The object of MobileRTCCallCountryCode for user's locale. */ - (nullable MobileRTCCallCountryCode *)getDialInCurrentCountryCode; /*! @brief Get all countrycodes @return The array of all countrycode. */ - (nullable NSArray <NSArray <MobileRTCCallCountryCode *> *> *)getDialInAllCountryCodes; /*! @brief Get to the countrycode specified by countryId @return The array of countrycode. */ - (nullable NSArray <MobileRTCCallCountryCode *> *)getDialInCallCodesWithCountryId:(nullable NSString *)countryId; /*! @brief Make a phone call to access your voice @return YES means the method is called successfully, otherwise not. */ - (BOOL)dialInCall:(nullable NSString *)countryNumber; /*! @brief Allowing the developer to customize the URL of create/edit the polling @param pollingURL customized URL. @param bCreate When bCreate is true, it changes the URL of creating a polling. Otherwise, it changes the URL of editing a polling. @return YES means the method is called successfully, otherwise not. */ - (BOOL)setCustomizedPollingUrl:(nullable NSString *)pollingURL bCreate:(BOOL)bCreate; /*! @brief Allowing the developer to customize the URL of cloud whiteboard feedback. @param feedbackUrl customized URL. @return YES means the method is called successfully, otherwise not. */ - (BOOL)setCloudWhiteboardFeedbackUrl:(nullable NSString *)feedbackUrl; @end