| /* |
| * 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 |