Chromium Code Reviews| Index: webrtc/api/objc/RTCIceServer.mm | 
| diff --git a/webrtc/api/objc/RTCIceServer.mm b/webrtc/api/objc/RTCIceServer.mm | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..2b0b9db086176258ab96e5c354a8f50b5b317615 | 
| --- /dev/null | 
| +++ b/webrtc/api/objc/RTCIceServer.mm | 
| @@ -0,0 +1,65 @@ | 
| +/* | 
| + * 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 "RTCIceServer.h" | 
| + | 
| +#include <vector> | 
| 
 
tkchin_webrtc
2015/12/04 20:17:09
do you still need this include?
 
hjon
2015/12/07 20:03:53
Done.
 
 | 
| + | 
| +#import "webrtc/api/objc/RTCIceServer+Private.h" | 
| +#import "webrtc/base/objc/NSString+StdString.h" | 
| + | 
| +@implementation RTCIceServer | 
| + | 
| +@synthesize urls = _urls; | 
| +@synthesize username = _username; | 
| +@synthesize credential = _credential; | 
| + | 
| +- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urls { | 
| + return [self initWithURLStrings:urls | 
| + username:nil | 
| + credential:nil]; | 
| +} | 
| + | 
| +- (instancetype)initWithURLStrings:(NSArray<NSString *> *)urls | 
| + username:(NSString *)username | 
| + credential:(NSString *)credential { | 
| + NSParameterAssert(urls.count); | 
| + if (self = [super init]) { | 
| + _urls = [[NSArray alloc] initWithArray:urls copyItems:YES]; | 
| + _username = [username copy]; | 
| + _credential = [credential copy]; | 
| + } | 
| + return self; | 
| +} | 
| + | 
| +- (NSString *)description { | 
| + return [NSString stringWithFormat:@"RTCIceServer:\n%@\n%@\n%@", | 
| + _urls, | 
| + _username, | 
| + _credential]; | 
| +} | 
| + | 
| +#pragma mark - Private | 
| + | 
| +- (webrtc::PeerConnectionInterface::IceServer)iceServer { | 
| + __block webrtc::PeerConnectionInterface::IceServer iceServer; | 
| + | 
| + iceServer.username = [NSString stdStringForString:_username]; | 
| + iceServer.password = [NSString stdStringForString:_credential]; | 
| + | 
| + [_urls enumerateObjectsUsingBlock:^(NSString *url, | 
| + NSUInteger idx, | 
| + BOOL *stop) { | 
| + iceServer.urls.push_back(url.stdString); | 
| + }]; | 
| + return iceServer; | 
| +} | 
| + | 
| +@end |