blob: 179192c83f47a5eeaceec9a3c5b713f5de1238de [file] [log] [blame]
hjone373dc22016-01-22 14:04:27 -08001/*
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 "RTCDataChannel.h"
12
Henrik Kjellander15583c12016-02-10 10:53:12 +010013#include "webrtc/api/datachannelinterface.h"
hjone373dc22016-01-22 14:04:27 -080014#include "webrtc/base/scoped_ref_ptr.h"
15
16NS_ASSUME_NONNULL_BEGIN
17
18@interface RTCDataBuffer ()
19
20/**
21 * The native DataBuffer representation of this RTCDatabuffer object. This is
22 * needed to pass to the underlying C++ APIs.
23 */
24@property(nonatomic, readonly) const webrtc::DataBuffer *nativeDataBuffer;
25
26/** Initialize an RTCDataBuffer from a native DataBuffer. */
27- (instancetype)initWithNativeBuffer:(const webrtc::DataBuffer&)nativeBuffer;
28
29@end
30
31
32@interface RTCDataChannel ()
33
34/** Initialize an RTCDataChannel from a native DataChannelInterface. */
35- (instancetype)initWithNativeDataChannel:
36 (rtc::scoped_refptr<webrtc::DataChannelInterface>)nativeDataChannel
37 NS_DESIGNATED_INITIALIZER;
38
39+ (webrtc::DataChannelInterface::DataState)
40 nativeDataChannelStateForState:(RTCDataChannelState)state;
41
42+ (RTCDataChannelState)dataChannelStateForNativeState:
43 (webrtc::DataChannelInterface::DataState)nativeState;
44
45+ (NSString *)stringForState:(RTCDataChannelState)state;
46
47@end
48
49NS_ASSUME_NONNULL_END