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