blob: 3ba85563d472e192c0003a1f4a65aa10bd047a22 [file] [log] [blame]
Donald E Curtisa8736442015-08-05 15:48:13 -07001/*
2 * Copyright 2014 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 "RTCICEServer+JSON.h"
12
13static NSString const *kRTCICEServerUsernameKey = @"username";
14static NSString const *kRTCICEServerPasswordKey = @"password";
15static NSString const *kRTCICEServerUrisKey = @"uris";
16static NSString const *kRTCICEServerUrlKey = @"urls";
17static NSString const *kRTCICEServerCredentialKey = @"credential";
18
19@implementation RTCICEServer (JSON)
20
21+ (RTCICEServer *)serverFromJSONDictionary:(NSDictionary *)dictionary {
22 NSString *url = dictionary[kRTCICEServerUrlKey];
23 NSString *username = dictionary[kRTCICEServerUsernameKey];
24 NSString *credential = dictionary[kRTCICEServerCredentialKey];
25 username = username ? username : @"";
26 credential = credential ? credential : @"";
27 return [[RTCICEServer alloc] initWithURI:[NSURL URLWithString:url]
28 username:username
29 password:credential];
30}
31
32+ (NSArray *)serversFromCEODJSONDictionary:(NSDictionary *)dictionary {
33 NSString *username = dictionary[kRTCICEServerUsernameKey];
34 NSString *password = dictionary[kRTCICEServerPasswordKey];
35 NSArray *uris = dictionary[kRTCICEServerUrisKey];
36 NSMutableArray *servers = [NSMutableArray arrayWithCapacity:uris.count];
37 for (NSString *uri in uris) {
38 RTCICEServer *server =
39 [[RTCICEServer alloc] initWithURI:[NSURL URLWithString:uri]
40 username:username
41 password:password];
42 [servers addObject:server];
43 }
44 return servers;
45}
46
47@end