tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

RTCSessionDescription+JSON.m (1372B)


      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 "RTCSessionDescription+JSON.h"
     12 
     13 static NSString const *kRTCSessionDescriptionTypeKey = @"type";
     14 static NSString const *kRTCSessionDescriptionSdpKey = @"sdp";
     15 
     16 @implementation RTC_OBJC_TYPE (RTCSessionDescription)
     17 (JSON)
     18 
     19    + (RTC_OBJC_TYPE(RTCSessionDescription) *)descriptionFromJSONDictionary
     20    : (NSDictionary *)dictionary {
     21  NSString *typeString = dictionary[kRTCSessionDescriptionTypeKey];
     22  RTCSdpType type = [[self class] typeForString:typeString];
     23  NSString *sdp = dictionary[kRTCSessionDescriptionSdpKey];
     24  return [[RTC_OBJC_TYPE(RTCSessionDescription) alloc] initWithType:type
     25                                                                sdp:sdp];
     26 }
     27 
     28 - (NSData *)JSONData {
     29  NSString *type = [[self class] stringForType:self.type];
     30  NSDictionary *json = @{
     31    kRTCSessionDescriptionTypeKey : type,
     32    kRTCSessionDescriptionSdpKey : self.sdp
     33  };
     34  return [NSJSONSerialization dataWithJSONObject:json options:0 error:nil];
     35 }
     36 
     37 @end