RTCConfiguration+Private.h 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /*
  2. * Copyright 2015 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 "RTCConfiguration.h"
  11. #include "api/peer_connection_interface.h"
  12. NS_ASSUME_NONNULL_BEGIN
  13. @interface RTC_OBJC_TYPE (RTCConfiguration)
  14. ()
  15. + (webrtc::PeerConnectionInterface::IceTransportsType)nativeTransportsTypeForTransportPolicy
  16. : (RTCIceTransportPolicy)policy;
  17. + (RTCIceTransportPolicy)transportPolicyForTransportsType:
  18. (webrtc::PeerConnectionInterface::IceTransportsType)nativeType;
  19. + (NSString *)stringForTransportPolicy:(RTCIceTransportPolicy)policy;
  20. + (webrtc::PeerConnectionInterface::BundlePolicy)nativeBundlePolicyForPolicy:
  21. (RTCBundlePolicy)policy;
  22. + (RTCBundlePolicy)bundlePolicyForNativePolicy:
  23. (webrtc::PeerConnectionInterface::BundlePolicy)nativePolicy;
  24. + (NSString *)stringForBundlePolicy:(RTCBundlePolicy)policy;
  25. + (webrtc::PeerConnectionInterface::RtcpMuxPolicy)nativeRtcpMuxPolicyForPolicy:
  26. (RTCRtcpMuxPolicy)policy;
  27. + (RTCRtcpMuxPolicy)rtcpMuxPolicyForNativePolicy:
  28. (webrtc::PeerConnectionInterface::RtcpMuxPolicy)nativePolicy;
  29. + (NSString *)stringForRtcpMuxPolicy:(RTCRtcpMuxPolicy)policy;
  30. + (webrtc::PeerConnectionInterface::TcpCandidatePolicy)nativeTcpCandidatePolicyForPolicy:
  31. (RTCTcpCandidatePolicy)policy;
  32. + (RTCTcpCandidatePolicy)tcpCandidatePolicyForNativePolicy:
  33. (webrtc::PeerConnectionInterface::TcpCandidatePolicy)nativePolicy;
  34. + (NSString *)stringForTcpCandidatePolicy:(RTCTcpCandidatePolicy)policy;
  35. + (webrtc::PeerConnectionInterface::CandidateNetworkPolicy)nativeCandidateNetworkPolicyForPolicy:
  36. (RTCCandidateNetworkPolicy)policy;
  37. + (RTCCandidateNetworkPolicy)candidateNetworkPolicyForNativePolicy:
  38. (webrtc::PeerConnectionInterface::CandidateNetworkPolicy)nativePolicy;
  39. + (NSString *)stringForCandidateNetworkPolicy:(RTCCandidateNetworkPolicy)policy;
  40. + (rtc::KeyType)nativeEncryptionKeyTypeForKeyType:(RTCEncryptionKeyType)keyType;
  41. + (webrtc::SdpSemantics)nativeSdpSemanticsForSdpSemantics:(RTCSdpSemantics)sdpSemantics;
  42. + (RTCSdpSemantics)sdpSemanticsForNativeSdpSemantics:(webrtc::SdpSemantics)sdpSemantics;
  43. + (NSString *)stringForSdpSemantics:(RTCSdpSemantics)sdpSemantics;
  44. /**
  45. * RTCConfiguration struct representation of this RTCConfiguration.
  46. * This is needed to pass to the underlying C++ APIs.
  47. */
  48. - (nullable webrtc::PeerConnectionInterface::RTCConfiguration *)createNativeConfiguration;
  49. - (instancetype)initWithNativeConfiguration:
  50. (const webrtc::PeerConnectionInterface::RTCConfiguration &)config NS_DESIGNATED_INITIALIZER;
  51. @end
  52. NS_ASSUME_NONNULL_END