summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLConfiguration.m
diff options
context:
space:
mode:
authorJoel Fischer <joeljfischer@gmail.com>2017-08-02 15:54:36 -0400
committerJoel Fischer <joeljfischer@gmail.com>2017-08-02 15:54:36 -0400
commitbbafdb5157a8d7e72e9503a6e7199efcc4e07582 (patch)
treee6afe976439a38c95c80178b2b43f8bfc7d6da6b /SmartDeviceLink/SDLConfiguration.m
parent4c8bc1a347e2bca5a7f0f987e52d957479878e05 (diff)
downloadsdl_ios-bbafdb5157a8d7e72e9503a6e7199efcc4e07582.tar.gz
In progress updates to how configurations are set for streaming media
Diffstat (limited to 'SmartDeviceLink/SDLConfiguration.m')
-rw-r--r--SmartDeviceLink/SDLConfiguration.m20
1 files changed, 20 insertions, 0 deletions
diff --git a/SmartDeviceLink/SDLConfiguration.m b/SmartDeviceLink/SDLConfiguration.m
index 550f68496..724ec01d8 100644
--- a/SmartDeviceLink/SDLConfiguration.m
+++ b/SmartDeviceLink/SDLConfiguration.m
@@ -11,6 +11,7 @@
#import "SDLLifecycleConfiguration.h"
#import "SDLLockScreenConfiguration.h"
#import "SDLLogConfiguration.h"
+#import "SDLStreamingMediaConfiguration.h"
NS_ASSUME_NONNULL_BEGIN
@@ -49,6 +50,25 @@ NS_ASSUME_NONNULL_BEGIN
return [[self alloc] initWithLifecycle:lifecycleConfig lockScreen:lockScreenConfig logging:logConfig];
}
+- (instancetype)initWithLifecycle:(SDLLifecycleConfiguration *)lifecycleConfig lockScreen:(nullable SDLLockScreenConfiguration *)lockScreenConfig logging:(nullable SDLLogConfiguration *)logConfig streamingMedia:(nullable SDLStreamingMediaConfiguration *)streamingMediaConfig {
+ self = [super init];
+ if (!self) {
+ return nil;
+ }
+
+ _lifecycleConfig = lifecycleConfig;
+ _lockScreenConfig = lockScreenConfig ?: [SDLLockScreenConfiguration enabledConfiguration];
+ _loggingConfig = logConfig ?: [SDLLogConfiguration defaultConfiguration];
+
+ if (_streamingMediaConfig != nil) {
+ NSAssert(!([_lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeNavigation] || [_lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeProjection]), @"You should only set a streaming media configuration if your app is a NAVIGATION or PROJECTION HMI type");
+ _streamingMediaConfig = streamingMediaConfig;
+ } else {
+ NSAssert(([_lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeNavigation] || [_lifecycleConfig.appType isEqualToEnum:SDLAppHMITypeProjection]), @"If your app is a NAVIGATION or PROJECTION HMI type, you must set a streaming media configuration on SDLConfiguration");
+ }
+
+ return self;
+}
#pragma mark - NSCopying