Intel® Collaboration Suite for WebRTC  version 4.3.1
Open WebRTC Toolkit (OWT) Client SDK for iOS*
OWTConferenceClient.h
1 // Copyright (C) <2018> Intel Corporation
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 #ifndef OWT_CONFERENCE_OBJC_OWTCONFERENCECLIENT_H_
5 #define OWT_CONFERENCE_OBJC_OWTCONFERENCECLIENT_H_
6 #import <WebRTC/RTCMacros.h>
7 #import "OWT/OWTConferenceClientConfiguration.h"
8 #import "OWT/OWTConferencePublication.h"
9 #import "OWT/OWTConferenceSubscription.h"
10 #import "OWT/OWTConferenceParticipant.h"
11 #import "OWT/OWTConferenceInfo.h"
12 #import "OWT/OWTLocalStream.h"
13 #import "OWT/OWTRemoteMixedStream.h"
14 #import "OWT/OWTRemoteStream.h"
15 #import "OWT/OWTPublishOptions.h"
16 NS_ASSUME_NONNULL_BEGIN
19 RTC_OBJC_EXPORT
20 @interface OWTConferenceClient : NSObject
25 - (instancetype)initWithConfiguration:(OWTConferenceClientConfiguration*)config;
31 - (void)joinWithToken:(NSString*)token
32  onSuccess:(nullable void (^)(OWTConferenceInfo*))onSuccess
33  onFailure:(nullable void (^)(NSError*))onFailure;
38 - (void)publish:(OWTLocalStream*)stream
39  withOptions:(nullable OWTPublishOptions*)options
40  onSuccess:(nullable void (^)(OWTConferencePublication*))onSuccess
41  onFailure:(nullable void (^)(NSError*))onFailure;
48 - (void)subscribe:(OWTRemoteStream*)stream
49  withOptions:(nullable OWTConferenceSubscribeOptions*)options
50  onSuccess:(nullable void (^)(OWTConferenceSubscription*))onSuccess
51  onFailure:(nullable void (^)(NSError*))onFailure;
56 - (void)send:(NSString*)message
57  onSuccess:(nullable void (^)())onSuccess
58  onFailure:(nullable void (^)(NSError*))onFailure;
64 - (void)send:(NSString*)message
65  to:(NSString*)receiver
66  onSuccess:(nullable void (^)())onSuccess
67  onFailure:(nullable void (^)(NSError*))onFailure;
71 - (void)leaveWithOnSuccess:(nullable void (^)())onSuccess
72  onFailure:(nullable void (^)(NSError*))onFailure;
73 @property(nonatomic, weak) id<OWTConferenceClientDelegate> delegate;
74 @end
76 RTC_OBJC_EXPORT
77 @protocol OWTConferenceClientDelegate<NSObject>
78 @optional
82 - (void)conferenceClientDidDisconnect:(OWTConferenceClient*)client;
87 - (void)conferenceClient:(OWTConferenceClient*)client
88  didAddStream:(OWTRemoteStream*)stream;
96 - (void)conferenceClient:(OWTConferenceClient*)client
97  didReceiveMessage:(NSString*)message
98  from:(NSString*)senderId
99  to:(NSString*)targetType;
104 - (void)conferenceClient:(OWTConferenceClient*)client
105  didAddParticipant:(OWTConferenceParticipant*)user;
106 @end
107 NS_ASSUME_NONNULL_END
108 #endif // OWT_CONFERENCE_OBJC_OWTCONFERENCECLIENT_H_
Definition: OWTConferenceSubscription.h:72
Delegate for OWTConferenceClient.
Definition: OWTConferenceClient.h:77
Information about the conference.
Definition: OWTConferenceInfo.h:13
Definition: OWTConferenceSubscription.h:28
This class represent a local stream.
Definition: OWTLocalStream.h:10
Publication represents a sender for publishing a stream.
Definition: OWTConferencePublication.h:30
An asynchronous class for app to communicate with a conference in MCU.
Definition: OWTConferenceClient.h:20
This class represents an attendee in a conference.
Definition: OWTConferenceParticipant.h:13
Configuration for creating a OWTConferenceClient.
Definition: OWTConferenceClientConfiguration.h:14
PublishOptions defines options for publishing a OWTLocalStream.
Definition: OWTPublishOptions.h:10
This class represents a remote stream.
Definition: OWTRemoteStream.h:10