Mac SDK
ZoomSDKMeetingService.h
1 //
2 // ZoomSDKMeetingService.h
3 // ZoomSDK
4 //
5 // Created by TOTTI on 7/18/16.
6 // Copyright (c) 2016 Zoom Video Communications,Inc. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "ZoomSDKErrors.h"
11 #import "ZoomSDKH323Helper.h"
12 #import "ZoomSDKPhoneHelper.h"
13 #import "ZoomSDKWaitingRoomController.h"
14 #import "ZoomSDKMeetingUIController.h"
15 #import "ZoomSDKBreakoutRoomsController.h"
16 #import "ZoomSDKMeetingConfiguration.h"
17 #import "ZoomSDKASController.h"
18 #import "ZoomSDKMeetingActionController.h"
19 #import "ZoomSDKLiveStreamHelper.h"
20 #import "ZoomSDKVideoContainer.h"
21 #import "ZoomSDKMeetingRecordController.h"
22 #import "ZoomSDKWebinarController.h"
23 #import "ZoomSDKCloseCaptionController.h"
24 #import "ZoomSDKRealNameAuthenticationController.h"
25 #import "ZoomSDKQAController.h"
26 #import "ZoomSDKNewBreakoutRoomController.h"
27 #import "ZoomSDKInterpretationController.h"
28 
29 @interface ZoomSDKSecuritySessionKey : NSObject
30 {
31  SecuritySessionComponet _component;
32  NSData* _sessionKey;
33  NSData* _iv;
34 }
35 @property(nonatomic, assign) SecuritySessionComponet component;
36 @property(nonatomic, retain) NSData* iv;
37 @property(nonatomic, retain) NSData* sessionKey;
38 
39 @end
40 
41 @interface ZoomSDKStartMeetingElements : NSObject
45 @property(nonatomic, copy)NSString* displayName NS_DEPRECATED_MAC(4.3, 5.0);
49 @property(nonatomic, copy)NSString* vanityID;
53 @property(nonatomic, assign)ZoomSDKUserType userType;
57 @property(nonatomic, copy)NSString* userId NS_DEPRECATED_MAC(4.3, 5.0);
61 @property(nonatomic, assign)long long meetingNumber;
65 @property(nonatomic, assign)BOOL isDirectShare;
69 @property(nonatomic, assign)CGDirectDisplayID displayID;
73 @property(nonatomic, assign)BOOL isNoVideo;
77 @property(nonatomic, assign)BOOL isNoAuido;
81 @property(nonatomic, copy)NSString* participantId;
82 @end
83 
84 @interface ZoomSDKStartMeetingUseZakElements : NSObject
88 @property(nonatomic, copy)NSString* zak;
92 @property(nonatomic, copy)NSString* displayName;
96 @property(nonatomic, copy)NSString* vanityID;
100 @property(nonatomic, assign)SDKUserType userType;
104 @property(nonatomic, copy)NSString* userId;
108 @property(nonatomic, assign)long long meetingNumber;
112 @property(nonatomic, assign)BOOL isDirectShare;
116 @property(nonatomic, assign)CGDirectDisplayID displayID;
120 @property(nonatomic, assign)BOOL isNoVideo;
124 @property(nonatomic, assign)BOOL isNoAuido;
128 @property(nonatomic, copy)NSString* participantId;
129 @end
130 
131 @interface ZoomSDKJoinMeetingElements : NSObject
135 @property(nonatomic, copy)NSString* zak;
139 @property(nonatomic, copy)NSString* webinarToken;
143 @property(nonatomic, copy)NSString* displayName;
147 @property(nonatomic, copy)NSString* vanityID;
151 @property(nonatomic, assign)ZoomSDKUserType userType;
155 @property(nonatomic, copy)NSString* participantId;
159 @property(nonatomic, assign)long long meetingNumber;
163 @property(nonatomic, assign)BOOL isDirectShare;
167 @property(nonatomic, assign)CGDirectDisplayID displayID;
171 @property(nonatomic, assign)BOOL isNoVideo;
175 @property(nonatomic, assign)BOOL isNoAuido;
179 @property(nonatomic, copy)NSString *password;
180 
181 @end
182 
183 @protocol ZoomSDKMeetingServiceDelegate <NSObject>
184 
185 @optional
186 
193 - (void)onMeetingStatusChange:(ZoomSDKMeetingStatus)state meetingError:(ZoomSDKMeetingError)error EndReason:(EndMeetingReason)reason;
194 
199 - (void)onWaitMeetingSessionKey:(NSData*)key;
200 
205 - (void)onMeetingStatisticWarning:(StatisticWarningType)type;
206 
212 - (void)onFreeMeetingNeedToUpgrade:(FreeMeetingNeedUpgradeType)type giftUpgradeURL:(NSString*)giftURL;
213 
218 
223 
228 
233 
238 - (void)onFreeMeetingRemainTime:(unsigned int)seconds;
239 @end
240 
245 @interface ZoomSDKMeetingService : NSObject
246 {
247  id<ZoomSDKMeetingServiceDelegate> _delegate;
248  ZoomSDKMeetingUIController* _meetingUIController;
249  ZoomSDKMeetingConfiguration* _meetingConfiguration;
250  ZoomSDKBreakoutRoomsController* _boController;
251  ZoomSDKH323Helper* _h323Helper;
252  ZoomSDKWaitingRoomController* _waitingRoomController;
253  ZoomSDKPhoneHelper* _phoneHelper;
254  ZoomSDKASController* _asController;
255  ZoomSDKMeetingActionController* _actionController;
256  ZoomSDKLiveStreamHelper* _liveStreamHelper;
257  //customized UI
258  ZoomSDKVideoContainer* _videoContainer;
259  ZoomSDKMeetingRecordController* _recordController;
260  ZoomSDKWebinarController* _webinarController;
261  ZoomSDKCloseCaptionController* _closeCaptionController;
262  ZoomSDKRealNameAuthenticationController* _realNameController;
263  ZoomSDKQAController* _QAController;
264  ZoomSDKNewBreakoutRoomController* _newBOController;
265  ZoomSDKInterpretationController * _InterpretationController;
266 }
270 @property (assign, nonatomic) id<ZoomSDKMeetingServiceDelegate> delegate;
271 
276 - (ZoomSDKMeetingUIController*)getMeetingUIController;
277 
282 - (ZoomSDKMeetingConfiguration*)getMeetingConfiguration;
283 
288 - (ZoomSDKH323Helper*)getH323Helper;
289 
294 - (ZoomSDKBreakoutRoomsController*)getBreakoutRoomsController;
295 
300 - (ZoomSDKWaitingRoomController*)getWaitingRoomController;
301 
306 - (ZoomSDKASController*)getASController;
307 
312 - (ZoomSDKPhoneHelper*)getPhoneHelper;
313 
318 - (ZoomSDKMeetingActionController*)getMeetingActionController;
319 
324 - (ZoomSDKLiveStreamHelper*)getLiveStreamHelper;
325 
330 - (ZoomSDKVideoContainer*)getVideoContainer;
331 
336 - (ZoomSDKMeetingRecordController*)getRecordController;
341 - (ZoomSDKWebinarController*)getWebinarController;
342 
347 - (ZoomSDKCloseCaptionController*)getCloseCaptionController;
348 
353 -(ZoomSDKRealNameAuthenticationController *)getRealNameController;
354 
359 -(ZoomSDKQAController *)getQAController;
360 
365 -(ZoomSDKNewBreakoutRoomController *)getNewBreakoutRoomController;
366 
371 -(ZoomSDKInterpretationController*)getInterpretationController;
377 -(ZoomSDKError)startMeeting:(ZoomSDKStartMeetingElements *)context;
384 -(ZoomSDKError)startMeetingWithZAK:(ZoomSDKStartMeetingUseZakElements *)context;
391 -(ZoomSDKError)joinMeeting:(ZoomSDKJoinMeetingElements *)context;
396 - (void)leaveMeetingWithCmd:(LeaveMeetingCmd)cmd;
397 
402 - (ZoomSDKMeetingStatus)getMeetingStatus;
403 
409 - (NSString*)getMeetingProperty:(MeetingPropertyCmd)command;
410 
417 - (ZoomSDKConnectionQuality)getConnectionQuality:(ConnectionComponent)component Sending:(BOOL)sending;
422 - (MeetingType)getMeetingType;
423 
429 -(BOOL)isInternalMeeting;
430 
436 -(BOOL)isFailoverMeeting;
437 
444 -(ZoomSDKError)setSecuritySessionKey:(NSArray*)keyArray isLeaveMeeting:(BOOL)leaveMeeting;
445 
451 - (ZoomSDKError)handleZoomWebUrlAction:(NSString*)urlAction;
452 @end
453 
454 
455 
456 
457 
-[ZoomSDKMeetingServiceDelegate-p onFreeMeetingRemainTimeStopCountDown]
void onFreeMeetingRemainTimeStopCountDown()
Designated for notify the free meeting remain time has been stoped to count down.
ZoomSDKPhoneHelper
Definition: ZoomSDKPhoneHelper.h:92
-[ZoomSDKMeetingServiceDelegate-p onFreeMeetingUpgradeToGiftFreeTrialStart]
void onFreeMeetingUpgradeToGiftFreeTrialStart()
Designated for notify the free meeting which has been upgraded to free trail meeting has started.
ZoomSDKWaitingRoomController
Definition: ZoomSDKWaitingRoomController.h:25
ZoomSDKMeetingUIController
Definition: ZoomSDKMeetingUIController.h:64
ZoomSDKStartMeetingElements::isDirectShare
BOOL isDirectShare
Set it to YES to start sharing computer desktop directly when meeting starts.
Definition: ZoomSDKMeetingService.h:65
-[ZoomSDKMeetingServiceDelegate-p onFreeMeetingUpgradedToProMeeting]
void onFreeMeetingUpgradedToProMeeting()
Designated for notify the free meeting has been upgraded to professional meeting.
ZoomSDKStartMeetingUseZakElements
Definition: ZoomSDKMeetingService.h:85
ZoomSDKStartMeetingElements
Definition: ZoomSDKMeetingService.h:42
ZoomSDKMeetingRecordController
Definition: ZoomSDKMeetingRecordController.h:130
ZoomSDKRealNameAuthenticationController
Definition: ZoomSDKRealNameAuthenticationController.h:104
ZoomSDKLiveStreamHelper
Definition: ZoomSDKLiveStreamHelper.h:40
ZoomSDKBreakoutRoomsController
Definition: ZoomSDKBreakoutRoomsController.h:35
ZoomSDKInterpretationController
Definition: ZoomSDKInterpretationController.h:108
ZoomSDKStartMeetingElements::displayID
CGDirectDisplayID displayID
The APP to be shared.
Definition: ZoomSDKMeetingService.h:69
ZoomSDKSecuritySessionKey
Definition: ZoomSDKMeetingService.h:30
ZoomSDKNewBreakoutRoomController
Definition: ZoomSDKNewBreakoutRoomController.h:343
ZoomSDKWebinarController
Webinar controller interface.
Definition: ZoomSDKWebinarController.h:124
ZoomSDKStartMeetingElements::userType
ZoomSDKUserType userType
It depends on the type of client account.
Definition: ZoomSDKMeetingService.h:53
ZoomSDKCloseCaptionController
Definition: ZoomSDKCloseCaptionController.h:36
-[ZoomSDKStartMeetingElements NS_DEPRECATED_MAC]
NSString *userId NS_DEPRECATED_MAC(4.3, 5.0)
The userId generates from ZOOM site of user account.
ZoomSDKStartMeetingElements::meetingNumber
long long meetingNumber
It may be the number of a scheduled meeting or a Personal Meeting ID. Set it to 0 to start an instant...
Definition: ZoomSDKMeetingService.h:61
ZoomSDKVideoContainer
Definition: ZoomSDKVideoContainer.h:112
ZoomSDKJoinMeetingElements
Definition: ZoomSDKMeetingService.h:132
-[ZoomSDKStartMeetingElements NS_DEPRECATED_MAC]
NSString *displayName NS_DEPRECATED_MAC(4.3, 5.0)
User's screen name displayed in the meeting.
ZoomSDKH323Helper
Definition: ZoomSDKH323Helper.h:50
ZoomSDKQAController
Definition: ZoomSDKQAController.h:272
ZoomSDKMeetingConfiguration
Definition: ZoomSDKMeetingConfiguration.h:10
-[ZoomSDKMeetingServiceDelegate-p onFreeMeetingUpgradeToGiftFreeTrialStop]
void onFreeMeetingUpgradeToGiftFreeTrialStop()
Designated for notify the free meeting which has been upgraded to free trail meeting has stoped.
ZoomSDKMeetingServiceDelegate-p
Definition: ZoomSDKMeetingService.h:183
ZoomSDKStartMeetingElements::isNoVideo
BOOL isNoVideo
Set it to YES to turn off the video when user joins meeting.
Definition: ZoomSDKMeetingService.h:73
ZoomSDKMeetingService
It is an implementation for client to start/join a Meeting.
Definition: ZoomSDKMeetingService.h:246
ZoomSDKMeetingActionController
Definition: ZoomSDKMeetingActionController.h:361
ZoomSDKStartMeetingElements::isNoAuido
BOOL isNoAuido
Set it to YES to turn off the audio when user joins meeting.
Definition: ZoomSDKMeetingService.h:77
ZoomSDKASController
ZOOM share controller.
Definition: ZoomSDKASController.h:118
ZoomSDKStartMeetingElements::vanityID
NSString * vanityID
Set meetingNumber to 0 if you want to start a meeting with vanityID.
Definition: ZoomSDKMeetingService.h:49
ZoomSDKStartMeetingElements::participantId
NSString * participantId
Participant ID the participant id of user.
Definition: ZoomSDKMeetingService.h:81