blob: 0f5383f6d6edbc99ff7f88aeb64183a1ad105c87 [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 "ARDMessageResponse+Internal.h"
12
13#import "ARDUtilities.h"
14
15static NSString const *kARDMessageResultKey = @"result";
16
17@implementation ARDMessageResponse
18
19@synthesize result = _result;
20
21+ (ARDMessageResponse *)responseFromJSONData:(NSData *)data {
22 NSDictionary *responseJSON = [NSDictionary dictionaryWithJSONData:data];
23 if (!responseJSON) {
24 return nil;
25 }
26 ARDMessageResponse *response = [[ARDMessageResponse alloc] init];
27 response.result =
28 [[self class] resultTypeFromString:responseJSON[kARDMessageResultKey]];
29 return response;
30}
31
32#pragma mark - Private
33
34+ (ARDMessageResultType)resultTypeFromString:(NSString *)resultString {
35 ARDMessageResultType result = kARDMessageResultTypeUnknown;
36 if ([resultString isEqualToString:@"SUCCESS"]) {
37 result = kARDMessageResultTypeSuccess;
38 } else if ([resultString isEqualToString:@"INVALID_CLIENT"]) {
39 result = kARDMessageResultTypeInvalidClient;
40 } else if ([resultString isEqualToString:@"INVALID_ROOM"]) {
41 result = kARDMessageResultTypeInvalidRoom;
42 }
43 return result;
44}
45
46@end