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 11 #import "RTCConfiguration.h" 12 13 #include "api/peer_connection_interface.h" 14 15 NS_ASSUME_NONNULL_BEGIN 16 17 @interface RTC_OBJC_TYPE (RTCConfiguration) 18 () 19 20 + (webrtc::PeerConnectionInterface::IceTransportsType)nativeTransportsTypeForTransportPolicy 21 : (RTCIceTransportPolicy)policy; 22 23 + (RTCIceTransportPolicy)transportPolicyForTransportsType: 24 (webrtc::PeerConnectionInterface::IceTransportsType)nativeType; 25 26 + (NSString *)stringForTransportPolicy:(RTCIceTransportPolicy)policy; 27 28 + (webrtc::PeerConnectionInterface::BundlePolicy)nativeBundlePolicyForPolicy: 29 (RTCBundlePolicy)policy; 30 31 + (RTCBundlePolicy)bundlePolicyForNativePolicy: 32 (webrtc::PeerConnectionInterface::BundlePolicy)nativePolicy; 33 34 + (NSString *)stringForBundlePolicy:(RTCBundlePolicy)policy; 35 36 + (webrtc::PeerConnectionInterface::RtcpMuxPolicy)nativeRtcpMuxPolicyForPolicy: 37 (RTCRtcpMuxPolicy)policy; 38 39 + (RTCRtcpMuxPolicy)rtcpMuxPolicyForNativePolicy: 40 (webrtc::PeerConnectionInterface::RtcpMuxPolicy)nativePolicy; 41 42 + (NSString *)stringForRtcpMuxPolicy:(RTCRtcpMuxPolicy)policy; 43 44 + (webrtc::PeerConnectionInterface::TcpCandidatePolicy)nativeTcpCandidatePolicyForPolicy: 45 (RTCTcpCandidatePolicy)policy; 46 47 + (RTCTcpCandidatePolicy)tcpCandidatePolicyForNativePolicy: 48 (webrtc::PeerConnectionInterface::TcpCandidatePolicy)nativePolicy; 49 50 + (NSString *)stringForTcpCandidatePolicy:(RTCTcpCandidatePolicy)policy; 51 52 + (webrtc::PeerConnectionInterface::CandidateNetworkPolicy)nativeCandidateNetworkPolicyForPolicy: 53 (RTCCandidateNetworkPolicy)policy; 54 55 + (RTCCandidateNetworkPolicy)candidateNetworkPolicyForNativePolicy: 56 (webrtc::PeerConnectionInterface::CandidateNetworkPolicy)nativePolicy; 57 58 + (NSString *)stringForCandidateNetworkPolicy:(RTCCandidateNetworkPolicy)policy; 59 60 + (rtc::KeyType)nativeEncryptionKeyTypeForKeyType:(RTCEncryptionKeyType)keyType; 61 62 + (webrtc::SdpSemantics)nativeSdpSemanticsForSdpSemantics:(RTCSdpSemantics)sdpSemantics; 63 64 + (RTCSdpSemantics)sdpSemanticsForNativeSdpSemantics:(webrtc::SdpSemantics)sdpSemantics; 65 66 + (NSString *)stringForSdpSemantics:(RTCSdpSemantics)sdpSemantics; 67 68 /** 69 * RTCConfiguration struct representation of this RTCConfiguration. 70 * This is needed to pass to the underlying C++ APIs. 71 */ 72 - (nullable webrtc::PeerConnectionInterface::RTCConfiguration *)createNativeConfiguration; 73 74 - (instancetype)initWithNativeConfiguration: 75 (const webrtc::PeerConnectionInterface::RTCConfiguration &)config NS_DESIGNATED_INITIALIZER; 76 77 @end 78 79 NS_ASSUME_NONNULL_END 80