diff options
| author | Joel Fischer <joeljfischer@gmail.com> | 2017-08-02 15:54:36 -0400 |
|---|---|---|
| committer | Joel Fischer <joeljfischer@gmail.com> | 2017-08-02 15:54:36 -0400 |
| commit | bbafdb5157a8d7e72e9503a6e7199efcc4e07582 (patch) | |
| tree | e6afe976439a38c95c80178b2b43f8bfc7d6da6b /SmartDeviceLink/SDLStreamingMediaConfiguration.m | |
| parent | 4c8bc1a347e2bca5a7f0f987e52d957479878e05 (diff) | |
| download | sdl_ios-bbafdb5157a8d7e72e9503a6e7199efcc4e07582.tar.gz | |
In progress updates to how configurations are set for streaming media
Diffstat (limited to 'SmartDeviceLink/SDLStreamingMediaConfiguration.m')
| -rw-r--r-- | SmartDeviceLink/SDLStreamingMediaConfiguration.m | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/SmartDeviceLink/SDLStreamingMediaConfiguration.m b/SmartDeviceLink/SDLStreamingMediaConfiguration.m new file mode 100644 index 000000000..52a3fba98 --- /dev/null +++ b/SmartDeviceLink/SDLStreamingMediaConfiguration.m @@ -0,0 +1,55 @@ +// +// SDLStreamingMediaConfiguration.m +// SmartDeviceLink-iOS +// +// Created by Joel Fischer on 8/2/17. +// Copyright © 2017 smartdevicelink. All rights reserved. +// + +#import "SDLStreamingMediaConfiguration.h" + + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLStreamingMediaConfiguration + +- (instancetype)initWithSecurityManagers:(NSArray<Class<SDLSecurityType>> *_Nullable)securityManagers encryptionFlag:(SDLStreamingEncryptionFlag)encryptionFlag videoSettings:(NSDictionary<NSString *, id> *_Nullable)videoSettings { + self = [super init]; + if (!self) { + return nil; + } + + _securityManagers = securityManagers; + _maximumDesiredEncryption = encryptionFlag; + _customVideoEncoderSettings = videoSettings; + + return self; +} + +- (instancetype)initEnabledConfigurationWithSecurityManagers:(NSArray<Class<SDLSecurityType>> *)securityManagers customVideoEncoderSettings:(NSDictionary<NSString *, id> *_Nullable)customVideoEncoderSettings { + SDLStreamingEncryptionFlag encryptionFlag = (securityManagers.count > 0) ? SDLStreamingEncryptionFlagAuthenticateAndEncrypt : SDLStreamingEncryptionFlagNone; + + return [self initWithSecurityManagers:securityManagers encryptionFlag:encryptionFlag videoSettings:customVideoEncoderSettings]; +} + ++ (instancetype)enabledConfigurationWithSecurityManagers:(NSArray<Class<SDLSecurityType>> *)securityManagers customVideoEncoderSettings:(NSDictionary<NSString *, id> *_Nullable)customVideoEncoderSettings { + return [[self alloc] initEnabledConfigurationWithSecurityManagers:securityManagers customVideoEncoderSettings:customVideoEncoderSettings]; +} + +- (instancetype)initEnabledConfiguration { + return [self initWithSecurityManagers:nil encryptionFlag:SDLStreamingEncryptionFlagNone videoSettings:nil]; +} + ++ (instancetype)enabledConfiguration { + return [[self alloc] initEnabledConfiguration]; +} + +#pragma mark NSCopying + +- (id)copyWithZone:(nullable NSZone *)zone { + return [[self.class allocWithZone:zone] initWithSecurityManagers:_securityManagers encryptionFlag:_maximumDesiredEncryption videoSettings:_customVideoEncoderSettings]; +} + +@end + +NS_ASSUME_NONNULL_END |
