// // Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. // A copy of the License is located at // // http://aws.amazon.com/apache2.0 // // or in the "license" file accompanying this file. This file is distributed // on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either // express or implied. See the License for the specific language governing // permissions and limitations under the License. // #import "AWSKinesisVideoSignalingModel.h" #import <AWSCore/AWSCategory.h> NSString *const AWSKinesisVideoSignalingErrorDomain = @"com.amazonaws.AWSKinesisVideoSignalingErrorDomain"; @implementation AWSKinesisVideoSignalingGetIceServerConfigRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"channelARN" : @"ChannelARN", @"clientId" : @"ClientId", @"service" : @"Service", @"username" : @"Username", }; } + (NSValueTransformer *)serviceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"TURN"] == NSOrderedSame) { return @(AWSKinesisVideoSignalingServiceTurn); } return @(AWSKinesisVideoSignalingServiceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSKinesisVideoSignalingServiceTurn: return @"TURN"; default: return nil; } }]; } @end @implementation AWSKinesisVideoSignalingGetIceServerConfigResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"iceServerList" : @"IceServerList", }; } + (NSValueTransformer *)iceServerListJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSKinesisVideoSignalingIceServer class]]; } @end @implementation AWSKinesisVideoSignalingIceServer + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"password" : @"Password", @"ttl" : @"Ttl", @"uris" : @"Uris", @"username" : @"Username", }; } @end @implementation AWSKinesisVideoSignalingSendAlexaOfferToMasterRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"channelARN" : @"ChannelARN", @"messagePayload" : @"MessagePayload", @"senderClientId" : @"SenderClientId", }; } @end @implementation AWSKinesisVideoSignalingSendAlexaOfferToMasterResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"answer" : @"Answer", }; } @end