ARDAppClient+Internal.h (2232B)
1 /* 2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #import "ARDAppClient.h" 12 13 #import "sdk/objc/api/peerconnection/RTCPeerConnection.h" 14 15 #import "ARDRoomServerClient.h" 16 #import "ARDSignalingChannel.h" 17 #import "ARDTURNClient.h" 18 19 @class RTC_OBJC_TYPE(RTCPeerConnectionFactory); 20 21 @interface ARDAppClient () <ARDSignalingChannelDelegate, 22 RTC_OBJC_TYPE (RTCPeerConnectionDelegate)> 23 24 // All properties should only be mutated from the main queue. 25 @property(nonatomic, strong) id<ARDRoomServerClient> roomServerClient; 26 @property(nonatomic, strong) id<ARDSignalingChannel> channel; 27 @property(nonatomic, strong) id<ARDSignalingChannel> loopbackChannel; 28 @property(nonatomic, strong) id<ARDTURNClient> turnClient; 29 30 @property(nonatomic, strong) RTC_OBJC_TYPE(RTCPeerConnection) * peerConnection; 31 @property(nonatomic, strong) RTC_OBJC_TYPE(RTCPeerConnectionFactory) * factory; 32 @property(nonatomic, strong) NSMutableArray *messageQueue; 33 34 @property(nonatomic, assign) BOOL isTurnComplete; 35 @property(nonatomic, assign) BOOL hasReceivedSdp; 36 @property(nonatomic, readonly) BOOL hasJoinedRoomServerRoom; 37 38 @property(nonatomic, strong) NSString *roomId; 39 @property(nonatomic, strong) NSString *clientId; 40 @property(nonatomic, assign) BOOL isInitiator; 41 @property(nonatomic, strong) NSMutableArray *iceServers; 42 @property(nonatomic, strong) NSURL *webSocketURL; 43 @property(nonatomic, strong) NSURL *webSocketRestURL; 44 @property(nonatomic, readonly) BOOL isLoopback; 45 46 @property(nonatomic, strong) RTC_OBJC_TYPE(RTCMediaConstraints) * 47 defaultPeerConnectionConstraints; 48 49 - (instancetype)initWithRoomServerClient:(id<ARDRoomServerClient>)rsClient 50 signalingChannel:(id<ARDSignalingChannel>)channel 51 turnClient:(id<ARDTURNClient>)turnClient 52 delegate:(id<ARDAppClientDelegate>)delegate; 53 54 @end