Update API for Objective-C RTCDataChannelConfiguration.
BUG= Review URL: https://codereview.webrtc.org/1616363005 Cr-Commit-Position: refs/heads/master@{#11405}
This commit is contained in:
parent
08a6eab75e
commit
da2183c86f
@ -41,6 +41,9 @@ if (is_ios) {
|
||||
#"objc/RTCDataChannel+Private.h",
|
||||
#"objc/RTCDataChannel.h",
|
||||
#"objc/RTCDataChannel.mm",
|
||||
#"objc/RTCDataChannelConfiguration+Private.h",
|
||||
#"objc/RTCDataChannelConfiguration.h",
|
||||
#"objc/RTCDataChannelConfiguration.mm",
|
||||
#"objc/RTCIceCandidate+Private.h",
|
||||
#"objc/RTCIceCandidate.h",
|
||||
#"objc/RTCIceCandidate.mm",
|
||||
|
||||
@ -31,6 +31,9 @@
|
||||
'objc/RTCDataChannel+Private.h',
|
||||
'objc/RTCDataChannel.h',
|
||||
'objc/RTCDataChannel.mm',
|
||||
'objc/RTCDataChannelConfiguration+Private.h',
|
||||
'objc/RTCDataChannelConfiguration.h',
|
||||
'objc/RTCDataChannelConfiguration.mm',
|
||||
'objc/RTCIceCandidate+Private.h',
|
||||
'objc/RTCIceCandidate.h',
|
||||
'objc/RTCIceCandidate.mm',
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
],
|
||||
'sources': [
|
||||
'objctests/RTCConfigurationTest.mm',
|
||||
'objctests/RTCDataChannelConfigurationTest.mm',
|
||||
'objctests/RTCIceCandidateTest.mm',
|
||||
'objctests/RTCIceServerTest.mm',
|
||||
'objctests/RTCMediaConstraintsTest.mm',
|
||||
|
||||
23
webrtc/api/objc/RTCDataChannelConfiguration+Private.h
Normal file
23
webrtc/api/objc/RTCDataChannelConfiguration+Private.h
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import "RTCDataChannelConfiguration.h"
|
||||
|
||||
#include "talk/app/webrtc/datachannelinterface.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface RTCDataChannelConfiguration ()
|
||||
|
||||
@property(nonatomic, readonly) webrtc::DataChannelInit nativeDataChannelInit;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
42
webrtc/api/objc/RTCDataChannelConfiguration.h
Normal file
42
webrtc/api/objc/RTCDataChannelConfiguration.h
Normal file
@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface RTCDataChannelConfiguration : NSObject
|
||||
|
||||
/** Set to YES if ordered delivery is required. */
|
||||
@property(nonatomic) BOOL isOrdered;
|
||||
|
||||
/**
|
||||
* Max period in milliseconds in which retransmissions will be sent. After this
|
||||
* time, no more retransmissions will be sent. -1 if unset.
|
||||
*/
|
||||
@property(nonatomic) int maxPacketLifeTime;
|
||||
|
||||
/** The max number of retransmissions. -1 if unset. */
|
||||
@property(nonatomic) int maxRetransmits;
|
||||
|
||||
/** Set to YES if the channel has been externally negotiated and we do not send
|
||||
* an in-band signalling in the form of an "open" message.
|
||||
*/
|
||||
@property(nonatomic) BOOL isNegotiated;
|
||||
|
||||
/** The stream id, or SID, for SCTP data channels. -1 if unset. */
|
||||
@property(nonatomic) int streamId;
|
||||
|
||||
/** Set by the application and opaque to the WebRTC implementation. */
|
||||
@property(nonatomic) NSString *protocol;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
68
webrtc/api/objc/RTCDataChannelConfiguration.mm
Normal file
68
webrtc/api/objc/RTCDataChannelConfiguration.mm
Normal file
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import "RTCDataChannelConfiguration.h"
|
||||
|
||||
#import "webrtc/api/objc/RTCDataChannelConfiguration+Private.h"
|
||||
#import "webrtc/base/objc/NSString+StdString.h"
|
||||
|
||||
@implementation RTCDataChannelConfiguration
|
||||
|
||||
@synthesize nativeDataChannelInit = _nativeDataChannelInit;
|
||||
|
||||
- (BOOL)isOrdered {
|
||||
return _nativeDataChannelInit.ordered;
|
||||
}
|
||||
|
||||
- (void)setIsOrdered:(BOOL)isOrdered {
|
||||
_nativeDataChannelInit.ordered = isOrdered;
|
||||
}
|
||||
|
||||
- (int)maxPacketLifeTime {
|
||||
return _nativeDataChannelInit.maxRetransmitTime;
|
||||
}
|
||||
|
||||
- (void)setMaxPacketLifeTime:(int)maxPacketLifeTime {
|
||||
_nativeDataChannelInit.maxRetransmitTime = maxPacketLifeTime;
|
||||
}
|
||||
|
||||
- (int)maxRetransmits {
|
||||
return _nativeDataChannelInit.maxRetransmits;
|
||||
}
|
||||
|
||||
- (void)setMaxRetransmits:(int)maxRetransmits {
|
||||
_nativeDataChannelInit.maxRetransmits = maxRetransmits;
|
||||
}
|
||||
|
||||
- (NSString *)protocol {
|
||||
return [NSString stringForStdString:_nativeDataChannelInit.protocol];
|
||||
}
|
||||
|
||||
- (void)setProtocol:(NSString *)protocol {
|
||||
_nativeDataChannelInit.protocol = [NSString stdStringForString:protocol];
|
||||
}
|
||||
|
||||
- (BOOL)isNegotiated {
|
||||
return _nativeDataChannelInit.negotiated;
|
||||
}
|
||||
|
||||
- (void)setIsNegotiated:(BOOL)isNegotiated {
|
||||
_nativeDataChannelInit.negotiated = isNegotiated;
|
||||
}
|
||||
|
||||
- (int)streamId {
|
||||
return _nativeDataChannelInit.id;
|
||||
}
|
||||
|
||||
- (void)setStreamId:(int)streamId {
|
||||
_nativeDataChannelInit.id = streamId;
|
||||
}
|
||||
|
||||
@end
|
||||
59
webrtc/api/objctests/RTCDataChannelConfigurationTest.mm
Normal file
59
webrtc/api/objctests/RTCDataChannelConfigurationTest.mm
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright 2015 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#include "webrtc/base/gunit.h"
|
||||
|
||||
#import "webrtc/api/objc/RTCDataChannelConfiguration.h"
|
||||
#import "webrtc/api/objc/RTCDataChannelConfiguration+Private.h"
|
||||
#import "webrtc/base/objc/NSString+StdString.h"
|
||||
|
||||
@interface RTCDataChannelConfigurationTest : NSObject
|
||||
- (void)testConversionToNativeDataChannelInit;
|
||||
@end
|
||||
|
||||
@implementation RTCDataChannelConfigurationTest
|
||||
|
||||
- (void)testConversionToNativeDataChannelInit {
|
||||
BOOL isOrdered = NO;
|
||||
int maxPacketLifeTime = 5;
|
||||
int maxRetransmits = 4;
|
||||
BOOL isNegotiated = YES;
|
||||
int streamId = 4;
|
||||
NSString *protocol = @"protocol";
|
||||
|
||||
RTCDataChannelConfiguration *dataChannelConfig =
|
||||
[[RTCDataChannelConfiguration alloc] init];
|
||||
dataChannelConfig.isOrdered = isOrdered;
|
||||
dataChannelConfig.maxPacketLifeTime = maxPacketLifeTime;
|
||||
dataChannelConfig.maxRetransmits = maxRetransmits;
|
||||
dataChannelConfig.isNegotiated = isNegotiated;
|
||||
dataChannelConfig.streamId = streamId;
|
||||
dataChannelConfig.protocol = protocol;
|
||||
|
||||
webrtc::DataChannelInit nativeInit = dataChannelConfig.nativeDataChannelInit;
|
||||
EXPECT_EQ(isOrdered, nativeInit.ordered);
|
||||
EXPECT_EQ(maxPacketLifeTime, nativeInit.maxRetransmitTime);
|
||||
EXPECT_EQ(maxRetransmits, nativeInit.maxRetransmits);
|
||||
EXPECT_EQ(isNegotiated, nativeInit.negotiated);
|
||||
EXPECT_EQ(streamId, nativeInit.id);
|
||||
EXPECT_EQ(protocol.stdString, nativeInit.protocol);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
TEST(RTCDataChannelConfiguration, NativeDataChannelInitConversionTest) {
|
||||
@autoreleasepool {
|
||||
RTCDataChannelConfigurationTest *test =
|
||||
[[RTCDataChannelConfigurationTest alloc] init];
|
||||
[test testConversionToNativeDataChannelInit];
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user