ARDAppClient+Internal.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. #import "ARDAppClient.h"
  11. #import <WebRTC/RTCPeerConnection.h>
  12. #import "ARDRoomServerClient.h"
  13. #import "ARDSignalingChannel.h"
  14. #import "ARDTURNClient.h"
  15. @class RTC_OBJC_TYPE(RTCPeerConnectionFactory);
  16. @interface ARDAppClient () <ARDSignalingChannelDelegate, RTC_OBJC_TYPE (RTCPeerConnectionDelegate)>
  17. // All properties should only be mutated from the main queue.
  18. @property(nonatomic, strong) id<ARDRoomServerClient> roomServerClient;
  19. @property(nonatomic, strong) id<ARDSignalingChannel> channel;
  20. @property(nonatomic, strong) id<ARDSignalingChannel> loopbackChannel;
  21. @property(nonatomic, strong) id<ARDTURNClient> turnClient;
  22. @property(nonatomic, strong) RTC_OBJC_TYPE(RTCPeerConnection) * peerConnection;
  23. @property(nonatomic, strong) RTC_OBJC_TYPE(RTCPeerConnectionFactory) * factory;
  24. @property(nonatomic, strong) NSMutableArray *messageQueue;
  25. @property(nonatomic, assign) BOOL isTurnComplete;
  26. @property(nonatomic, assign) BOOL hasReceivedSdp;
  27. @property(nonatomic, readonly) BOOL hasJoinedRoomServerRoom;
  28. @property(nonatomic, strong) NSString *roomId;
  29. @property(nonatomic, strong) NSString *clientId;
  30. @property(nonatomic, assign) BOOL isInitiator;
  31. @property(nonatomic, strong) NSMutableArray *iceServers;
  32. @property(nonatomic, strong) NSURL *webSocketURL;
  33. @property(nonatomic, strong) NSURL *webSocketRestURL;
  34. @property(nonatomic, readonly) BOOL isLoopback;
  35. @property(nonatomic, strong) RTC_OBJC_TYPE(RTCMediaConstraints) * defaultPeerConnectionConstraints;
  36. - (instancetype)initWithRoomServerClient:(id<ARDRoomServerClient>)rsClient
  37. signalingChannel:(id<ARDSignalingChannel>)channel
  38. turnClient:(id<ARDTURNClient>)turnClient
  39. delegate:(id<ARDAppClientDelegate>)delegate;
  40. @end