Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(123)

Side by Side Diff: webrtc/examples/objc/AppRTCDemo/RTCSessionDescription+JSON.m

Issue 1690313002: Update iOS AppRTCDemo to use the updated Objective-C API. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2014 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2014 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #import "RTCSessionDescription+JSON.h" 11 #import "RTCSessionDescription+JSON.h"
12 12
13 static NSString const *kRTCSessionDescriptionTypeKey = @"type"; 13 static NSString const *kRTCSessionDescriptionTypeKey = @"type";
14 static NSString const *kRTCSessionDescriptionSdpKey = @"sdp"; 14 static NSString const *kRTCSessionDescriptionSdpKey = @"sdp";
15 15
16 @implementation RTCSessionDescription (JSON) 16 @implementation RTCSessionDescription (JSON)
17 17
18 + (NSString *)stringForType:(RTCSdpType)type {
hjon_webrtc 2016/02/12 17:34:56 Both this class and ARDSignalingMessage currently
19 switch (type) {
20 case RTCSdpTypeOffer:
21 return @"offer";
22 case RTCSdpTypePrAnswer:
23 return @"pranswer";
24 case RTCSdpTypeAnswer:
25 return @"answer";
26 }
27 }
28
29 + (RTCSdpType)typeForString:(NSString *)string {
30 if ([string isEqualToString:@"offer"]) {
31 return RTCSdpTypeOffer;
32 } else if ([string isEqualToString:@"pranswer"]) {
33 return RTCSdpTypePrAnswer;
34 } else if ([string isEqualToString:@"answer"]) {
35 return RTCSdpTypeAnswer;
36 } else {
37 return RTCSdpTypeOffer;
38 }
39 }
40
18 + (RTCSessionDescription *)descriptionFromJSONDictionary: 41 + (RTCSessionDescription *)descriptionFromJSONDictionary:
19 (NSDictionary *)dictionary { 42 (NSDictionary *)dictionary {
20 NSString *type = dictionary[kRTCSessionDescriptionTypeKey]; 43 NSString *typeString = dictionary[kRTCSessionDescriptionTypeKey];
44 RTCSdpType type = [[self class] typeForString:typeString];
21 NSString *sdp = dictionary[kRTCSessionDescriptionSdpKey]; 45 NSString *sdp = dictionary[kRTCSessionDescriptionSdpKey];
22 return [[RTCSessionDescription alloc] initWithType:type sdp:sdp]; 46 return [[RTCSessionDescription alloc] initWithType:type sdp:sdp];
23 } 47 }
24 48
25 - (NSData *)JSONData { 49 - (NSData *)JSONData {
50 NSString *type = [[self class] stringForType:self.type];
26 NSDictionary *json = @{ 51 NSDictionary *json = @{
27 kRTCSessionDescriptionTypeKey : self.type, 52 kRTCSessionDescriptionTypeKey : type,
28 kRTCSessionDescriptionSdpKey : self.description 53 kRTCSessionDescriptionSdpKey : self.sdp
29 }; 54 };
30 return [NSJSONSerialization dataWithJSONObject:json options:0 error:nil]; 55 return [NSJSONSerialization dataWithJSONObject:json options:0 error:nil];
31 } 56 }
32 57
33 @end 58 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698