blob: 0bc31bb875923804fea96de1280d116498f161f3 [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
hjon79858f82016-03-13 22:08:26 -070011#import "RTCIceServer+JSON.h"
Donald E Curtisa8736442015-08-05 15:48:13 -070012
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
hjon79858f82016-03-13 22:08:26 -070019@implementation RTCIceServer (JSON)
Donald E Curtisa8736442015-08-05 15:48:13 -070020
hjon79858f82016-03-13 22:08:26 -070021+ (RTCIceServer *)serverFromJSONDictionary:(NSDictionary *)dictionary {
Donald E Curtisa8736442015-08-05 15:48:13 -070022 NSString *url = dictionary[kRTCICEServerUrlKey];
23 NSString *username = dictionary[kRTCICEServerUsernameKey];
24 NSString *credential = dictionary[kRTCICEServerCredentialKey];
25 username = username ? username : @"";
26 credential = credential ? credential : @"";
hjon79858f82016-03-13 22:08:26 -070027 return [[RTCIceServer alloc] initWithURLStrings:@[url]
28 username:username
29 credential:credential];
Donald E Curtisa8736442015-08-05 15:48:13 -070030}
31
hjon79858f82016-03-13 22:08:26 -070032+ (RTCIceServer *)serverFromCEODJSONDictionary:(NSDictionary *)dictionary {
Donald E Curtisa8736442015-08-05 15:48:13 -070033 NSString *username = dictionary[kRTCICEServerUsernameKey];
34 NSString *password = dictionary[kRTCICEServerPasswordKey];
35 NSArray *uris = dictionary[kRTCICEServerUrisKey];
hjon79858f82016-03-13 22:08:26 -070036 RTCIceServer *server =
37 [[RTCIceServer alloc] initWithURLStrings:uris
38 username:username
39 credential:password];
40 return server;
Donald E Curtisa8736442015-08-05 15:48:13 -070041}
42
43@end