/*
|
* Copyright 2014 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+JSON.h"
|
|
static NSString const *kRTCICEServerUsernameKey = @"username";
|
static NSString const *kRTCICEServerPasswordKey = @"password";
|
static NSString const *kRTCICEServerUrisKey = @"uris";
|
static NSString const *kRTCICEServerUrlKey = @"urls";
|
static NSString const *kRTCICEServerCredentialKey = @"credential";
|
|
@implementation RTCICEServer (JSON)
|
|
+ (RTCICEServer *)serverFromJSONDictionary:(NSDictionary *)dictionary {
|
NSString *url = dictionary[kRTCICEServerUrlKey];
|
NSString *username = dictionary[kRTCICEServerUsernameKey];
|
NSString *credential = dictionary[kRTCICEServerCredentialKey];
|
username = username ? username : @"";
|
credential = credential ? credential : @"";
|
return [[RTCICEServer alloc] initWithURI:[NSURL URLWithString:url]
|
username:username
|
password:credential];
|
}
|
|
+ (NSArray *)serversFromCEODJSONDictionary:(NSDictionary *)dictionary {
|
NSString *username = dictionary[kRTCICEServerUsernameKey];
|
NSString *password = dictionary[kRTCICEServerPasswordKey];
|
NSArray *uris = dictionary[kRTCICEServerUrisKey];
|
NSMutableArray *servers = [NSMutableArray arrayWithCapacity:uris.count];
|
for (NSString *uri in uris) {
|
RTCICEServer *server =
|
[[RTCICEServer alloc] initWithURI:[NSURL URLWithString:uri]
|
username:username
|
password:password];
|
[servers addObject:server];
|
}
|
return servers;
|
}
|
|
@end
|