xref: /aosp_15_r20/external/webrtc/sdk/objc/api/peerconnection/RTCSessionDescription+Private.h (revision d9f758449e529ab9291ac668be2861e7a55c2422)
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 "RTCSessionDescription.h"
12 
13 #include "api/jsep.h"
14 
15 NS_ASSUME_NONNULL_BEGIN
16 
17 @interface RTC_OBJC_TYPE (RTCSessionDescription)
18 ()
19 
20     /**
21      * The native SessionDescriptionInterface representation of this
22      * RTCSessionDescription object. This is needed to pass to the underlying C++
23      * APIs.
24      */
25     @property(nonatomic,
26               readonly) std::unique_ptr<webrtc::SessionDescriptionInterface> nativeDescription;
27 
28 /**
29  * Initialize an RTCSessionDescription from a native
30  * SessionDescriptionInterface. No ownership is taken of the native session
31  * description.
32  */
33 - (instancetype)initWithNativeDescription:
34         (const webrtc::SessionDescriptionInterface *)nativeDescription;
35 
36 + (std::string)stdStringForType:(RTCSdpType)type;
37 
38 + (RTCSdpType)typeForStdString:(const std::string &)string;
39 
40 @end
41 
42 NS_ASSUME_NONNULL_END
43