Mac SDK
ZoomSDKPremeetingService.h
1 //
2 // ZoomSDKPremeetingService.h
3 // ZoomSDK
4 //
5 // Created by TOTTI on 8/23/16.
6 // Copyright © 2016 Zoom Video Communications,Inc. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "ZoomSDKErrors.h"
11 
12 typedef enum{
13  ScheduleComponent_UpgradeAccountTipForFreeUser,
14 }ScheduleComponent;
15 
16 
17 @interface ZoomSDKDirectShareHandler: NSObject
22 -(ZoomSDKError)inputMeetingNumber:(NSString*)meetingNumber;
27 -(ZoomSDKError)inputSharingKey:(NSString*)shareKey;
32 -(ZoomSDKError)cancel;
33 @end
34 
41 -(void)onDirectShareStatusReceived:(DirectShareStatus)status DirectShareReceived:(ZoomSDKDirectShareHandler*)handler;
42 @end
43 
44 @interface ZoomSDKDirectShareHelper: NSObject
45 {
46  id<ZoomSDKDirectShareHelperDelegate> _delegate;
47 }
48 @property(nonatomic, assign) id<ZoomSDKDirectShareHelperDelegate> delegate;
53 -(ZoomSDKError)canDirectShare;
58 -(ZoomSDKError)startDirectShare;
63 -(ZoomSDKError)stopDirectShare;
64 @end
65 
66 @protocol ZoomSDKOutlookPluginDelegate <NSObject>
71 
76 
82 -(void)onOutlookPluginDefaultMeetingTopicRequest:(NSString*)scheduleForEmail DefaultMeetingTopic:(NSString**)topic;
83 @end
84 
85 
86 @interface ZoomSDKOutlookPluginHelper : NSObject
87 {
88  id<ZoomSDKOutlookPluginDelegate> _delegate;
89 }
90 @property(nonatomic, assign)id<ZoomSDKOutlookPluginDelegate> delegate;
99 -(ZoomSDKError)start:(NSString*)ipcName IPCNoti:(NSString*)ipcNoti AppName:(NSString*)appName AppIdentity:(NSString*)identity;
104 -(ZoomSDKError)stop;
105 @end
106 
107 @interface IMeetingDateOption : NSObject
112 -(time_t) getMeetingStartTime;
117 -(unsigned int)getMeetingDuration;
122 -(BOOL) isRecurringMeeting;
123 @end
124 
130 - (void)setMeetingStartTime:(time_t)starttime;
135 - (void)setMeetingDuration:(unsigned int)duration;
139 - (void)enableRecurringMeeting:(BOOL)recurring;
140 @end
141 
142 @interface IMeetingAudioOption: NSObject
147 - (ScheduleMeetingAudioType)getScheduleMeetingAudioType:(int*)availableAudioType;
152 - (BOOL)canGetDialinInfo;
157 - (NSArray*)getAvailableDialinCountry;
162 - (NSArray*)getSelectedDialinCountry;
168 @end
169 
176 - (ZoomSDKError)setScheduleMeetingAudioType:(ScheduleMeetingAudioType)type;
182 - (ZoomSDKError)selectDialinCountry:(NSArray*)array;
188 - (ZoomSDKError)selectIncludeTollFreeNum:(BOOL)include;
189 @end
190 
191 @interface IMeetingVideoOption :NSObject
196 - (BOOL)isHostVideoOn;
201 - (BOOL)isParticipantVideoOn;
202 @end
203 
209 - (void)setHostVideoOn:(BOOL)on;
214 - (void)setParticipantVideoOn:(BOOL)on;
215 @end
216 
217 @interface IScheduleForUser: NSObject
218 {
219  NSString* _email;
220  NSString* _displayName;
221 }
226 @property(nonatomic, readwrite, retain) NSString* email;
231 @property(nonatomic, readwrite, retain) NSString* displayName;
232 @end
233 
234 @interface InterpreterLanguageInfo : NSObject
235 
239 @property(nonatomic, readwrite, copy) NSString* email;
240 
244 @property(nonatomic, readwrite, assign) ZoomSDKInterpreLanguage firstLanguage;
245 
249 @property(nonatomic, readwrite, assign) ZoomSDKInterpreLanguage secondLanguage;
250 @end
251 
252 @interface IMeetingConfigOption : NSObject
257 -(NSString*)getMeetingTopic;
267 -(NSString*)getMeetingPassword;
272 -(BOOL)enableJBH;
277 -(BOOL)enableMuteOnEntry;
282 -(BOOL)enableUsePMI;
288 -(BOOL)enableHostInChina:(BOOL*)canModify;
294 -(BOOL)enableOnlySignedUserJoin:(BOOL*)canModify;
300 -(BOOL)enableSpecialDomainUserJoin:(BOOL*)canModify;
305 -(NSString*)getSpecialDomains;
311 -(BOOL)enableAutoRecord:(int*)supportRecordType;
316 -(ScheduleMeetingRecordType)getMeetingRecordType;
322 -(NSArray*)getScheduleForUser:(BOOL*)canModify;
323 
328 -(BOOL)enableWaitingRooms;
329 
334 -(BOOL)enableMeetingToPublic;
335 
341 
346 -(NSString *)getPublicEventListUrl;
347 
352 -(NSArray *)getInterpreterInfoList;
353 
354 @end
355 
361 -(void)setMeetingTopic:(NSString*)topic;
366 -(void)setRequirePassword:(BOOL)require;
371 -(void)setMeetingPassword:(NSString*)password;
376 -(void)setEnableJBH:(BOOL)enable;
381 -(void)setEnableMuteOnEntry:(BOOL)enable;
387 -(ZoomSDKError)setUsePMI:(BOOL)use;
393 -(ZoomSDKError)setEnableHostInChina:(BOOL)enable;
399 -(ZoomSDKError)setEnableOnlySignedUserJoin:(BOOL)enable;
405 -(ZoomSDKError)setEnableSpecialDomainUserJoin:(BOOL)enable;
411 -(ZoomSDKError)selectSpecialDomains:(NSString*)domains;
417 -(ZoomSDKError)setEnableAutoRecord:(BOOL)enable;
423 -(ZoomSDKError)setRecordType:(ScheduleMeetingRecordType)type;
429 -(ZoomSDKError)selectScheduleForUser:(NSArray*)users;
430 
435 -(void)setEnableWaitingRooms:(BOOL)enable;
436 
441 -(void)setEnableMeetingToPublic:(BOOL)enable;
442 
447 -(ZoomSDKError)setEnableLanguageInterpretation:(BOOL)enable;
448 
454 -(ZoomSDKError)setInterpreterInfo:(NSArray *)arr;
455 @end
456 
457 @interface ZoomSDKScheduleMeetingItem : NSObject
458 {
459  ScheduleMeetingDateOption* _dateOption;
460  ScheduleMeetingAudioOption* _audioOption;
461  ScheduleMeetingVideoOption* _videoOption;
462  ScheduleMeetingConfigOption* _configOption;
463 }
464 @property(nonatomic, retain) ScheduleMeetingDateOption* dateOption;
465 @property(nonatomic, retain) ScheduleMeetingAudioOption* audioOption;
466 @property(nonatomic, retain) ScheduleMeetingVideoOption* videoOption;
467 @property(nonatomic, retain) ScheduleMeetingConfigOption* configOption;
468 @end
469 
470 @interface ZoomSDKMeetingItem : NSObject
471 {
472  IMeetingDateOption* _dateOption;
473  IMeetingAudioOption* _audioOption;
474  IMeetingVideoOption* _videoOption;
475  IMeetingConfigOption* _configOption;
476  long long _meetingUniqueID;
477 }
482 -(IMeetingDateOption*)getDateOption;
487 -(IMeetingAudioOption*)getAudioOption;
492 -(IMeetingVideoOption*)getVideoOption;
497 -(IMeetingConfigOption*)getConfigOption;
502 -(long long)getMeetingUniqueID;
507 -(NSString*)getInviteEmailContent;
512 -(NSString*)getJoinMeetingUrl;
513 
518 -(long long)getMeetingNumber;
519 
520 @end
521 
523 @interface ZoomSDKPremeetingService : NSObject
524 {
525  id<ZoomSDKPremeetingServiceDelegate> _delegate;
526  ZoomSDKOutlookPluginHelper* _outlookPluginHelper;
527  ZoomSDKDirectShareHelper* _directShareHelper;
528 }
529 
533 @property (assign, nonatomic) id<ZoomSDKPremeetingServiceDelegate> delegate;
538 - (ZoomSDKScheduleMeetingItem*)createScheduleMeetingItem;
539 
545 - (ZoomSDKScheduleMeetingItem*)createEditMeetingItemWithMeetingID:(long long)meetingUniqueID;
546 
552 - (ZoomSDKError)destoryScheduleMeetingItem:(ZoomSDKScheduleMeetingItem*)meetingItem;
558 - (ZoomSDKError)scheduleMeeting:(ZoomSDKScheduleMeetingItem*)meetingItem;
559 
566 - (ZoomSDKError)editMeeting:(ZoomSDKScheduleMeetingItem*)meetingItem MeetingUniqueID:(long long)meetingUniqueID;
567 
573 - (ZoomSDKError)deleteMeeting:(long long)meetingUniqueID;
574 
579 - (ZoomSDKError)listMeeting;
580 
586 - (ZoomSDKMeetingItem*)getMeetingItem:(long long)meetingUniqueID;
587 
596 - (ZoomSDKError)showScheduleEditMeetingWindow:(BOOL)show Window:(NSWindow**)window MeetingID:(long long)meetingUniqueID;
597 
602 - (ZoomSDKOutlookPluginHelper*)getOutlookPluginHelper;
603 
608 - (void)enableForceAutoStartMyVideoWhenJoinMeeting:(BOOL)enable;
609 
614 - (void)enableForceAutoStopMyVideoWhenJoinMeeting:(BOOL)enable;
615 
620 - (void)disableAutoShowSelectJoinAudioDlgWhenJoinMeeting:(BOOL)disable;
621 
626 - (BOOL)isUserForceStartMyVideoWhenInMeeting;
627 
632 - (BOOL)isUserForceStopMyVideoWhenInMeeting;
633 
638 - (BOOL)isUserForceDisableShowJoinAudioDlgWhenInMeeting;
639 
644 - (ZoomSDKDirectShareHelper*)getDirectShareHelper;
645 
652 - (void)hideScheduleComponent:(ScheduleComponent)component hide:(BOOL)hide;
657 - (BOOL)isDisabledPMI;
658 @end
659 
660 
662 
663 @optional
670 - (void)onListMeeting:(ZoomSDKPremeetingError)error MeetingList:(NSArray*)meetingList;
671 
678 - (void)onScheduleOrEditMeeting:(ZoomSDKPremeetingError)error MeetingUniqueID:(long long)meetingUniqueID;
679 
685 - (void)onDeleteMeeting:(ZoomSDKPremeetingError)error;
686 @end
InterpreterLanguageInfo::firstLanguage
ZoomSDKInterpreLanguage firstLanguage
The language interpretation used first language.
Definition: ZoomSDKPremeetingService.h:244
InterpreterLanguageInfo::email
NSString * email
The email of the language interpretation user.
Definition: ZoomSDKPremeetingService.h:239
-[IMeetingConfigOption enableUsePMI]
BOOL enableUsePMI()
Query if the feature is enabled to use PMI to schedule meeting.
IMeetingConfigOption
Definition: ZoomSDKPremeetingService.h:253
ZoomSDKPremeetingServiceDelegate-p
Definition: ZoomSDKPremeetingService.h:661
-[IMeetingConfigOption enableRequiredPassword]
BOOL enableRequiredPassword()
Query if the feature is enabled that the password is required when user joins meeting.
-[IMeetingConfigOption getPublicEventListUrl]
NSString * getPublicEventListUrl()
Get the URL of the public event list.
ZoomSDKOutlookPluginHelper
Definition: ZoomSDKPremeetingService.h:87
ZoomSDKDirectShareHelper
Definition: ZoomSDKPremeetingService.h:45
ScheduleMeetingVideoOption
Definition: ZoomSDKPremeetingService.h:205
-[IMeetingConfigOption getInterpreterInfoList]
NSArray * getInterpreterInfoList()
Get the array of language interpretation information.
-[ZoomSDKDirectShareHandler cancel]
ZoomSDKError cancel()
Designated to cancel input action.
ScheduleMeetingConfigOption
Definition: ZoomSDKPremeetingService.h:357
-[IMeetingVideoOption isParticipantVideoOn]
BOOL isParticipantVideoOn()
Query if the video of participant is on.
-[IMeetingDateOption isRecurringMeeting]
BOOL isRecurringMeeting()
Query if the meeting is a recurring one.
-[IMeetingAudioOption enableIncludeTollFreeNum]
BOOL enableIncludeTollFreeNum()
Query if the toll-free numbers are enabled in the call-in number list.
-[IMeetingConfigOption getMeetingTopic]
NSString * getMeetingTopic()
Get the meeting topic.
ZoomSDKDirectShareHelperDelegate-p
Definition: ZoomSDKPremeetingService.h:35
-[IMeetingDateOption getMeetingDuration]
unsigned int getMeetingDuration()
Get the duration of meeting.
-[IMeetingDateOption getMeetingStartTime]
time_t getMeetingStartTime()
Get the start time of meeting.
-[IMeetingAudioOption getSelectedDialinCountry]
NSArray * getSelectedDialinCountry()
Get the selected country listed in the array.
-[IMeetingConfigOption enableLanguageInterpretation]
BOOL enableLanguageInterpretation()
Get the language inerpretation is enable.
IMeetingAudioOption
Definition: ZoomSDKPremeetingService.h:143
-[ZoomSDKOutlookPluginDelegate-p onOutlookPluginNeedLoginRequest]
void onOutlookPluginNeedLoginRequest()
Notification of requirement to login from Outlook.
ZoomSDKOutlookPluginDelegate-p
Definition: ZoomSDKPremeetingService.h:66
ZoomSDKPremeetingService
Definition: ZoomSDKPremeetingService.h:524
-[IMeetingConfigOption enableMuteOnEntry]
BOOL enableMuteOnEntry()
Query if the feature is enabled when user joins meeting with audio muted.
-[IMeetingConfigOption enableJBH]
BOOL enableJBH()
Query if the feature is enabled that user can join meeting before host.
InterpreterLanguageInfo::secondLanguage
ZoomSDKInterpreLanguage secondLanguage
The language interpretation used second language.
Definition: ZoomSDKPremeetingService.h:249
ZoomSDKMeetingItem
Definition: ZoomSDKPremeetingService.h:471
-[IMeetingConfigOption getMeetingPassword]
NSString * getMeetingPassword()
Get the meeting password.
-[IMeetingVideoOption isHostVideoOn]
BOOL isHostVideoOn()
Query if the video of host is on.
InterpreterLanguageInfo
Definition: ZoomSDKPremeetingService.h:235
IMeetingDateOption
Definition: ZoomSDKPremeetingService.h:108
-[IMeetingConfigOption getMeetingRecordType]
ScheduleMeetingRecordType getMeetingRecordType()
Get the recording type of meeting.
ZoomSDKDirectShareHandler
Definition: ZoomSDKPremeetingService.h:18
ScheduleMeetingDateOption
Definition: ZoomSDKPremeetingService.h:126
-[IMeetingAudioOption canGetDialinInfo]
BOOL canGetDialinInfo()
Query if user can get the information of dialing in.
ZoomSDKScheduleMeetingItem
Definition: ZoomSDKPremeetingService.h:458
ScheduleMeetingAudioOption
Definition: ZoomSDKPremeetingService.h:171
-[IMeetingConfigOption enableMeetingToPublic]
BOOL enableMeetingToPublic()
Get the list in the public event list is enable.
IScheduleForUser
Definition: ZoomSDKPremeetingService.h:218
-[ZoomSDKOutlookPluginDelegate-p onOutlookPluginScheduleMeetingRequest]
void onOutlookPluginScheduleMeetingRequest()
Notification of requirement to schedule a meeting from outlook.
-[IMeetingConfigOption getSpecialDomains]
NSString * getSpecialDomains()
Get the specified domains.
-[IMeetingAudioOption getAvailableDialinCountry]
NSArray * getAvailableDialinCountry()
Get the array of available countries where user can dial in.
-[IMeetingConfigOption enableWaitingRooms]
BOOL enableWaitingRooms()
Get the waitingRooms is enable of meeting.
IMeetingVideoOption
Definition: ZoomSDKPremeetingService.h:192