summaryrefslogtreecommitdiff
path: root/SmartDeviceLink
diff options
context:
space:
mode:
Diffstat (limited to 'SmartDeviceLink')
-rw-r--r--SmartDeviceLink/SDLAddCommand.h8
-rw-r--r--SmartDeviceLink/SDLAddCommand.m29
-rw-r--r--SmartDeviceLink/SDLAddSubMenu.h4
-rw-r--r--SmartDeviceLink/SDLAddSubMenu.m15
-rw-r--r--SmartDeviceLink/SDLAlert.h15
-rw-r--r--SmartDeviceLink/SDLAlert.m57
-rw-r--r--SmartDeviceLink/SDLAlertManeuver.h3
-rw-r--r--SmartDeviceLink/SDLAlertManeuver.m16
-rw-r--r--SmartDeviceLink/SDLAppInfo.h2
-rw-r--r--SmartDeviceLink/SDLAppInfo.m14
-rw-r--r--SmartDeviceLink/SDLChangeRegistration.h2
-rw-r--r--SmartDeviceLink/SDLChangeRegistration.m8
-rw-r--r--SmartDeviceLink/SDLCreateInteractionChoiceSet.h2
-rw-r--r--SmartDeviceLink/SDLCreateInteractionChoiceSet.m8
-rw-r--r--SmartDeviceLink/SDLDeleteCommand.h2
-rw-r--r--SmartDeviceLink/SDLDeleteCommand.m7
-rw-r--r--SmartDeviceLink/SDLDeleteFile.h2
-rw-r--r--SmartDeviceLink/SDLDeleteFile.m7
-rw-r--r--SmartDeviceLink/SDLDeleteFileOperation.m2
-rw-r--r--SmartDeviceLink/SDLDeleteInteractionChoiceSet.h2
-rw-r--r--SmartDeviceLink/SDLDeleteInteractionChoiceSet.m7
-rw-r--r--SmartDeviceLink/SDLDeleteSubMenu.h2
-rw-r--r--SmartDeviceLink/SDLDeleteSubMenu.m7
-rw-r--r--SmartDeviceLink/SDLDeviceInfo.h2
-rw-r--r--SmartDeviceLink/SDLDeviceInfo.m20
-rw-r--r--SmartDeviceLink/SDLDialNumber.h2
-rw-r--r--SmartDeviceLink/SDLDialNumber.m7
-rw-r--r--SmartDeviceLink/SDLFileManager.m1
-rw-r--r--SmartDeviceLink/SDLGetDTCs.h3
-rw-r--r--SmartDeviceLink/SDLGetDTCs.m7
-rw-r--r--SmartDeviceLink/SDLGetVehicleData.h3
-rw-r--r--SmartDeviceLink/SDLGetVehicleData.m31
-rw-r--r--SmartDeviceLink/SDLImage.h2
-rw-r--r--SmartDeviceLink/SDLImage.m8
-rw-r--r--SmartDeviceLink/SDLLifecycleManager.m2
-rw-r--r--SmartDeviceLink/SDLMenuParams.h1
-rw-r--r--SmartDeviceLink/SDLMenuParams.m9
-rw-r--r--SmartDeviceLink/SDLPerformAudioPassThru.h2
-rw-r--r--SmartDeviceLink/SDLPerformAudioPassThru.m15
-rw-r--r--SmartDeviceLink/SDLPerformInteraction.h10
-rw-r--r--SmartDeviceLink/SDLPerformInteraction.m42
-rw-r--r--SmartDeviceLink/SDLProxy.m3
-rw-r--r--SmartDeviceLink/SDLPutFile.h2
-rw-r--r--SmartDeviceLink/SDLPutFile.m9
-rw-r--r--SmartDeviceLink/SDLRPCRequestFactory.h123
-rw-r--r--SmartDeviceLink/SDLRPCStruct.m1
-rw-r--r--SmartDeviceLink/SDLReadDID.h2
-rw-r--r--SmartDeviceLink/SDLReadDID.m8
-rw-r--r--SmartDeviceLink/SDLRegisterAppInterface.h6
-rw-r--r--SmartDeviceLink/SDLRegisterAppInterface.m29
-rw-r--r--SmartDeviceLink/SDLResetGlobalProperties.h2
-rw-r--r--SmartDeviceLink/SDLResetGlobalProperties.m7
-rw-r--r--SmartDeviceLink/SDLScrollableMessage.h2
-rw-r--r--SmartDeviceLink/SDLScrollableMessage.m9
-rw-r--r--SmartDeviceLink/SDLSendLocation.h3
-rw-r--r--SmartDeviceLink/SDLSendLocation.m13
-rw-r--r--SmartDeviceLink/SDLSetAppIcon.h3
-rw-r--r--SmartDeviceLink/SDLSetAppIcon.m7
-rw-r--r--SmartDeviceLink/SDLSetDisplayLayout.h7
-rw-r--r--SmartDeviceLink/SDLSetDisplayLayout.m14
-rw-r--r--SmartDeviceLink/SDLSetGlobalProperties.h5
-rw-r--r--SmartDeviceLink/SDLSetGlobalProperties.m18
-rw-r--r--SmartDeviceLink/SDLSetMediaClockTimer.h4
-rw-r--r--SmartDeviceLink/SDLSetMediaClockTimer.m15
-rw-r--r--SmartDeviceLink/SDLShow.h7
-rw-r--r--SmartDeviceLink/SDLShow.m29
-rw-r--r--SmartDeviceLink/SDLShowConstantTBT.h2
-rw-r--r--SmartDeviceLink/SDLShowConstantTBT.m17
-rw-r--r--SmartDeviceLink/SDLSlider.h4
-rw-r--r--SmartDeviceLink/SDLSlider.m25
-rw-r--r--SmartDeviceLink/SDLSoftButton.h2
-rw-r--r--SmartDeviceLink/SDLSoftButton.m13
-rw-r--r--SmartDeviceLink/SDLSpeak.h4
-rw-r--r--SmartDeviceLink/SDLSpeak.m15
-rw-r--r--SmartDeviceLink/SDLStartTime.h2
-rw-r--r--SmartDeviceLink/SDLStartTime.m9
-rw-r--r--SmartDeviceLink/SDLSubscribeButton.h2
-rw-r--r--SmartDeviceLink/SDLSubscribeButton.m8
-rw-r--r--SmartDeviceLink/SDLSubscribeVehicleData.h2
-rw-r--r--SmartDeviceLink/SDLSubscribeVehicleData.m30
-rw-r--r--SmartDeviceLink/SDLSyncMsgVersion.h2
-rw-r--r--SmartDeviceLink/SDLSyncMsgVersion.m8
-rw-r--r--SmartDeviceLink/SDLSystemRequest.h2
-rw-r--r--SmartDeviceLink/SDLSystemRequest.m8
-rw-r--r--SmartDeviceLink/SDLUnsubscribeButton.h2
-rw-r--r--SmartDeviceLink/SDLUnsubscribeButton.m7
-rw-r--r--SmartDeviceLink/SDLUnsubscribeVehicleData.h2
-rw-r--r--SmartDeviceLink/SDLUnsubscribeVehicleData.m30
-rw-r--r--SmartDeviceLink/SDLUpdateTurnList.h2
-rw-r--r--SmartDeviceLink/SDLUpdateTurnList.m8
90 files changed, 851 insertions, 71 deletions
diff --git a/SmartDeviceLink/SDLAddCommand.h b/SmartDeviceLink/SDLAddCommand.h
index fead3e2dc..0b45380eb 100644
--- a/SmartDeviceLink/SDLAddCommand.h
+++ b/SmartDeviceLink/SDLAddCommand.h
@@ -8,7 +8,7 @@
@class SDLMenuParams;
@class SDLImage;
-
+@class SDLImageType;
/**
* This class will add a command to the application's Command Menu SDLMenuParams
@@ -57,6 +57,12 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithId:(NSNumber *)commandId vrCommands:(NSArray *)vrCommands handler:(SDLRPCNotificationHandler)handler;
+
+- (instancetype)initWithId:(NSNumber *)commandId menuName:(NSString *)menuName vrCommands:(NSArray *)vrCommands handler:(SDLRPCNotificationHandler)handler;
+
+- (instancetype)initWithId:(NSNumber *)commandId menuName:(NSString *)menuName parentId:(NSNumber *)parentId position:(NSNumber *)position vrCommands:(NSArray *)vrCommands iconValue:(NSString *)iconValue iconType:(SDLImageType *)iconType handler:(SDLRPCNotificationHandler)handler;
+
/**
* A handler that will let you know when the button you created is subscribed.
*
diff --git a/SmartDeviceLink/SDLAddCommand.m b/SmartDeviceLink/SDLAddCommand.m
index a264d164a..e292da62c 100644
--- a/SmartDeviceLink/SDLAddCommand.m
+++ b/SmartDeviceLink/SDLAddCommand.m
@@ -28,6 +28,35 @@
return self;
}
+- (instancetype)initWithId:(NSNumber *)commandId vrCommands:(NSArray *)vrCommands handler:(SDLRPCNotificationHandler)handler {
+ if (self = [self initWithId:commandId menuName:nil vrCommands:vrCommands handler:handler]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithId:(NSNumber *)commandId menuName:(NSString *)menuName vrCommands:(NSArray *)vrCommands handler:(SDLRPCNotificationHandler)handler {
+ if (self = [self initWithId:commandId menuName:menuName parentId:nil position:nil vrCommands:vrCommands iconValue:nil iconType:nil handler:handler]) {
+ }
+ return nil;
+}
+
+- (instancetype)initWithId:(NSNumber *)commandId menuName:(NSString *)menuName parentId:(NSNumber *)parentId position:(NSNumber *)position vrCommands:(NSArray *)vrCommands iconValue:(NSString *)iconValue iconType:(SDLImageType *)iconType handler:(SDLRPCNotificationHandler)handler {
+ if (self = [self initWithHandler:handler]) {
+ self.cmdID = commandId;
+
+ if (menuName != nil || parentId != nil || position != nil) {
+ self.menuParams = [[SDLMenuParams alloc] initWithMenuName:menuName parentId:parentId position:position];
+ }
+
+ self.vrCommands = [vrCommands mutableCopy];
+
+ if (iconValue != nil || iconType != nil) {
+ self.cmdIcon = [[SDLImage alloc] initWithName:iconValue ofType:iconType];
+ }
+ }
+ return self;
+}
+
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict {
if (self = [super initWithDictionary:dict]) {
}
diff --git a/SmartDeviceLink/SDLAddSubMenu.h b/SmartDeviceLink/SDLAddSubMenu.h
index 0a749b382..d6c705969 100644
--- a/SmartDeviceLink/SDLAddSubMenu.h
+++ b/SmartDeviceLink/SDLAddSubMenu.h
@@ -31,6 +31,10 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithId:(NSNumber *)menuId menuName:(NSString *)menuName;
+
+- (instancetype)initWithId:(NSNumber *)menuId menuName:(NSString *)menuName position:(NSNumber *)position;
+
/**
* @abstract a Menu ID that identifies a sub menu
* @discussion This value is used in
diff --git a/SmartDeviceLink/SDLAddSubMenu.m b/SmartDeviceLink/SDLAddSubMenu.m
index f02192b00..ca3aa1a30 100644
--- a/SmartDeviceLink/SDLAddSubMenu.m
+++ b/SmartDeviceLink/SDLAddSubMenu.m
@@ -18,6 +18,21 @@
return self;
}
+- (instancetype)initWithId:(NSNumber *)menuId menuName:(NSString *)menuName {
+ if (self = [self initWithId:menuId menuName:menuName position:nil]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithId:(NSNumber *)menuId menuName:(NSString *)menuName position:(NSNumber *)position {
+ if (self = [self init]) {
+ self.menuID = menuId;
+ self.menuName = menuName;
+ self.position = position;
+ }
+ return self;
+}
+
- (void)setMenuID:(NSNumber *)menuID {
if (menuID != nil) {
[parameters setObject:menuID forKey:NAMES_menuID];
diff --git a/SmartDeviceLink/SDLAlert.h b/SmartDeviceLink/SDLAlert.h
index 59f909caa..d17f2deb0 100644
--- a/SmartDeviceLink/SDLAlert.h
+++ b/SmartDeviceLink/SDLAlert.h
@@ -47,6 +47,21 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 duration:(NSNumber *)duration;
+
+- (instancetype)initWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 duration:(NSNumber *)duration;
+
+- (instancetype)initWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 duration:(NSNumber *)duration softButtons:(NSArray *)softButtons;
+
+- (instancetype)initWithTTS:(NSString *)ttsText playTone:(BOOL)playTone;
+
+- (instancetype)initWithTTS:(NSString *)ttsText alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 playTone:(BOOL)playTone duration:(NSNumber *)duration;
+
+- (instancetype)initWithTTS:(NSString *)ttsText alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 playTone:(BOOL)playTone duration:(NSNumber *)duration;
+
+- (instancetype)initWithTTSChunks:(NSArray *)ttsChunks playTone:(BOOL)playTone;
+
+- (instancetype)initWithTTSChunks:(NSArray *)ttsChunks alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 playTone:(BOOL)playTone duration:(NSNumber *)duration softButtons:(NSArray *)softButtons;
/**
* @abstract The String to be displayed in the first field of the display during the Alert
diff --git a/SmartDeviceLink/SDLAlert.m b/SmartDeviceLink/SDLAlert.m
index ddc7fdc3a..ba1106d1e 100644
--- a/SmartDeviceLink/SDLAlert.m
+++ b/SmartDeviceLink/SDLAlert.m
@@ -5,6 +5,7 @@
#import "SDLNames.h"
#import "SDLSoftButton.h"
#import "SDLTTSChunk.h"
+#import "SDLTTSChunkFactory.h"
@implementation SDLAlert
@@ -20,6 +21,62 @@
return self;
}
+- (instancetype)initWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 duration:(NSNumber *)duration {
+ if (self = [self initWithAlertText1:alertText1 alertText2:alertText2 alertText3:nil duration:duration]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 duration:(NSNumber *)duration {
+ if (self = [self initWithAlertText1:alertText1 alertText2:alertText2 alertText3:alertText3 duration:duration softButtons:nil]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 duration:(NSNumber *)duration softButtons:(NSArray *)softButtons {
+ if (self = [self initWithTTSChunks:nil alertText1:alertText1 alertText2:alertText2 alertText3:alertText3 playTone:NO duration:duration softButtons:softButtons]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithTTS:(NSString *)ttsText playTone:(BOOL)playTone {
+ if (self = [self initWithTTS:ttsText alertText1:nil alertText2:nil playTone:playTone duration:nil]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithTTS:(NSString *)ttsText alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 playTone:(BOOL)playTone duration:(NSNumber *)duration {
+ if (self = [self initWithTTS:ttsText alertText1:alertText1 alertText2:alertText2 alertText3:nil playTone:playTone duration:duration]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithTTS:(NSString *)ttsText alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 playTone:(BOOL)playTone duration:(NSNumber *)duration {
+ NSMutableArray* ttsChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:ttsText];
+ if (self = [self initWithTTSChunks:ttsChunks alertText1:alertText1 alertText2:alertText2 alertText3:alertText3 playTone:playTone duration:duration softButtons:nil]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithTTSChunks:(NSArray *)ttsChunks playTone:(BOOL)playTone {
+ if (self = [self initWithTTSChunks:ttsChunks alertText1:nil alertText2:nil alertText3:nil playTone:playTone duration:nil softButtons:nil]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithTTSChunks:(NSArray *)ttsChunks alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 playTone:(BOOL)playTone duration:(NSNumber *)duration softButtons:(NSArray *)softButtons {
+ if (self = [self init]) {
+ self.ttsChunks = [ttsChunks mutableCopy];
+ self.alertText1 = alertText1;
+ self.alertText2 = alertText2;
+ self.alertText3 = alertText3;
+ self.playTone = @(playTone);
+ self.duration = duration;
+ self.softButtons = [softButtons mutableCopy];
+ }
+ return self;
+}
+
- (void)setAlertText1:(NSString *)alertText1 {
if (alertText1 != nil) {
[parameters setObject:alertText1 forKey:NAMES_alertText1];
diff --git a/SmartDeviceLink/SDLAlertManeuver.h b/SmartDeviceLink/SDLAlertManeuver.h
index 2bb8e12ed..db2d92910 100644
--- a/SmartDeviceLink/SDLAlertManeuver.h
+++ b/SmartDeviceLink/SDLAlertManeuver.h
@@ -13,6 +13,9 @@
- (instancetype)init;
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithTTS:(NSString *)ttsText softButtons:(NSArray *)softButtons;
+- (instancetype)initWithTTSChunks:(NSArray *)ttsChunks softButtons:(NSArray *)softButtons;
+
@property (strong) NSMutableArray *ttsChunks;
@property (strong) NSMutableArray *softButtons;
diff --git a/SmartDeviceLink/SDLAlertManeuver.m b/SmartDeviceLink/SDLAlertManeuver.m
index 81717506f..ad7ff5252 100644
--- a/SmartDeviceLink/SDLAlertManeuver.m
+++ b/SmartDeviceLink/SDLAlertManeuver.m
@@ -7,6 +7,7 @@
#import "SDLNames.h"
#import "SDLSoftButton.h"
#import "SDLTTSChunk.h"
+#import "SDLTTSChunkFactory.h"
@implementation SDLAlertManeuver
@@ -22,6 +23,21 @@
return self;
}
+- (instancetype)initWithTTS:(NSString *)ttsText softButtons:(NSArray *)softButtons {
+ NSMutableArray* ttsChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:ttsText];
+ if (self = [self initWithTTSChunks:ttsChunks softButtons:softButtons]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithTTSChunks:(NSArray *)ttsChunks softButtons:(NSArray *)softButtons {
+ if (self = [self init]) {
+ self.ttsChunks = [ttsChunks mutableCopy];
+ self.softButtons = [softButtons mutableCopy];
+ }
+ return self;
+}
+
- (void)setTtsChunks:(NSMutableArray *)ttsChunks {
if (ttsChunks != nil) {
[parameters setObject:ttsChunks forKey:NAMES_ttsChunks];
diff --git a/SmartDeviceLink/SDLAppInfo.h b/SmartDeviceLink/SDLAppInfo.h
index 414ee074e..c08fba9fd 100644
--- a/SmartDeviceLink/SDLAppInfo.h
+++ b/SmartDeviceLink/SDLAppInfo.h
@@ -5,6 +5,8 @@
@interface SDLAppInfo : SDLRPCStruct
++ (instancetype)currentAppInfo;
+
@property (strong) NSString *appDisplayName;
@property (strong) NSString *appBundleID;
@property (strong) NSString *appVersion;
diff --git a/SmartDeviceLink/SDLAppInfo.m b/SmartDeviceLink/SDLAppInfo.m
index 7318187bf..6894922af 100644
--- a/SmartDeviceLink/SDLAppInfo.m
+++ b/SmartDeviceLink/SDLAppInfo.m
@@ -4,8 +4,22 @@
#import "SDLAppInfo.h"
#import "SDLNames.h"
+static NSString *const SDLBundleShortVersionStringKey = @"CFBundleShortVersionString";
+
@implementation SDLAppInfo
++ (instancetype)currentAppInfo {
+ static SDLAppInfo *appInfo = nil;
+ if (appInfo == nil) {
+ appInfo = [[SDLAppInfo alloc] init];
+ NSBundle *mainBundle = [NSBundle mainBundle];
+ NSDictionary *bundleDictionary = mainBundle.infoDictionary;
+ appInfo.appVersion = bundleDictionary[SDLBundleShortVersionStringKey];
+ appInfo.appBundleID = mainBundle.bundleIdentifier;
+ }
+ return appInfo;
+}
+
- (void)setAppDisplayName:(NSString *)appDisplayName {
if (appDisplayName != nil) {
[store setObject:appDisplayName forKey:NAMES_appDisplayName];
diff --git a/SmartDeviceLink/SDLChangeRegistration.h b/SmartDeviceLink/SDLChangeRegistration.h
index 4bbc7c234..57d3c9780 100644
--- a/SmartDeviceLink/SDLChangeRegistration.h
+++ b/SmartDeviceLink/SDLChangeRegistration.h
@@ -29,6 +29,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithLanguage:(SDLLanguage *)language hmiDisplayLanguage:(SDLLanguage *)hmiDisplayLanguage;
+
/**
* @abstract The language the app wants to change to
*/
diff --git a/SmartDeviceLink/SDLChangeRegistration.m b/SmartDeviceLink/SDLChangeRegistration.m
index 00a7de885..8acef3b7d 100644
--- a/SmartDeviceLink/SDLChangeRegistration.m
+++ b/SmartDeviceLink/SDLChangeRegistration.m
@@ -21,6 +21,14 @@
return self;
}
+- (instancetype)initWithLanguage:(SDLLanguage *)language hmiDisplayLanguage:(SDLLanguage *)hmiDisplayLanguage {
+ if (self = [self init]) {
+ self.language = language;
+ self.hmiDisplayLanguage = hmiDisplayLanguage;
+ }
+ return self;
+}
+
- (void)setLanguage:(SDLLanguage *)language {
if (language != nil) {
[parameters setObject:language forKey:NAMES_language];
diff --git a/SmartDeviceLink/SDLCreateInteractionChoiceSet.h b/SmartDeviceLink/SDLCreateInteractionChoiceSet.h
index 721f505d7..7cc3e1e4d 100644
--- a/SmartDeviceLink/SDLCreateInteractionChoiceSet.h
+++ b/SmartDeviceLink/SDLCreateInteractionChoiceSet.h
@@ -32,6 +32,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithId:(NSInteger)choiceId choiceSet:(NSArray *)choiceSet;
+
/**
* @abstract A unique ID that identifies the Choice Set
*
diff --git a/SmartDeviceLink/SDLCreateInteractionChoiceSet.m b/SmartDeviceLink/SDLCreateInteractionChoiceSet.m
index 32324d46e..603feed05 100644
--- a/SmartDeviceLink/SDLCreateInteractionChoiceSet.m
+++ b/SmartDeviceLink/SDLCreateInteractionChoiceSet.m
@@ -21,6 +21,14 @@
return self;
}
+- (instancetype)initWithId:(NSInteger)choiceId choiceSet:(NSArray *)choiceSet {
+ if (self = [self init]) {
+ self.interactionChoiceSetID = @(choiceId);
+ self.choiceSet = [choiceSet mutableCopy];
+ }
+ return self;
+}
+
- (void)setInteractionChoiceSetID:(NSNumber *)interactionChoiceSetID {
if (interactionChoiceSetID != nil) {
[parameters setObject:interactionChoiceSetID forKey:NAMES_interactionChoiceSetID];
diff --git a/SmartDeviceLink/SDLDeleteCommand.h b/SmartDeviceLink/SDLDeleteCommand.h
index 4f3b74d90..2b8c281bc 100644
--- a/SmartDeviceLink/SDLDeleteCommand.h
+++ b/SmartDeviceLink/SDLDeleteCommand.h
@@ -32,6 +32,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithId:(NSInteger)commandId;
+
/**
* @abstract the Command ID that identifies the Command to be deleted from Command Menu
* @discussion an NSNumber value representing Command ID
diff --git a/SmartDeviceLink/SDLDeleteCommand.m b/SmartDeviceLink/SDLDeleteCommand.m
index 13c51d7ed..28bd130c0 100644
--- a/SmartDeviceLink/SDLDeleteCommand.m
+++ b/SmartDeviceLink/SDLDeleteCommand.m
@@ -20,6 +20,13 @@
return self;
}
+- (instancetype)initWithId:(NSInteger)commandId {
+ if (self = [self init]) {
+ self.cmdID = @(commandId);
+ }
+ return self;
+}
+
- (void)setCmdID:(NSNumber *)cmdID {
if (cmdID != nil) {
[parameters setObject:cmdID forKey:NAMES_cmdID];
diff --git a/SmartDeviceLink/SDLDeleteFile.h b/SmartDeviceLink/SDLDeleteFile.h
index 325782673..b0b1295ff 100644
--- a/SmartDeviceLink/SDLDeleteFile.h
+++ b/SmartDeviceLink/SDLDeleteFile.h
@@ -27,6 +27,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithFileName:(NSString *)fileName;
+
/**
* @abstract a file reference name
* @discussion a String value representing a file reference name
diff --git a/SmartDeviceLink/SDLDeleteFile.m b/SmartDeviceLink/SDLDeleteFile.m
index d7a4c18b2..ee659f408 100644
--- a/SmartDeviceLink/SDLDeleteFile.m
+++ b/SmartDeviceLink/SDLDeleteFile.m
@@ -20,6 +20,13 @@
return self;
}
+- (instancetype)initWithFileName:(NSString *)fileName {
+ if (self = [self init]) {
+ self.syncFileName = fileName;
+ }
+ return self;
+}
+
- (void)setSyncFileName:(NSString *)syncFileName {
if (syncFileName != nil) {
[parameters setObject:syncFileName forKey:NAMES_syncFileName];
diff --git a/SmartDeviceLink/SDLDeleteFileOperation.m b/SmartDeviceLink/SDLDeleteFileOperation.m
index 1b66a4209..b3e47540d 100644
--- a/SmartDeviceLink/SDLDeleteFileOperation.m
+++ b/SmartDeviceLink/SDLDeleteFileOperation.m
@@ -79,4 +79,4 @@ NS_ASSUME_NONNULL_BEGIN
@end
-NS_ASSUME_NONNULL_END \ No newline at end of file
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h b/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h
index 28058064b..cf40d9ba1 100644
--- a/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h
+++ b/SmartDeviceLink/SDLDeleteInteractionChoiceSet.h
@@ -34,6 +34,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithId:(NSInteger)choiceId;
+
/**
* @abstract a unique ID that identifies the Choice Set
* @discussion a unique ID that identifies the Choice Set
diff --git a/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m b/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m
index fd5d202b1..9a9848a82 100644
--- a/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m
+++ b/SmartDeviceLink/SDLDeleteInteractionChoiceSet.m
@@ -20,6 +20,13 @@
return self;
}
+- (instancetype)initWithId:(NSInteger)choiceId {
+ if (self = [self init]) {
+ self.interactionChoiceSetID = @(choiceId);
+ }
+ return self;
+}
+
- (void)setInteractionChoiceSetID:(NSNumber *)interactionChoiceSetID {
if (interactionChoiceSetID != nil) {
[parameters setObject:interactionChoiceSetID forKey:NAMES_interactionChoiceSetID];
diff --git a/SmartDeviceLink/SDLDeleteSubMenu.h b/SmartDeviceLink/SDLDeleteSubMenu.h
index 37c2dc544..a06680781 100644
--- a/SmartDeviceLink/SDLDeleteSubMenu.h
+++ b/SmartDeviceLink/SDLDeleteSubMenu.h
@@ -29,6 +29,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithId:(NSInteger)menuId;
+
/**
* @abstract the MenuID that identifies the SDLSubMenu to be delete
* @discussion <b>Notes: </b>Min Value: 0; Max Value: 2000000000
diff --git a/SmartDeviceLink/SDLDeleteSubMenu.m b/SmartDeviceLink/SDLDeleteSubMenu.m
index 8727f44d3..4d1aa3dbe 100644
--- a/SmartDeviceLink/SDLDeleteSubMenu.m
+++ b/SmartDeviceLink/SDLDeleteSubMenu.m
@@ -20,6 +20,13 @@
return self;
}
+- (instancetype)initWithId:(NSInteger)menuId {
+ if (self = [self init]) {
+ self.menuID = @(menuId);
+ }
+ return self;
+}
+
- (void)setMenuID:(NSNumber *)menuID {
if (menuID != nil) {
[parameters setObject:menuID forKey:NAMES_menuID];
diff --git a/SmartDeviceLink/SDLDeviceInfo.h b/SmartDeviceLink/SDLDeviceInfo.h
index 1bcbdaa27..b2ab1423c 100644
--- a/SmartDeviceLink/SDLDeviceInfo.h
+++ b/SmartDeviceLink/SDLDeviceInfo.h
@@ -10,6 +10,8 @@
- (instancetype)init;
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
++ (instancetype)currentDevice;
+
@property (strong) NSString *hardware;
@property (strong) NSString *firmwareRev;
@property (strong) NSString *os;
diff --git a/SmartDeviceLink/SDLDeviceInfo.m b/SmartDeviceLink/SDLDeviceInfo.m
index 134aea629..a91e04935 100644
--- a/SmartDeviceLink/SDLDeviceInfo.m
+++ b/SmartDeviceLink/SDLDeviceInfo.m
@@ -3,8 +3,11 @@
#import "SDLDeviceInfo.h"
-#import "SDLNames.h"
+#import <CoreTelephony/CTCarrier.h>
+#import <CoreTelephony/CTTelephonyNetworkInfo.h>
+#import <UIKit/UIKit.h>
+#import "SDLNames.h"
@implementation SDLDeviceInfo
@@ -20,6 +23,21 @@
return self;
}
++ (instancetype)currentDevice {
+ static SDLDeviceInfo *deviceInfo = nil;
+ if (deviceInfo == nil) {
+ deviceInfo = [[SDLDeviceInfo alloc] init];
+ deviceInfo.hardware = [UIDevice currentDevice].model;
+ deviceInfo.os = [UIDevice currentDevice].systemName;
+ deviceInfo.osVersion = [UIDevice currentDevice].systemVersion;
+ CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
+ CTCarrier *carrier = netinfo.subscriberCellularProvider;
+ NSString *carrierName = carrier.carrierName;
+ deviceInfo.carrier = carrierName;
+ }
+ return deviceInfo;
+}
+
- (void)setHardware:(NSString *)hardware {
if (hardware != nil) {
[store setObject:hardware forKey:NAMES_hardware];
diff --git a/SmartDeviceLink/SDLDialNumber.h b/SmartDeviceLink/SDLDialNumber.h
index 48cca6a6d..e04ccfb37 100644
--- a/SmartDeviceLink/SDLDialNumber.h
+++ b/SmartDeviceLink/SDLDialNumber.h
@@ -14,6 +14,8 @@
- (instancetype)init;
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithNumber:(NSString *)number;
+
/**
* Up to 40 character string representing the phone number. All characters stripped except for '0'-'9', '*', '#', ',', ';', and '+'
*/
diff --git a/SmartDeviceLink/SDLDialNumber.m b/SmartDeviceLink/SDLDialNumber.m
index 856f9ad75..e6704a14d 100644
--- a/SmartDeviceLink/SDLDialNumber.m
+++ b/SmartDeviceLink/SDLDialNumber.m
@@ -20,6 +20,13 @@
return self;
}
+- (instancetype)initWithNumber:(NSString *)number {
+ if (self = [self init]) {
+ self.number = number;
+ }
+ return self;
+}
+
- (void)setNumber:(NSString *)number {
if (number != nil) {
parameters[NAMES_number] = number;
diff --git a/SmartDeviceLink/SDLFileManager.m b/SmartDeviceLink/SDLFileManager.m
index 4999b569e..84b20b890 100644
--- a/SmartDeviceLink/SDLFileManager.m
+++ b/SmartDeviceLink/SDLFileManager.m
@@ -20,7 +20,6 @@
#import "SDLNotificationConstants.h"
#import "SDLPutFile.h"
#import "SDLPutFileResponse.h"
-#import "SDLRPCRequestFactory.h"
#import "SDLStateMachine.h"
#import "SDLUploadFileOperation.h"
diff --git a/SmartDeviceLink/SDLGetDTCs.h b/SmartDeviceLink/SDLGetDTCs.h
index 3d38a0079..09ce5c9ea 100644
--- a/SmartDeviceLink/SDLGetDTCs.h
+++ b/SmartDeviceLink/SDLGetDTCs.h
@@ -26,6 +26,9 @@
* @param dict The dictionary to use
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+
+- (instancetype)initWithECUName:(NSInteger)name;
+
/**
* @abstract a name of the module to receive the DTC form
* @discussion an NSNumber value representing a name of the module to receive
diff --git a/SmartDeviceLink/SDLGetDTCs.m b/SmartDeviceLink/SDLGetDTCs.m
index cf7db88e5..f699542b7 100644
--- a/SmartDeviceLink/SDLGetDTCs.m
+++ b/SmartDeviceLink/SDLGetDTCs.m
@@ -20,6 +20,13 @@
return self;
}
+- (instancetype)initWithECUName:(NSInteger)name {
+ if (self = [self init]) {
+ self.ecuName = @(name);
+ }
+ return self;
+}
+
- (void)setEcuName:(NSNumber *)ecuName {
if (ecuName != nil) {
[parameters setObject:ecuName forKey:NAMES_ecuName];
diff --git a/SmartDeviceLink/SDLGetVehicleData.h b/SmartDeviceLink/SDLGetVehicleData.h
index df2c1923e..6f7fddd1e 100644
--- a/SmartDeviceLink/SDLGetVehicleData.h
+++ b/SmartDeviceLink/SDLGetVehicleData.h
@@ -30,6 +30,7 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus;
/**
* @abstract A boolean value. If true, requests Gps data
*/
@@ -137,4 +138,4 @@
@property (strong) NSNumber *clusterModeStatus;
@property (strong) NSNumber *myKey;
-@end \ No newline at end of file
+@end
diff --git a/SmartDeviceLink/SDLGetVehicleData.m b/SmartDeviceLink/SDLGetVehicleData.m
index ab5d59a19..4477ec072 100644
--- a/SmartDeviceLink/SDLGetVehicleData.m
+++ b/SmartDeviceLink/SDLGetVehicleData.m
@@ -20,6 +20,37 @@
return self;
}
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus {
+ if (self = [self init]) {
+ self.accPedalPosition = @(accelerationPedalPosition);
+ self.airbagStatus = @(airbagStatus);
+ self.beltStatus = @(beltStatus);
+ self.bodyInformation = @(bodyInformation);
+ self.clusterModeStatus = @(clusterModeStatus);
+ self.deviceStatus = @(deviceStatus);
+ self.driverBraking = @(driverBraking);
+ self.eCallInfo = @(eCallInfo);
+ self.emergencyEvent = @(emergencyEvent);
+ self.engineTorque = @(engineTorque);
+ self.externalTemperature = @(externalTemperature);
+ self.fuelLevel = @(fuelLevel);
+ self.fuelLevel_State = @(fuelLevelState);
+ self.myKey = @(myKey);
+ self.odometer = @(odometer);
+ self.gps = @(gps);
+ self.headLampStatus = @(headLampStatus);
+ self.instantFuelConsumption = @(instantFuelConsumption);
+ self.prndl = @(prndl);
+ self.rpm = @(rpm);
+ self.speed = @(speed);
+ self.steeringWheelAngle = @(steeringWheelAngle);
+ self.tirePressure = @(tirePressure);
+ self.vin = @(vin);
+ self.wiperStatus = @(wiperStatus);
+ }
+ return self;
+}
+
- (void)setGps:(NSNumber *)gps {
if (gps != nil) {
[parameters setObject:gps forKey:NAMES_gps];
diff --git a/SmartDeviceLink/SDLImage.h b/SmartDeviceLink/SDLImage.h
index 993107ec3..24c6dcdab 100644
--- a/SmartDeviceLink/SDLImage.h
+++ b/SmartDeviceLink/SDLImage.h
@@ -25,6 +25,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithName:(NSString *)name ofType:(SDLImageType *)imageType;
+
/**
* @abstract The static hex icon value or the binary image file name identifier (sent by SDLPutFile)
*
diff --git a/SmartDeviceLink/SDLImage.m b/SmartDeviceLink/SDLImage.m
index ef646f794..342dbaf16 100644
--- a/SmartDeviceLink/SDLImage.m
+++ b/SmartDeviceLink/SDLImage.m
@@ -21,6 +21,14 @@
return self;
}
+- (instancetype)initWithName:(NSString *)name ofType:(SDLImageType *)imageType {
+ if (self = [super init]) {
+ self.value = name;
+ self.imageType = imageType;
+ }
+ return self;
+}
+
- (void)setValue:(NSString *)value {
if (value != nil) {
[store setObject:value forKey:NAMES_value];
diff --git a/SmartDeviceLink/SDLLifecycleManager.m b/SmartDeviceLink/SDLLifecycleManager.m
index 04e05e218..a7d986230 100644
--- a/SmartDeviceLink/SDLLifecycleManager.m
+++ b/SmartDeviceLink/SDLLifecycleManager.m
@@ -188,7 +188,7 @@ SDLLifecycleState *const SDLLifecycleStateReady = @"Ready";
}
// Build a register app interface request with the configuration data
- SDLRegisterAppInterface *regRequest = [SDLRPCRequestFactory buildRegisterAppInterfaceWithAppName:self.configuration.lifecycleConfig.appName languageDesired:self.configuration.lifecycleConfig.language appID:self.configuration.lifecycleConfig.appId];
+ SDLRegisterAppInterface* regRequest = [[SDLRegisterAppInterface alloc] initWithAppName:self.configuration.lifecycleConfig.appName languageDesired:self.configuration.lifecycleConfig.language appId:self.configuration.lifecycleConfig.appId];
regRequest.isMediaApplication = @(self.configuration.lifecycleConfig.isMedia);
regRequest.ngnMediaScreenAppName = self.configuration.lifecycleConfig.shortAppName;
regRequest.hashID = self.configuration.lifecycleConfig.resumeHash;
diff --git a/SmartDeviceLink/SDLMenuParams.h b/SmartDeviceLink/SDLMenuParams.h
index 14f51e390..d0376e45d 100644
--- a/SmartDeviceLink/SDLMenuParams.h
+++ b/SmartDeviceLink/SDLMenuParams.h
@@ -23,6 +23,7 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithMenuName:(NSString *)menuName parentId:(NSNumber *)parentId position:(NSNumber *)position;
/**
* @abstract the unique ID of an existing submenu to which a command will be added
diff --git a/SmartDeviceLink/SDLMenuParams.m b/SmartDeviceLink/SDLMenuParams.m
index 84fb595a8..8ff27a68a 100644
--- a/SmartDeviceLink/SDLMenuParams.m
+++ b/SmartDeviceLink/SDLMenuParams.m
@@ -20,6 +20,15 @@
return self;
}
+- (instancetype)initWithMenuName:(NSString *)menuName parentId:(NSNumber *)parentId position:(NSNumber *)position {
+ if (self = [self init]) {
+ self.menuName = menuName;
+ self.parentID = parentId;
+ self.position = position;
+ }
+ return self;
+}
+
- (void)setParentID:(NSNumber *)parentID {
if (parentID != nil) {
[store setObject:parentID forKey:NAMES_parentID];
diff --git a/SmartDeviceLink/SDLPerformAudioPassThru.h b/SmartDeviceLink/SDLPerformAudioPassThru.h
index 66dfacf19..004b45c3d 100644
--- a/SmartDeviceLink/SDLPerformAudioPassThru.h
+++ b/SmartDeviceLink/SDLPerformAudioPassThru.h
@@ -33,6 +33,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt audioPassThruDisplayText1:(NSString *)audioPassThruDisplayText1 audioPassThruDisplayText2:(NSString *)audioPassThruDisplayText2 samplingRate:(SDLSamplingRate *)samplingRate maxDuration:(NSNumber *)maxDuration bitsPerSample:(SDLBitsPerSample *)bitsPerSample audioType:(SDLAudioType *)audioType muteAudio:(BOOL)muteAudio;
+
/**
* @abstract initial prompt which will be spoken before opening the audio pass
* thru session by SDL
diff --git a/SmartDeviceLink/SDLPerformAudioPassThru.m b/SmartDeviceLink/SDLPerformAudioPassThru.m
index 67b0f05c3..8f3d188d3 100644
--- a/SmartDeviceLink/SDLPerformAudioPassThru.m
+++ b/SmartDeviceLink/SDLPerformAudioPassThru.m
@@ -9,6 +9,7 @@
#import "SDLNames.h"
#import "SDLSamplingRate.h"
#import "SDLTTSChunk.h"
+#import "SDLTTSChunkFactory.h"
@implementation SDLPerformAudioPassThru
@@ -25,6 +26,20 @@
return self;
}
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt audioPassThruDisplayText1:(NSString *)audioPassThruDisplayText1 audioPassThruDisplayText2:(NSString *)audioPassThruDisplayText2 samplingRate:(SDLSamplingRate *)samplingRate maxDuration:(NSNumber *)maxDuration bitsPerSample:(SDLBitsPerSample *)bitsPerSample audioType:(SDLAudioType *)audioType muteAudio:(BOOL)muteAudio {
+ if (self = [self init]) {
+ self.initialPrompt = [SDLTTSChunkFactory buildTTSChunksFromSimple:initialPrompt];
+ self.audioPassThruDisplayText1 = audioPassThruDisplayText1;
+ self.audioPassThruDisplayText2 = audioPassThruDisplayText2;
+ self.samplingRate = samplingRate;
+ self.maxDuration = maxDuration;
+ self.bitsPerSample = bitsPerSample;
+ self.audioType = audioType;
+ self.muteAudio = @(muteAudio);
+ }
+ return self;
+}
+
- (void)setInitialPrompt:(NSMutableArray *)initialPrompt {
if (initialPrompt != nil) {
[parameters setObject:initialPrompt forKey:NAMES_initialPrompt];
diff --git a/SmartDeviceLink/SDLPerformInteraction.h b/SmartDeviceLink/SDLPerformInteraction.h
index 29f166c96..9f13deb61 100644
--- a/SmartDeviceLink/SDLPerformInteraction.h
+++ b/SmartDeviceLink/SDLPerformInteraction.h
@@ -36,6 +36,16 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(NSNumber *)interactionChoiceSetID;
+
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(NSNumber *)interactionChoiceSetID vrHelp:(NSArray *)vrHelp;
+
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpPrompt:(NSString *)helpPrompt timeoutPrompt:(NSString *)timeoutPrompt interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout;
+
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpPrompt:(NSString *)helpPrompt timeoutPrompt:(NSString *)timeoutPrompt interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout vrHelp:(NSArray *)vrHelp;
+
+- (instancetype)initWithInitialChunks:(NSArray *)initialChunks initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpChunks:(NSArray *)helpChunks timeoutChunks:(NSArray *)timeoutChunks interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout vrHelp:(NSArray *)vrHelp;
+
/**
* @abstract The Text that Displayed when the interaction begins. This text may
* be overlaid by the "Listening" prompt during the interaction. Text is
diff --git a/SmartDeviceLink/SDLPerformInteraction.m b/SmartDeviceLink/SDLPerformInteraction.m
index de6c3622f..5c268c098 100644
--- a/SmartDeviceLink/SDLPerformInteraction.m
+++ b/SmartDeviceLink/SDLPerformInteraction.m
@@ -8,6 +8,7 @@
#import "SDLLayoutMode.h"
#import "SDLNames.h"
#import "SDLTTSChunk.h"
+#import "SDLTTSChunkFactory.h"
#import "SDLVRHelpItem.h"
@implementation SDLPerformInteraction
@@ -24,6 +25,47 @@
return self;
}
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(NSNumber *)interactionChoiceSetID {
+ if (self = [self initWithInitialPrompt:initialPrompt initialText:initialText interactionChoiceSetID:interactionChoiceSetID vrHelp:nil]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(NSNumber *)interactionChoiceSetID vrHelp:(NSArray *)vrHelp {
+ if (self = [self initWithInitialPrompt:initialPrompt initialText:initialText interactionChoiceSetIDList:@[interactionChoiceSetID] helpPrompt:nil timeoutPrompt:nil interactionMode:nil timeout:nil vrHelp:vrHelp]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpPrompt:(NSString *)helpPrompt timeoutPrompt:(NSString *)timeoutPrompt interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout {
+ if (self = [self initWithInitialPrompt:initialPrompt initialText:initialText interactionChoiceSetIDList:interactionChoiceSetIDList helpPrompt:helpPrompt timeoutPrompt:timeoutPrompt interactionMode:interactionMode timeout:timeout vrHelp:nil]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpPrompt:(NSString *)helpPrompt timeoutPrompt:(NSString *)timeoutPrompt interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout vrHelp:(NSArray *)vrHelp {
+ NSMutableArray* initialChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:initialPrompt];
+ NSMutableArray* helpChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:helpPrompt];
+ NSMutableArray* timeoutChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:timeoutPrompt];
+ if (self = [self initWithInitialChunks:initialChunks initialText:initialText interactionChoiceSetIDList:interactionChoiceSetIDList helpChunks:helpChunks timeoutChunks:timeoutChunks interactionMode:interactionMode timeout:timeout vrHelp:vrHelp]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithInitialChunks:(NSArray *)initialChunks initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpChunks:(NSArray *)helpChunks timeoutChunks:(NSArray *)timeoutChunks interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout vrHelp:(NSArray *)vrHelp {
+ if (self = [self init]) {
+ self.initialPrompt = [initialChunks mutableCopy];
+ self.initialText = initialText;
+ self.interactionChoiceSetIDList = [interactionChoiceSetIDList mutableCopy];
+ self.helpPrompt = [helpChunks mutableCopy];
+ self.timeoutPrompt = [timeoutChunks mutableCopy];
+ self.interactionMode = interactionMode;
+ self.timeout = timeout;
+ self.vrHelp = [vrHelp mutableCopy];
+ }
+ return self;
+}
+
- (void)setInitialText:(NSString *)initialText {
if (initialText != nil) {
[parameters setObject:initialText forKey:NAMES_initialText];
diff --git a/SmartDeviceLink/SDLProxy.m b/SmartDeviceLink/SDLProxy.m
index 918a4e660..8fe0f4294 100644
--- a/SmartDeviceLink/SDLProxy.m
+++ b/SmartDeviceLink/SDLProxy.m
@@ -33,7 +33,6 @@
#import "SDLRPCPayload.h"
#import "SDLRPCPayload.h"
#import "SDLRPCPayload.h"
-#import "SDLRPCRequestFactory.h"
#import "SDLRPCResponse.h"
#import "SDLRegisterAppInterfaceResponse.h"
#import "SDLRequestType.h"
@@ -697,7 +696,7 @@ const int POLICIES_CORRELATION_ID = 65535;
for (id<SDLProxyListener> listener in self.proxyListeners) {
if ([listener respondsToSelector:aSelector]) {
// HAX: http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown
- ((void (*)(id, SEL, id))[(NSObject *)listener methodForSelector:aSelector])(listener, aSelector, object);
+ ((void ( *)(id, SEL, id))[(NSObject *)listener methodForSelector:aSelector])(listener, aSelector, object);
}
}
}
diff --git a/SmartDeviceLink/SDLPutFile.h b/SmartDeviceLink/SDLPutFile.h
index eb7bae2bf..897670ef8 100644
--- a/SmartDeviceLink/SDLPutFile.h
+++ b/SmartDeviceLink/SDLPutFile.h
@@ -29,6 +29,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType *)fileType persistentFile:(BOOL)persistentFile;
+
/**
* A file reference name
*
diff --git a/SmartDeviceLink/SDLPutFile.m b/SmartDeviceLink/SDLPutFile.m
index 69d83edcd..a9f6aaeac 100644
--- a/SmartDeviceLink/SDLPutFile.m
+++ b/SmartDeviceLink/SDLPutFile.m
@@ -21,6 +21,15 @@
return self;
}
+- (instancetype)initWithFileName:(NSString *)fileName fileType:(SDLFileType *)fileType persistentFile:(BOOL)persistentFile {
+ if (self = [self init]) {
+ self.syncFileName = fileName;
+ self.fileType = fileType;
+ self.persistentFile = @(persistentFile);
+ }
+ return self;
+}
+
- (void)setSyncFileName:(NSString *)syncFileName {
if (syncFileName != nil) {
[parameters setObject:syncFileName forKey:NAMES_syncFileName];
diff --git a/SmartDeviceLink/SDLRPCRequestFactory.h b/SmartDeviceLink/SDLRPCRequestFactory.h
index 5b0146bbf..257664c46 100644
--- a/SmartDeviceLink/SDLRPCRequestFactory.h
+++ b/SmartDeviceLink/SDLRPCRequestFactory.h
@@ -59,7 +59,7 @@
@class SDLUpdateTurnList;
-@interface SDLRPCRequestFactory : NSObject {
+__deprecated_msg("use class's initializers instead") @interface SDLRPCRequestFactory : NSObject {
}
//***** AddCommand *****
@@ -70,157 +70,156 @@
+ (SDLAddCommand *)buildAddCommandWithID:(NSNumber *)cmdID vrCommands:(NSArray *)vrCommands correlationID:(NSNumber *)correlationID __deprecated_msg("use buildAddCommandWithID:vrCommands:handler: with SDLManager instead");
-+ (SDLAddCommand *)buildAddCommandWithID:(NSNumber *)cmdID menuName:(NSString *)menuName parentID:(NSNumber *)parentID position:(NSNumber *)position vrCommands:(NSArray *)vrCommands iconValue:(NSString *)iconValue iconType:(SDLImageType *)iconType handler:(SDLRPCNotificationHandler)handler;
++ (SDLAddCommand *)buildAddCommandWithID:(NSNumber *)cmdID menuName:(NSString *)menuName parentID:(NSNumber *)parentID position:(NSNumber *)position vrCommands:(NSArray *)vrCommands iconValue:(NSString *)iconValue iconType:(SDLImageType *)iconType handler:(SDLRPCNotificationHandler)handler __deprecated_msg("use SDLAddCommand's initWithId:menuName:parentId:position:vrCommands:iconValue:iconType:handler: instead");
-+ (SDLAddCommand *)buildAddCommandWithID:(NSNumber *)cmdID menuName:(NSString *)menuName vrCommands:(NSArray *)vrCommands handler:(SDLRPCNotificationHandler)handler;
++ (SDLAddCommand *)buildAddCommandWithID:(NSNumber *)cmdID menuName:(NSString *)menuName vrCommands:(NSArray *)vrCommands handler:(SDLRPCNotificationHandler)handler __deprecated_msg("use SDLAddCommand's initWithId:menuName:vrCommands:handler: instead");
-+ (SDLAddCommand *)buildAddCommandWithID:(NSNumber *)cmdID vrCommands:(NSArray *)vrCommands handler:(SDLRPCNotificationHandler)handler;
++ (SDLAddCommand *)buildAddCommandWithID:(NSNumber *)cmdID vrCommands:(NSArray *)vrCommands handler:(SDLRPCNotificationHandler)handler __deprecated_msg("use SDLAddCommand's initWithId:vrCommands:handler: instead");
//*****
//***** AddSubMenu *****
-+ (SDLAddSubMenu *)buildAddSubMenuWithID:(NSNumber *)menuID menuName:(NSString *)menuName position:(NSNumber *)position correlationID:(NSNumber *)correlationID;
++ (SDLAddSubMenu *)buildAddSubMenuWithID:(NSNumber *)menuID menuName:(NSString *)menuName position:(NSNumber *)position correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAddSubMenu's initWithId:menuName:position: instead");
-+ (SDLAddSubMenu *)buildAddSubMenuWithID:(NSNumber *)menuID menuName:(NSString *)menuName correlationID:(NSNumber *)correlationID;
++ (SDLAddSubMenu *)buildAddSubMenuWithID:(NSNumber *)menuID menuName:(NSString *)menuName correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAddSubMenu's initWithId:menuName: instead");
//*****
//***** Alert *****
-+ (SDLAlert *)buildAlertWithTTS:(NSString *)ttsText alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 playTone:(NSNumber *)playTone duration:(NSNumber *)duration correlationID:(NSNumber *)correlationID;
++ (SDLAlert *)buildAlertWithTTS:(NSString *)ttsText alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 playTone:(NSNumber *)playTone duration:(NSNumber *)duration correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAlert's initWithTTS:alertText1:alertText2:alertText3:playTone:duration: instead");
-+ (SDLAlert *)buildAlertWithTTS:(NSString *)ttsText alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 playTone:(NSNumber *)playTone duration:(NSNumber *)duration correlationID:(NSNumber *)correlationID;
++ (SDLAlert *)buildAlertWithTTS:(NSString *)ttsText alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 playTone:(NSNumber *)playTone duration:(NSNumber *)duration correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAlert's initWithTTS:alertText1:alertText2:playTone:duration: instead");
-+ (SDLAlert *)buildAlertWithTTS:(NSString *)ttsText playTone:(NSNumber *)playTone correlationID:(NSNumber *)
- correlationID;
++ (SDLAlert *)buildAlertWithTTS:(NSString *)ttsText playTone:(NSNumber *)playTone correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAlert's initWithTTS:playTone:duration: instead");
//***
-+ (SDLAlert *)buildAlertWithTTSChunks:(NSArray *)ttsChunks alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 playTone:(NSNumber *)playTone duration:(NSNumber *)duration softButtons:(NSArray *)softButtons correlationID:(NSNumber *)correlationID;
++ (SDLAlert *)buildAlertWithTTSChunks:(NSArray *)ttsChunks alertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 playTone:(NSNumber *)playTone duration:(NSNumber *)duration softButtons:(NSArray *)softButtons correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAlert's initWithTTSChunks:alertText1:alertText2:alertText3:playTone:duration:softButtons: instead");
-+ (SDLAlert *)buildAlertWithTTSChunks:(NSArray *)ttsChunks playTone:(NSNumber *)playTone correlationID:(NSNumber *)correlationID;
++ (SDLAlert *)buildAlertWithTTSChunks:(NSArray *)ttsChunks playTone:(NSNumber *)playTone correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAlert's initWithTTSChunks:playTone: instead");
//***
-+ (SDLAlert *)buildAlertWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 duration:(NSNumber *)duration softButtons:(NSArray *)softButtons correlationID:(NSNumber *)correlationID;
++ (SDLAlert *)buildAlertWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 duration:(NSNumber *)duration softButtons:(NSArray *)softButtons correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAlert's initWithAlertText1:alertText2:alertText3:duration:softButtons: instead");
-+ (SDLAlert *)buildAlertWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 duration:(NSNumber *)duration correlationID:(NSNumber *)correlationID;
++ (SDLAlert *)buildAlertWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 alertText3:(NSString *)alertText3 duration:(NSNumber *)duration correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAlert's initWithAlertText1:alertText2:alertText3:duration: instead");
-+ (SDLAlert *)buildAlertWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 duration:(NSNumber *)duration correlationID:(NSNumber *)correlationID;
++ (SDLAlert *)buildAlertWithAlertText1:(NSString *)alertText1 alertText2:(NSString *)alertText2 duration:(NSNumber *)duration correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAlert's initWithAlertText1:alertText2:duration: instead");
//*****
-+ (SDLAlertManeuver *)buildAlertManeuverwithTTSchunks:(NSMutableArray *)ttsChunks softButtons:(NSMutableArray *)softButtons correlationID:(NSNumber *)correlationID;
++ (SDLAlertManeuver *)buildAlertManeuverwithTTSchunks:(NSMutableArray *)ttsChunks softButtons:(NSMutableArray *)softButtons correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLAlertManeuver's initWithTTSChunks:softButtons: instead");
-+ (SDLChangeRegistration *)buildChangeRegistrationWithLanguage:(SDLLanguage *)language hmiDisplayLanguage:(SDLLanguage *)hmiDisplayLanguage correlationID:(NSNumber *)correlationID;
++ (SDLChangeRegistration *)buildChangeRegistrationWithLanguage:(SDLLanguage *)language hmiDisplayLanguage:(SDLLanguage *)hmiDisplayLanguage correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLChangeRegistration's initWithLanguage:hmiDisplayLanguage: instead");
-+ (SDLCreateInteractionChoiceSet *)buildCreateInteractionChoiceSetWithID:(NSNumber *)interactionChoiceSetID choiceSet:(NSArray *)choices correlationID:(NSNumber *)correlationID;
++ (SDLCreateInteractionChoiceSet *)buildCreateInteractionChoiceSetWithID:(NSNumber *)interactionChoiceSetID choiceSet:(NSArray *)choices correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLCreateInteractionChoiceSet's initWithId:choiceSet: instead");
-+ (SDLDeleteCommand *)buildDeleteCommandWithID:(NSNumber *)cmdID correlationID:(NSNumber *)correlationID;
++ (SDLDeleteCommand *)buildDeleteCommandWithID:(NSNumber *)cmdID correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLDeleteCommand's initWithId: instead");
-+ (SDLDeleteFile *)buildDeleteFileWithName:(NSString *)syncFileName correlationID:(NSNumber *)correlationID;
++ (SDLDeleteFile *)buildDeleteFileWithName:(NSString *)syncFileName correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLDeleteFile's initWithFileName: instead");
-+ (SDLDialNumber *)buildDialNumberWithNumber:(NSString *)phoneNumber;
++ (SDLDialNumber *)buildDialNumberWithNumber:(NSString *)phoneNumber __deprecated_msg("use SDLDialNumber's initWithNumber: instead");
-+ (SDLListFiles *)buildListFilesWithCorrelationID:(NSNumber *)correlationID;
++ (SDLListFiles *)buildListFilesWithCorrelationID:(NSNumber *)correlationID __deprecated_msg("use SDLListFiles's default initializer instead");
-+ (SDLDeleteInteractionChoiceSet *)buildDeleteInteractionChoiceSetWithID:(NSNumber *)interactionChoiceSetID correlationID:(NSNumber *)correlationID;
++ (SDLDeleteInteractionChoiceSet *)buildDeleteInteractionChoiceSetWithID:(NSNumber *)interactionChoiceSetID correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLDeleteInteractionChoiceSet's initWithId: instead");
-+ (SDLDeleteSubMenu *)buildDeleteSubMenuWithID:(NSNumber *)menuID correlationID:(NSNumber *)correlationID;
++ (SDLDeleteSubMenu *)buildDeleteSubMenuWithID:(NSNumber *)menuID correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLDeleteSubMenu's initWithId: instead");
-+ (SDLEndAudioPassThru *)buildEndAudioPassThruWithCorrelationID:(NSNumber *)correlationID;
++ (SDLEndAudioPassThru *)buildEndAudioPassThruWithCorrelationID:(NSNumber *)correlationID __deprecated_msg("use SDLEndAudioPassThru's default initializer instead");
-+ (SDLGetDTCs *)buildGetDTCsWithECUName:(NSNumber *)ecuName correlationID:(NSNumber *)correlationID;
++ (SDLGetDTCs *)buildGetDTCsWithECUName:(NSNumber *)ecuName correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLGetDTCs's initWithECUName: instead");
-+ (SDLGetVehicleData *)buildGetVehicleDataWithGPS:(NSNumber *)gps speed:(NSNumber *)speed rpm:(NSNumber *)rpm fuelLevel:(NSNumber *)fuelLevel fuelLevelState:(NSNumber *)fuelLevelState instantFuelConsumption:(NSNumber *)instantFuelConsumption externalTemperature:(NSNumber *)externalTemperature vin:(NSNumber *)vin prndl:(NSNumber *)prndl tirePressure:(NSNumber *)tirePressure odometer:(NSNumber *)odometer beltStatus:(NSNumber *)beltStatus bodyInformation:(NSNumber *)bodyInformation deviceStatus:(NSNumber *)deviceStatus driverBraking:(NSNumber *)driverBraking wiperStatus:(NSNumber *)wiperStatus headLampStatus:(NSNumber *)headLampStatus engineTorque:(NSNumber *)engineTorque accPedalPosition:(NSNumber *)accPedalPosition steeringWheelAngle:(NSNumber *)steeringWheelAngle correlationID:(NSNumber *)correlationID;
++ (SDLGetVehicleData *)buildGetVehicleDataWithGPS:(NSNumber *)gps speed:(NSNumber *)speed rpm:(NSNumber *)rpm fuelLevel:(NSNumber *)fuelLevel fuelLevelState:(NSNumber *)fuelLevelState instantFuelConsumption:(NSNumber *)instantFuelConsumption externalTemperature:(NSNumber *)externalTemperature vin:(NSNumber *)vin prndl:(NSNumber *)prndl tirePressure:(NSNumber *)tirePressure odometer:(NSNumber *)odometer beltStatus:(NSNumber *)beltStatus bodyInformation:(NSNumber *)bodyInformation deviceStatus:(NSNumber *)deviceStatus driverBraking:(NSNumber *)driverBraking wiperStatus:(NSNumber *)wiperStatus headLampStatus:(NSNumber *)headLampStatus engineTorque:(NSNumber *)engineTorque accPedalPosition:(NSNumber *)accPedalPosition steeringWheelAngle:(NSNumber *)steeringWheelAngle correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLGetVehicleData's initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:driverBraking:eCallInfo:emergencyEvent:engineTorque:externalTemperature:fuelLevel:fuelLevelState:gps:headLampStatus:instantFuelConsumption:myKey:odometer:prndl:rpm:speed:steeringWheelAngle:tirePressure:vin:wiperStatus: instead");
-+ (SDLPerformAudioPassThru *)buildPerformAudioPassThruWithInitialPrompt:(NSString *)initialPrompt audioPassThruDisplayText1:(NSString *)audioPassThruDisplayText1 audioPassThruDisplayText2:(NSString *)audioPassThruDisplayText2 samplingRate:(SDLSamplingRate *)samplingRate maxDuration:(NSNumber *)maxDuration bitsPerSample:(SDLBitsPerSample *)bitsPerSample audioType:(SDLAudioType *)audioType muteAudio:(NSNumber *)muteAudio correlationID:(NSNumber *)correlationID;
++ (SDLPerformAudioPassThru *)buildPerformAudioPassThruWithInitialPrompt:(NSString *)initialPrompt audioPassThruDisplayText1:(NSString *)audioPassThruDisplayText1 audioPassThruDisplayText2:(NSString *)audioPassThruDisplayText2 samplingRate:(SDLSamplingRate *)samplingRate maxDuration:(NSNumber *)maxDuration bitsPerSample:(SDLBitsPerSample *)bitsPerSample audioType:(SDLAudioType *)audioType muteAudio:(NSNumber *)muteAudio correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLPerformAudioPassThru's initWithInitialPrompt:audioPassThruDisplayText1:audioPassThruDisplayText2:samplingRate:maxDuration:bitsPerSample:audioType:muteAudio: instead");
//***** PerformInteraction *****
-+ (SDLPerformInteraction *)buildPerformInteractionWithInitialChunks:(NSArray *)initialChunks initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpChunks:(NSArray *)helpChunks timeoutChunks:(NSArray *)timeoutChunks interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout vrHelp:(NSArray *)vrHelp correlationID:(NSNumber *)correlationID;
++ (SDLPerformInteraction *)buildPerformInteractionWithInitialChunks:(NSArray *)initialChunks initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpChunks:(NSArray *)helpChunks timeoutChunks:(NSArray *)timeoutChunks interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout vrHelp:(NSArray *)vrHelp correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLPerformInteraction's initWithInitialChunks:initialText:interactionChoiceSetIDList:helpChunks:timeoutChunks:interactionMode:timeout:vrHelp: instead");
//***
-+ (SDLPerformInteraction *)buildPerformInteractionWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpPrompt:(NSString *)helpPrompt timeoutPrompt:(NSString *)timeoutPrompt interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout vrHelp:(NSArray *)vrHelp correlationID:(NSNumber *)correlationID;
++ (SDLPerformInteraction *)buildPerformInteractionWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpPrompt:(NSString *)helpPrompt timeoutPrompt:(NSString *)timeoutPrompt interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout vrHelp:(NSArray *)vrHelp correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLPerformInteraction's initWithInitialPrompt:initialText:interactionChoiceSetIDList:helpPrompt:timeoutPrompt:interactionMode:timeout:vrHelp: instead");
-+ (SDLPerformInteraction *)buildPerformInteractionWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(NSNumber *)interactionChoiceSetID vrHelp:(NSArray *)vrHelp correlationID:(NSNumber *)correlationID;
++ (SDLPerformInteraction *)buildPerformInteractionWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(NSNumber *)interactionChoiceSetID vrHelp:(NSArray *)vrHelp correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLPerformInteraction's initWithInitialPrompt:initialText:interactionChoiceSetID:vrHelp: instead");
-+ (SDLPerformInteraction *)buildPerformInteractionWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpPrompt:(NSString *)helpPrompt timeoutPrompt:(NSString *)timeoutPrompt interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout correlationID:(NSNumber *)correlationID;
++ (SDLPerformInteraction *)buildPerformInteractionWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetIDList:(NSArray *)interactionChoiceSetIDList helpPrompt:(NSString *)helpPrompt timeoutPrompt:(NSString *)timeoutPrompt interactionMode:(SDLInteractionMode *)interactionMode timeout:(NSNumber *)timeout correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLPerformInteraction's initWithInitialPrompt:initialText:interactionChoiceSetIDList:helpPrompt:timeoutPrompt:interactionMode:timeout: instead");
-+ (SDLPerformInteraction *)buildPerformInteractionWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(NSNumber *)interactionChoiceSetID correlationID:(NSNumber *)correlationID;
++ (SDLPerformInteraction *)buildPerformInteractionWithInitialPrompt:(NSString *)initialPrompt initialText:(NSString *)initialText interactionChoiceSetID:(NSNumber *)interactionChoiceSetID correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLPerformInteraction's initWithInitialPrompt:initialText:interactionChoiceSetID: instead");
//*****
-+ (SDLPutFile *)buildPutFileWithFileName:(NSString *)fileName fileType:(SDLFileType *)fileType persistentFile:(NSNumber *)persistentFile correlationId:(NSNumber *)correlationID;
++ (SDLPutFile *)buildPutFileWithFileName:(NSString *)fileName fileType:(SDLFileType *)fileType persistentFile:(NSNumber *)persistentFile correlationId:(NSNumber *)correlationID __deprecated_msg("use SDLPutFile's initWithFileName:fileType: instead");
+ (SDLPutFile *)buildPutFileWithFileName:(NSString *)syncFileName fileType:(SDLFileType *)fileType persisistentFile:(NSNumber *)persistentFile correlationID:(NSNumber *)correlationID __deprecated_msg("use buildPutFileWithFileName:fileType:persistentFile:correlationID: instead");
-+ (SDLReadDID *)buildReadDIDWithECUName:(NSNumber *)ecuName didLocation:(NSArray *)didLocation correlationID:(NSNumber *)correlationID;
++ (SDLReadDID *)buildReadDIDWithECUName:(NSNumber *)ecuName didLocation:(NSArray *)didLocation correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLReadDID's initWithECUName:didLocation: instead");
//***** RegisterAppInterface *****
-+ (SDLRegisterAppInterface *)buildRegisterAppInterfaceWithAppName:(NSString *)appName ttsName:(NSMutableArray *)ttsName vrSynonyms:(NSMutableArray *)vrSynonyms isMediaApp:(NSNumber *)isMediaApp languageDesired:(SDLLanguage *)languageDesired hmiDisplayLanguageDesired:(SDLLanguage *)hmiDisplayLanguageDesired appID:(NSString *)appID;
++ (SDLRegisterAppInterface *)buildRegisterAppInterfaceWithAppName:(NSString *)appName ttsName:(NSMutableArray *)ttsName vrSynonyms:(NSMutableArray *)vrSynonyms isMediaApp:(NSNumber *)isMediaApp languageDesired:(SDLLanguage *)languageDesired hmiDisplayLanguageDesired:(SDLLanguage *)hmiDisplayLanguageDesired appID:(NSString *)appID __deprecated_msg("use SDLRegisterAppInterface's initWithAppName:ttsName:vrSynonyms:isMediaApp:languageDesired:hmiDisplayLanguageDesired:appId: instead");
-+ (SDLRegisterAppInterface *)buildRegisterAppInterfaceWithAppName:(NSString *)appName isMediaApp:(NSNumber *)isMediaApp languageDesired:(SDLLanguage *)languageDesired appID:(NSString *)appID;
++ (SDLRegisterAppInterface *)buildRegisterAppInterfaceWithAppName:(NSString *)appName isMediaApp:(NSNumber *)isMediaApp languageDesired:(SDLLanguage *)languageDesired appID:(NSString *)appID __deprecated_msg("use SDLRegisterAppInterface's initWithAppName:isMediaApp:languageDesired:appId: instead");
-+ (SDLRegisterAppInterface *)buildRegisterAppInterfaceWithAppName:(NSString *)appName languageDesired:(SDLLanguage *)laguageDesired appID:(NSString *)appID;
++ (SDLRegisterAppInterface *)buildRegisterAppInterfaceWithAppName:(NSString *)appName languageDesired:(SDLLanguage *)laguageDesired appID:(NSString *)appID __deprecated_msg("use SDLRegisterAppInterface's initWithAppName:languageDesired:appId: instead");
//*****
-+ (SDLResetGlobalProperties *)buildResetGlobalPropertiesWithProperties:(NSArray *)properties correlationID:(NSNumber *)correlationID;
++ (SDLResetGlobalProperties *)buildResetGlobalPropertiesWithProperties:(NSArray *)properties correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLResetGlobalProperties's initWithProperties: instead");
-+ (SDLSendLocation *)buildSendLocationWithLongitude:(NSNumber *)longitude latitude:(NSNumber *)latitude locationName:(NSString *)locationName locationDescription:(NSString *)locationDescription address:(NSArray *)address phoneNumber:(NSString *)phoneNumber image:(SDLImage *)image;
++ (SDLSendLocation *)buildSendLocationWithLongitude:(NSNumber *)longitude latitude:(NSNumber *)latitude locationName:(NSString *)locationName locationDescription:(NSString *)locationDescription address:(NSArray *)address phoneNumber:(NSString *)phoneNumber image:(SDLImage *)image __deprecated_msg("use SDLSendLocation's initWithLongitude:latitude:locationName:locationDescription:address:phoneNumber:image: instead");
-+ (SDLScrollableMessage *)buildScrollableMessage:(NSString *)scrollableMessageBody timeout:(NSNumber *)timeout softButtons:(NSArray *)softButtons correlationID:(NSNumber *)correlationID;
++ (SDLScrollableMessage *)buildScrollableMessage:(NSString *)scrollableMessageBody timeout:(NSNumber *)timeout softButtons:(NSArray *)softButtons correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLScrollableMessage's initWithMessage:timeout:softButtons: instead");
-+ (SDLSetAppIcon *)buildSetAppIconWithFileName:(NSString *)syncFileName correlationID:(NSNumber *)correlationID;
++ (SDLSetAppIcon *)buildSetAppIconWithFileName:(NSString *)syncFileName correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSetAppIcon's initWithFileName: instead");
-+ (SDLSetDisplayLayout *)buildSetDisplayLayout:(NSString *)displayLayout correlationID:(NSNumber *)correlationID;
++ (SDLSetDisplayLayout *)buildSetDisplayLayout:(NSString *)displayLayout correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSetAppIcon's initWithLayout: instead");
//***** SetGlobalProperties *****
-+ (SDLSetGlobalProperties *)buildSetGlobalPropertiesWithHelpText:(NSString *)helpText timeoutText:(NSString *)timeoutText vrHelpTitle:(NSString *)vrHelpTitle vrHelp:(NSArray *)vrHelp correlationID:(NSNumber *)correlationID;
++ (SDLSetGlobalProperties *)buildSetGlobalPropertiesWithHelpText:(NSString *)helpText timeoutText:(NSString *)timeoutText vrHelpTitle:(NSString *)vrHelpTitle vrHelp:(NSArray *)vrHelp correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSetGlobalProperties's initWithHelpText:timeoutText:vrHelpTitle:vrHelp: instead");
-+ (SDLSetGlobalProperties *)buildSetGlobalPropertiesWithHelpText:(NSString *)helpText timeoutText:(NSString *)timeoutText correlationID:(NSNumber *)correlationID;
++ (SDLSetGlobalProperties *)buildSetGlobalPropertiesWithHelpText:(NSString *)helpText timeoutText:(NSString *)timeoutText correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSetGlobalProperties's initWithHelpText:timeoutText: instead");
//*****
//***** SetMediaClockTimer *****
-+ (SDLSetMediaClockTimer *)buildSetMediaClockTimerWithHours:(NSNumber *)hours minutes:(NSNumber *)minutes seconds:(NSNumber *)seconds updateMode:(SDLUpdateMode *)updateMode correlationID:(NSNumber *)correlationID;
++ (SDLSetMediaClockTimer *)buildSetMediaClockTimerWithHours:(NSNumber *)hours minutes:(NSNumber *)minutes seconds:(NSNumber *)seconds updateMode:(SDLUpdateMode *)updateMode correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSetMediaClockTimer's initWithHours:minutes:seconds:updateMode: instead");
-+ (SDLSetMediaClockTimer *)buildSetMediaClockTimerWithUpdateMode:(SDLUpdateMode *)updateMode correlationID:(NSNumber *)correlationID;
++ (SDLSetMediaClockTimer *)buildSetMediaClockTimerWithUpdateMode:(SDLUpdateMode *)updateMode correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSetMediaClockTimer's initWithUpdateMode: instead");
//*****
//***** Show *****
-+ (SDLShow *)buildShowWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 mainField3:(NSString *)mainField3 mainField4:(NSString *)mainField4 statusBar:(NSString *)statusBar mediaClock:(NSString *)mediaClock mediaTrack:(NSString *)mediaTrack alignment:(SDLTextAlignment *)textAlignment graphic:(SDLImage *)graphic softButtons:(NSArray *)softButtons customPresets:(NSArray *)customPresets correlationID:(NSNumber *)correlationID;
++ (SDLShow *)buildShowWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 mainField3:(NSString *)mainField3 mainField4:(NSString *)mainField4 statusBar:(NSString *)statusBar mediaClock:(NSString *)mediaClock mediaTrack:(NSString *)mediaTrack alignment:(SDLTextAlignment *)textAlignment graphic:(SDLImage *)graphic softButtons:(NSArray *)softButtons customPresets:(NSArray *)customPresets correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLShow's initWithMainField1:mainField2:mainField3:mainField4:statusBar:mediaClock:mediaTrack:alignment:graphic:softButtons:customPresets: instead");
-+ (SDLShow *)buildShowWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 statusBar:(NSString *)statusBar mediaClock:(NSString *)mediaClock mediaTrack:(NSString *)mediaTrack alignment:(SDLTextAlignment *)textAlignment correlationID:(NSNumber *)correlationID;
++ (SDLShow *)buildShowWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 statusBar:(NSString *)statusBar mediaClock:(NSString *)mediaClock mediaTrack:(NSString *)mediaTrack alignment:(SDLTextAlignment *)textAlignment correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLShow's initWithMainField1:mainField2:statusBar:mediaClock:mediaTrack:alignment: instead");
-+ (SDLShow *)buildShowWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 alignment:(SDLTextAlignment *)alignment correlationID:(NSNumber *)correlationID;
++ (SDLShow *)buildShowWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 alignment:(SDLTextAlignment *)alignment correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLShow's initWithMainField1:mainField2:alignment: instead");
//*****
//***** Slider *****
-+ (SDLSlider *)buildSliderDynamicFooterWithNumTicks:(NSNumber *)numTicks position:(NSNumber *)position sliderHeader:(NSString *)sliderHeader sliderFooter:(NSArray *)sliderFooter timeout:(NSNumber *)timeout correlationID:(NSNumber *)correlationID;
++ (SDLSlider *)buildSliderDynamicFooterWithNumTicks:(NSNumber *)numTicks position:(NSNumber *)position sliderHeader:(NSString *)sliderHeader sliderFooter:(NSArray *)sliderFooter timeout:(NSNumber *)timeout correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSlider's initWithNumTicks:position:sliderHeader:sliderFooter:timeout: instead");
-+ (SDLSlider *)buildSliderStaticFooterWithNumTicks:(NSNumber *)numTicks position:(NSNumber *)position sliderHeader:(NSString *)sliderHeader sliderFooter:(NSString *)sliderFooter timeout:(NSNumber *)timeout correlationID:(NSNumber *)correlationID;
++ (SDLSlider *)buildSliderStaticFooterWithNumTicks:(NSNumber *)numTicks position:(NSNumber *)position sliderHeader:(NSString *)sliderHeader sliderFooter:(NSString *)sliderFooter timeout:(NSNumber *)timeout correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSlider's initWithNumTicks:position:sliderHeader:sliderFooters:timeout: instead");
//*****
-+ (SDLSoftButton *)buildSoftButtonWithType:(SDLSoftButtonType *)type text:(NSString *)text image:(SDLImage *)image highlighted:(BOOL)highlighted buttonID:(UInt16)buttonID systemAction:(SDLSystemAction *)systemAction handler:(SDLRPCNotificationHandler)handler;
++ (SDLSoftButton *)buildSoftButtonWithType:(SDLSoftButtonType *)type text:(NSString *)text image:(SDLImage *)image highlighted:(BOOL)highlighted buttonID:(UInt16)buttonID systemAction:(SDLSystemAction *)systemAction handler:(SDLRPCNotificationHandler)handler __deprecated_msg("use SDLSoftButton's initWithType:text:image:highlighted:buttonId:systemAction:handler: instead");
//***** Speak *****
-+ (SDLSpeak *)buildSpeakWithTTSChunks:(NSArray *)ttsChunks correlationID:(NSNumber *)correlationID;
++ (SDLSpeak *)buildSpeakWithTTSChunks:(NSArray *)ttsChunks correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSpeak's initWithTTSChunks: instead");
//***
-+ (SDLSpeak *)buildSpeakWithTTS:(NSString *)ttsText correlationID:(NSNumber *)correlationID;
++ (SDLSpeak *)buildSpeakWithTTS:(NSString *)ttsText correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSpeak's initWithTTS: instead");
//*****
+ (SDLSubscribeButton *)buildSubscribeButtonWithName:(SDLButtonName *)buttonName correlationID:(NSNumber *)correlationID __deprecated_msg("use buildSubscribeButtonWithName:handler: with SDLManager instead");
-+ (SDLSubscribeButton *)buildSubscribeButtonWithName:(SDLButtonName *)buttonName handler:(SDLRPCNotificationHandler)handler;
++ (SDLSubscribeButton *)buildSubscribeButtonWithName:(SDLButtonName *)buttonName handler:(SDLRPCNotificationHandler)handler __deprecated_msg("use SDLSubscribeButton's initWithButtonName:handler: instead");
-+ (SDLSubscribeVehicleData *)buildSubscribeVehicleDataWithGPS:(NSNumber *)gps speed:(NSNumber *)speed rpm:(NSNumber *)rpm fuelLevel:(NSNumber *)fuelLevel fuelLevelState:(NSNumber *)fuelLevelState instantFuelConsumption:(NSNumber *)instantFuelConsumption externalTemperature:(NSNumber *)externalTemperature prndl:(NSNumber *)prndl tirePressure:(NSNumber *)tirePressure odometer:(NSNumber *)odometer beltStatus:(NSNumber *)beltStatus bodyInformation:(NSNumber *)bodyInformation deviceStatus:(NSNumber *)deviceStatus driverBraking:(NSNumber *)driverBraking wiperStatus:(NSNumber *)wiperStatus headLampStatus:(NSNumber *)headLampStatus engineTorque:(NSNumber *)engineTorque accPedalPosition:(NSNumber *)accPedalPosition steeringWheelAngle:(NSNumber *)steeringWheelAngle correlationID:(NSNumber *)correlationID;
++ (SDLSubscribeVehicleData *)buildSubscribeVehicleDataWithGPS:(NSNumber *)gps speed:(NSNumber *)speed rpm:(NSNumber *)rpm fuelLevel:(NSNumber *)fuelLevel fuelLevelState:(NSNumber *)fuelLevelState instantFuelConsumption:(NSNumber *)instantFuelConsumption externalTemperature:(NSNumber *)externalTemperature prndl:(NSNumber *)prndl tirePressure:(NSNumber *)tirePressure odometer:(NSNumber *)odometer beltStatus:(NSNumber *)beltStatus bodyInformation:(NSNumber *)bodyInformation deviceStatus:(NSNumber *)deviceStatus driverBraking:(NSNumber *)driverBraking wiperStatus:(NSNumber *)wiperStatus headLampStatus:(NSNumber *)headLampStatus engineTorque:(NSNumber *)engineTorque accPedalPosition:(NSNumber *)accPedalPosition steeringWheelAngle:(NSNumber *)steeringWheelAngle correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSubscribeVehicleData's initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:driverBraking:eCallInfo:emergencyEvent:engineTorque:externalTemperature:fuelLevel:fuelLevelState:gps:headLampStatus:instantFuelConsumption:myKey:odometer:prndl:rpm:speed:steeringWheelAngle:tirePressure:wiperStatus: instead");
-+ (SDLShowConstantTBT *)buildShowConstantTBTWithString:(NSString *)navigationText1 navigationText2:(NSString *)navigationText2 eta:(NSString *)eta timeToDestination:(NSString *)timeToDestination totalDistance:(NSString *)totalDistance turnIcon:(SDLImage *)turnIcon nextTurnIcon:(SDLImage *)nextTurnIcon distanceToManeuver:(NSNumber *)distanceToManeuver distanceToManeuverScale:(NSNumber *)distanceToManeuverScale maneuverComplete:(NSNumber *)maneuverComplete softButtons:(NSMutableArray *)softButtons correlationID:(NSNumber *)correlationID;
++ (SDLShowConstantTBT *)buildShowConstantTBTWithString:(NSString *)navigationText1 navigationText2:(NSString *)navigationText2 eta:(NSString *)eta timeToDestination:(NSString *)timeToDestination totalDistance:(NSString *)totalDistance turnIcon:(SDLImage *)turnIcon nextTurnIcon:(SDLImage *)nextTurnIcon distanceToManeuver:(NSNumber *)distanceToManeuver distanceToManeuverScale:(NSNumber *)distanceToManeuverScale maneuverComplete:(NSNumber *)maneuverComplete softButtons:(NSMutableArray *)softButtons correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLShowConstantTBT's initWithNavigationText1:navigationText2:eta:timeToDestination:totalDistance:turnIcon:nextTurnIcon:distanceToManeuver:distanceToManeuverScale:maneuverComplete:softButtons: instead");
-+ (SDLUnregisterAppInterface *)buildUnregisterAppInterfaceWithCorrelationID:(NSNumber *)correlationID;
++ (SDLUnregisterAppInterface *)buildUnregisterAppInterfaceWithCorrelationID:(NSNumber *)correlationID __deprecated_msg("use SDLUnregisterAppInterface's default initializer instead");
-+ (SDLUnsubscribeButton *)buildUnsubscribeButtonWithName:(SDLButtonName *)buttonName correlationID:(NSNumber *)correlationID;
++ (SDLUnsubscribeButton *)buildUnsubscribeButtonWithName:(SDLButtonName *)buttonName correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLUnsubscribeButton's initWithButtonName: instead");
-+ (SDLUnsubscribeVehicleData *)buildUnsubscribeVehicleDataWithGPS:(NSNumber *)gps speed:(NSNumber *)speed rpm:(NSNumber *)rpm fuelLevel:(NSNumber *)fuelLevel fuelLevelState:(NSNumber *)fuelLevelState instantFuelConsumption:(NSNumber *)instantFuelConsumption externalTemperature:(NSNumber *)externalTemperature prndl:(NSNumber *)prndl tirePressure:(NSNumber *)tirePressure odometer:(NSNumber *)odometer beltStatus:(NSNumber *)beltStatus bodyInformation:(NSNumber *)bodyInformation deviceStatus:(NSNumber *)deviceStatus driverBraking:(NSNumber *)driverBraking wiperStatus:(NSNumber *)wiperStatus headLampStatus:(NSNumber *)headLampStatus engineTorque:(NSNumber *)engineTorque accPedalPosition:(NSNumber *)accPedalPosition steeringWheelAngle:(NSNumber *)steeringWheelAngle correlationID:(NSNumber *)correlationID;
++ (SDLUnsubscribeVehicleData *)buildUnsubscribeVehicleDataWithGPS:(NSNumber *)gps speed:(NSNumber *)speed rpm:(NSNumber *)rpm fuelLevel:(NSNumber *)fuelLevel fuelLevelState:(NSNumber *)fuelLevelState instantFuelConsumption:(NSNumber *)instantFuelConsumption externalTemperature:(NSNumber *)externalTemperature prndl:(NSNumber *)prndl tirePressure:(NSNumber *)tirePressure odometer:(NSNumber *)odometer beltStatus:(NSNumber *)beltStatus bodyInformation:(NSNumber *)bodyInformation deviceStatus:(NSNumber *)deviceStatus driverBraking:(NSNumber *)driverBraking wiperStatus:(NSNumber *)wiperStatus headLampStatus:(NSNumber *)headLampStatus engineTorque:(NSNumber *)engineTorque accPedalPosition:(NSNumber *)accPedalPosition steeringWheelAngle:(NSNumber *)steeringWheelAngle correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLSubscribeVehicleData's initWithAccelerationPedalPosition:airbagStatus:beltStatus:bodyInformation:clusterModeStatus:deviceStatus:driverBraking:eCallInfo:emergencyEvent:engineTorque:externalTemperature:fuelLevel:fuelLevelState:gps:headLampStatus:instantFuelConsumption:myKey:odometer:prndl:rpm:speed:steeringWheelAngle:tirePressure:wiperStatus: instead");
-+ (SDLUpdateTurnList *)buildUpdateTurnListWithTurnList:(NSMutableArray *)turnList softButtons:(NSMutableArray *)softButtons correlationID:(NSNumber *)correlationID;
++ (SDLUpdateTurnList *)buildUpdateTurnListWithTurnList:(NSMutableArray *)turnList softButtons:(NSMutableArray *)softButtons correlationID:(NSNumber *)correlationID __deprecated_msg("use SDLUpdateTurnList initWithTurnList:softButtons: instead");
@end
diff --git a/SmartDeviceLink/SDLRPCStruct.m b/SmartDeviceLink/SDLRPCStruct.m
index dd96fff5d..cd0f4d481 100644
--- a/SmartDeviceLink/SDLRPCStruct.m
+++ b/SmartDeviceLink/SDLRPCStruct.m
@@ -7,7 +7,6 @@
#import "SDLEnum.h"
#import "SDLNames.h"
-
@implementation SDLRPCStruct
- (id)initWithDictionary:(NSMutableDictionary *)dict {
diff --git a/SmartDeviceLink/SDLReadDID.h b/SmartDeviceLink/SDLReadDID.h
index 76df4a592..e8340245c 100644
--- a/SmartDeviceLink/SDLReadDID.h
+++ b/SmartDeviceLink/SDLReadDID.h
@@ -30,6 +30,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithECUName:(NSNumber *)ecuNumber didLocation:(NSArray *)didLocation;
+
/**
* @abstract An ID of the vehicle module
* <br/><b>Notes: </b>Minvalue:0; Maxvalue:65535
diff --git a/SmartDeviceLink/SDLReadDID.m b/SmartDeviceLink/SDLReadDID.m
index 198d992e0..9720944c5 100644
--- a/SmartDeviceLink/SDLReadDID.m
+++ b/SmartDeviceLink/SDLReadDID.m
@@ -20,6 +20,14 @@
return self;
}
+- (instancetype)initWithECUName:(NSNumber *)ecuName didLocation:(NSArray *)didLocation {
+ if (self = [self init]) {
+ self.ecuName = ecuName;
+ self.didLocation = [didLocation mutableCopy];
+ }
+ return self;
+}
+
- (void)setEcuName:(NSNumber *)ecuName {
if (ecuName != nil) {
[parameters setObject:ecuName forKey:NAMES_ecuName];
diff --git a/SmartDeviceLink/SDLRegisterAppInterface.h b/SmartDeviceLink/SDLRegisterAppInterface.h
index 642edd3e3..b8b2e38e6 100644
--- a/SmartDeviceLink/SDLRegisterAppInterface.h
+++ b/SmartDeviceLink/SDLRegisterAppInterface.h
@@ -94,6 +94,12 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithAppName:(NSString *)appName languageDesired:(SDLLanguage *)languageDesired appId:(NSString *)appId;
+
+- (instancetype)initWithAppName:(NSString *)appName isMediaApp:(BOOL)isMediaApp languageDesired:(SDLLanguage *)languageDesired appId:(NSString *)appId;
+
+- (instancetype)initWithAppName:(NSString *)appName ttsName:(NSArray *)ttsName vrSynonyms:(NSArray *)vrSynonyms isMediaApp:(BOOL)isMediaApp languageDesired:(SDLLanguage *)languageDesired hmiDisplayLanguageDesired:(SDLLanguage *)hmiDisplayLanguageDesired appId:(NSString *)appId;
+
/**
* @abstract The version of the SDL interface
*
diff --git a/SmartDeviceLink/SDLRegisterAppInterface.m b/SmartDeviceLink/SDLRegisterAppInterface.m
index 36fac6627..cfc6b27a5 100644
--- a/SmartDeviceLink/SDLRegisterAppInterface.m
+++ b/SmartDeviceLink/SDLRegisterAppInterface.m
@@ -27,6 +27,35 @@
return self;
}
+- (instancetype)initWithAppName:(NSString *)appName languageDesired:(SDLLanguage *)languageDesired appId:(NSString *)appId {
+ if (self = [self initWithAppName:appName isMediaApp:@NO languageDesired:languageDesired appId:appId]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithAppName:(NSString *)appName isMediaApp:(BOOL)isMediaApp languageDesired:(SDLLanguage *)languageDesired appId:(NSString *)appId {
+ if (self = [self initWithAppName:appName ttsName:nil vrSynonyms:@[appName] isMediaApp:isMediaApp languageDesired:languageDesired hmiDisplayLanguageDesired:languageDesired appId:appId]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithAppName:(NSString *)appName ttsName:(NSArray *)ttsName vrSynonyms:(NSArray *)vrSynonyms isMediaApp:(BOOL)isMediaApp languageDesired:(SDLLanguage *)languageDesired hmiDisplayLanguageDesired:(SDLLanguage *)hmiDisplayLanguageDesired appId:(NSString *)appId {
+ if (self = [self init]) {
+ self.appID = appId;
+ self.appName = appName;
+ self.hmiDisplayLanguageDesired = hmiDisplayLanguageDesired;
+ self.isMediaApplication = @(isMediaApp);
+ self.ngnMediaScreenAppName = appName;
+ self.ttsName = [ttsName copy];
+ self.vrSynonyms = [vrSynonyms copy];
+ self.syncMsgVersion = [[SDLSyncMsgVersion alloc] initWithMajorVersion:1 minorVersion:0];
+ self.appInfo = [SDLAppInfo currentAppInfo];
+ self.deviceInfo = [SDLDeviceInfo currentDevice];
+ self.correlationID = @1;
+ }
+ return self;
+}
+
- (void)setSyncMsgVersion:(SDLSyncMsgVersion *)syncMsgVersion {
if (syncMsgVersion != nil) {
[parameters setObject:syncMsgVersion forKey:NAMES_syncMsgVersion];
diff --git a/SmartDeviceLink/SDLResetGlobalProperties.h b/SmartDeviceLink/SDLResetGlobalProperties.h
index f30b59a41..faf9853b2 100644
--- a/SmartDeviceLink/SDLResetGlobalProperties.h
+++ b/SmartDeviceLink/SDLResetGlobalProperties.h
@@ -34,6 +34,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithProperties:(NSArray *)properties;
+
/**
* @abstract An array of one or more GlobalProperty enumeration elements
* indicating which global properties to reset to their default value
diff --git a/SmartDeviceLink/SDLResetGlobalProperties.m b/SmartDeviceLink/SDLResetGlobalProperties.m
index 350f96de0..44e43500a 100644
--- a/SmartDeviceLink/SDLResetGlobalProperties.m
+++ b/SmartDeviceLink/SDLResetGlobalProperties.m
@@ -21,6 +21,13 @@
return self;
}
+- (instancetype)initWithProperties:(NSArray *)properties {
+ if (self = [self init]) {
+ self.properties = [properties mutableCopy];
+ }
+ return self;
+}
+
- (void)setProperties:(NSMutableArray *)properties {
if (properties != nil) {
[parameters setObject:properties forKey:NAMES_properties];
diff --git a/SmartDeviceLink/SDLScrollableMessage.h b/SmartDeviceLink/SDLScrollableMessage.h
index 27e894221..ea83a4eb0 100644
--- a/SmartDeviceLink/SDLScrollableMessage.h
+++ b/SmartDeviceLink/SDLScrollableMessage.h
@@ -27,6 +27,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithMessage:(NSString *)message timeout:(NSNumber *)timeout softButtons:(NSArray *)softButtons;
+
/**
* @abstract A Body of text that can include newlines and tabs
* @discussion A String value representing the Body of text that can include
diff --git a/SmartDeviceLink/SDLScrollableMessage.m b/SmartDeviceLink/SDLScrollableMessage.m
index 5995e7874..79b5d5aa0 100644
--- a/SmartDeviceLink/SDLScrollableMessage.m
+++ b/SmartDeviceLink/SDLScrollableMessage.m
@@ -21,6 +21,15 @@
return self;
}
+- (instancetype)initWithMessage:(NSString *)message timeout:(NSNumber *)timeout softButtons:(NSArray *)softButtons {
+ if (self = [self init]) {
+ self.scrollableMessageBody = message;
+ self.timeout = timeout;
+ self.softButtons = [softButtons mutableCopy];
+ }
+ return self;
+}
+
- (void)setScrollableMessageBody:(NSString *)scrollableMessageBody {
if (scrollableMessageBody != nil) {
[parameters setObject:scrollableMessageBody forKey:NAMES_scrollableMessageBody];
diff --git a/SmartDeviceLink/SDLSendLocation.h b/SmartDeviceLink/SDLSendLocation.h
index cec60c422..48abba5cc 100644
--- a/SmartDeviceLink/SDLSendLocation.h
+++ b/SmartDeviceLink/SDLSendLocation.h
@@ -3,6 +3,7 @@
// SmartDeviceLink
#import <Foundation/Foundation.h>
+#import <CoreGraphics/CGBase.h>
#import "SDLImage.h"
#import "SDLRPCRequest.h"
@@ -13,6 +14,8 @@
- (instancetype)init;
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithLongitude:(CGFloat)longitude latitude:(CGFloat)latitude locationName:(NSString *)locationName locationDescription:(NSString *)locationDescription address:(NSArray *)address phoneNumber:(NSString *)phoneNumber image:(SDLImage *)image;
+
/**
* The longitudinal coordinate of the location.
*
diff --git a/SmartDeviceLink/SDLSendLocation.m b/SmartDeviceLink/SDLSendLocation.m
index 7bf1c5c70..afdfcf809 100644
--- a/SmartDeviceLink/SDLSendLocation.m
+++ b/SmartDeviceLink/SDLSendLocation.m
@@ -27,6 +27,19 @@
return self;
}
+- (instancetype)initWithLongitude:(CGFloat)longitude latitude:(CGFloat)latitude locationName:(NSString *)locationName locationDescription:(NSString *)locationDescription address:(NSArray *)address phoneNumber:(NSString *)phoneNumber image:(SDLImage *)image {
+ if (self = [self init]) {
+ self.longitudeDegrees = @(longitude);
+ self.latitudeDegrees = @(latitude);
+ self.locationName = locationName;
+ self.locationDescription = locationDescription;
+ self.addressLines = address;
+ self.phoneNumber = phoneNumber;
+ self.locationImage = image;
+ }
+ return self;
+}
+
- (void)setLongitudeDegrees:(NSNumber *)longitudeDegrees {
if (longitudeDegrees != nil) {
parameters[NAMES_longitudeDegrees] = longitudeDegrees;
diff --git a/SmartDeviceLink/SDLSetAppIcon.h b/SmartDeviceLink/SDLSetAppIcon.h
index eee61deb5..17b30ad00 100644
--- a/SmartDeviceLink/SDLSetAppIcon.h
+++ b/SmartDeviceLink/SDLSetAppIcon.h
@@ -24,6 +24,9 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithFileName:(NSString *)fileName;
+
+
/**
* @abstract A file reference name
* @discussion A String value representing a file reference name
diff --git a/SmartDeviceLink/SDLSetAppIcon.m b/SmartDeviceLink/SDLSetAppIcon.m
index 717eeb023..dcc5c6da1 100644
--- a/SmartDeviceLink/SDLSetAppIcon.m
+++ b/SmartDeviceLink/SDLSetAppIcon.m
@@ -20,6 +20,13 @@
return self;
}
+- (instancetype)initWithFileName:(NSString *)fileName {
+ if (self = [self init]) {
+ self.syncFileName = fileName;
+ }
+ return self;
+}
+
- (void)setSyncFileName:(NSString *)syncFileName {
if (syncFileName != nil) {
[parameters setObject:syncFileName forKey:NAMES_syncFileName];
diff --git a/SmartDeviceLink/SDLSetDisplayLayout.h b/SmartDeviceLink/SDLSetDisplayLayout.h
index 15226a821..eae57de46 100644
--- a/SmartDeviceLink/SDLSetDisplayLayout.h
+++ b/SmartDeviceLink/SDLSetDisplayLayout.h
@@ -4,6 +4,8 @@
#import "SDLRPCRequest.h"
+@class SDLPredefinedLayout;
+
/**
* Used to set an alternate display layout. If not sent, default screen for
* given platform will be shown
@@ -24,6 +26,11 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithPredefinedLayout:(SDLPredefinedLayout *)predefinedLayout;
+
+- (instancetype)initWithLayout:(NSString *)displayLayout;
+
+
/**
* @abstract A display layout. Predefined or dynamically created screen layout.
* Currently only predefined screen layouts are defined. Predefined layouts
diff --git a/SmartDeviceLink/SDLSetDisplayLayout.m b/SmartDeviceLink/SDLSetDisplayLayout.m
index ed812f647..d6b835b9f 100644
--- a/SmartDeviceLink/SDLSetDisplayLayout.m
+++ b/SmartDeviceLink/SDLSetDisplayLayout.m
@@ -5,6 +5,7 @@
#import "SDLSetDisplayLayout.h"
#import "SDLNames.h"
+#import "SDLPredefinedLayout.h"
@implementation SDLSetDisplayLayout
@@ -20,6 +21,19 @@
return self;
}
+- (instancetype)initWithPredefinedLayout:(SDLPredefinedLayout *)predefinedLayout {
+ if (self = [self initWithLayout:predefinedLayout.value]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithLayout:(NSString *)displayLayout {
+ if (self = [self init]) {
+ self.displayLayout = displayLayout;
+ }
+ return self;
+}
+
- (void)setDisplayLayout:(NSString *)displayLayout {
if (displayLayout != nil) {
[parameters setObject:displayLayout forKey:NAMES_displayLayout];
diff --git a/SmartDeviceLink/SDLSetGlobalProperties.h b/SmartDeviceLink/SDLSetGlobalProperties.h
index 7ad36e8d5..b7d4900a0 100644
--- a/SmartDeviceLink/SDLSetGlobalProperties.h
+++ b/SmartDeviceLink/SDLSetGlobalProperties.h
@@ -31,6 +31,11 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithHelpText:(NSString *)helpText timeoutText:(NSString *)timeoutText;
+
+- (instancetype)initWithHelpText:(NSString *)helpText timeoutText:(NSString *)timeoutText vrHelpTitle:(NSString *)vrHelpTitle vrHelp:(NSArray *)vrHelp;
+
+
/**
* @abstract Sets a Vector<TTSChunk> for Help Prompt that Array of one or more
* TTSChunk elements specifying the help prompt used in an interaction
diff --git a/SmartDeviceLink/SDLSetGlobalProperties.m b/SmartDeviceLink/SDLSetGlobalProperties.m
index ba9749e3e..1a3912302 100644
--- a/SmartDeviceLink/SDLSetGlobalProperties.m
+++ b/SmartDeviceLink/SDLSetGlobalProperties.m
@@ -8,6 +8,7 @@
#import "SDLKeyboardProperties.h"
#import "SDLNames.h"
#import "SDLTTSChunk.h"
+#import "SDLTTSChunkFactory.h"
#import "SDLVRHelpItem.h"
@@ -25,6 +26,23 @@
return self;
}
+- (instancetype)initWithHelpText:(NSString *)helpText timeoutText:(NSString *)timeoutText {
+ if (self = [self initWithHelpText:helpText timeoutText:timeoutText vrHelpTitle:nil vrHelp:nil]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithHelpText:(NSString *)helpText timeoutText:(NSString *)timeoutText vrHelpTitle:(NSString *)vrHelpTitle vrHelp:(NSArray *)vrHelp {
+ if (self = [self init]) {
+ self.helpPrompt = [SDLTTSChunkFactory buildTTSChunksFromSimple:helpText];
+ self.timeoutPrompt = [SDLTTSChunkFactory buildTTSChunksFromSimple:timeoutText];
+ self.vrHelpTitle = vrHelpTitle;
+ self.vrHelp = [vrHelp mutableCopy];
+ }
+ return self;
+}
+
+
- (void)setHelpPrompt:(NSMutableArray *)helpPrompt {
if (helpPrompt != nil) {
[parameters setObject:helpPrompt forKey:NAMES_helpPrompt];
diff --git a/SmartDeviceLink/SDLSetMediaClockTimer.h b/SmartDeviceLink/SDLSetMediaClockTimer.h
index 71de56b35..ad8380f94 100644
--- a/SmartDeviceLink/SDLSetMediaClockTimer.h
+++ b/SmartDeviceLink/SDLSetMediaClockTimer.h
@@ -31,6 +31,10 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithHours:(NSInteger)hours minutes:(NSInteger)minutes seconds:(NSInteger)seconds updateMode:(SDLUpdateMode *)updateMode;
+
+- (instancetype)initWithUpdateMode:(SDLUpdateMode *)updateMode;
+
/**
* @abstract A Start Time with specifying hour, minute, second values
*
diff --git a/SmartDeviceLink/SDLSetMediaClockTimer.m b/SmartDeviceLink/SDLSetMediaClockTimer.m
index 325d0e347..e28388335 100644
--- a/SmartDeviceLink/SDLSetMediaClockTimer.m
+++ b/SmartDeviceLink/SDLSetMediaClockTimer.m
@@ -23,6 +23,21 @@
return self;
}
+
+- (instancetype)initWithHours:(NSInteger)hours minutes:(NSInteger)minutes seconds:(NSInteger)seconds updateMode:(SDLUpdateMode *)updateMode {
+ if (self = [self initWithUpdateMode:updateMode]) {
+ self.startTime = [[SDLStartTime alloc] initWithHours:hours minutes:minutes seconds:seconds];
+ }
+ return self;
+}
+
+- (instancetype)initWithUpdateMode:(SDLUpdateMode *)updateMode {
+ if (self = [self init]) {
+ self.updateMode = updateMode;
+ }
+ return self;
+}
+
- (void)setStartTime:(SDLStartTime *)startTime {
if (startTime != nil) {
[parameters setObject:startTime forKey:NAMES_startTime];
diff --git a/SmartDeviceLink/SDLShow.h b/SmartDeviceLink/SDLShow.h
index 20cf84a92..a6deb9962 100644
--- a/SmartDeviceLink/SDLShow.h
+++ b/SmartDeviceLink/SDLShow.h
@@ -42,6 +42,13 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 alignment:(SDLTextAlignment *)alignment;
+
+- (instancetype)initWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 statusBar:(NSString *)statusBar mediaClock:(NSString *)mediaClock mediaTrack:(NSString *)mediaTrack alignment:(SDLTextAlignment *)alignment;
+
+- (instancetype)initWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 mainField3:(NSString *)mainField3 mainField4:(NSString *)mainField4 statusBar:(NSString *)statusBar mediaClock:(NSString *)mediaClock mediaTrack:(NSString *)mediaTrack alignment:(SDLTextAlignment *)alignment graphic:(SDLImage *)graphic softButtons:(NSArray *)softButtons customPresets:(NSArray *)customPresets;
+
+
/**
* @abstract The text displayed in a single-line display, or in the upper display
* line in a two-line display
diff --git a/SmartDeviceLink/SDLShow.m b/SmartDeviceLink/SDLShow.m
index 933167159..6448e7065 100644
--- a/SmartDeviceLink/SDLShow.m
+++ b/SmartDeviceLink/SDLShow.m
@@ -24,6 +24,35 @@
return self;
}
+- (instancetype)initWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 alignment:(SDLTextAlignment *)alignment {
+ if (self = [self initWithMainField1:mainField1 mainField2:mainField2 statusBar:nil mediaClock:nil mediaTrack:nil alignment:alignment]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 statusBar:(NSString *)statusBar mediaClock:(NSString *)mediaClock mediaTrack:(NSString *)mediaTrack alignment:(SDLTextAlignment *)Alignment {
+ if (self = [self initWithMainField1:mainField1 mainField2:mainField2 mainField3:nil mainField4:nil statusBar:statusBar mediaClock:mediaClock mediaTrack:mediaTrack alignment:Alignment graphic:nil softButtons:nil customPresets:nil]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithMainField1:(NSString *)mainField1 mainField2:(NSString *)mainField2 mainField3:(NSString *)mainField3 mainField4:(NSString *)mainField4 statusBar:(NSString *)statusBar mediaClock:(NSString *)mediaClock mediaTrack:(NSString *)mediaTrack alignment:(SDLTextAlignment *)alignment graphic:(SDLImage *)graphic softButtons:(NSArray *)softButtons customPresets:(NSArray *)customPresets {
+ if (self = [self init]) {
+ self.mainField1 = mainField1;
+ self.mainField2 = mainField2;
+ self.mainField3 = mainField3;
+ self.mainField4 = mainField4;
+ self.statusBar = statusBar;
+ self.mediaClock = mediaClock;
+ self.mediaTrack = mediaTrack;
+ self.alignment = alignment;
+ self.graphic = graphic;
+ self.softButtons = [softButtons mutableCopy];
+ self.customPresets = [customPresets mutableCopy];
+ }
+ return self;
+}
+
- (void)setMainField1:(NSString *)mainField1 {
if (mainField1 != nil) {
[parameters setObject:mainField1 forKey:NAMES_mainField1];
diff --git a/SmartDeviceLink/SDLShowConstantTBT.h b/SmartDeviceLink/SDLShowConstantTBT.h
index ae5dda108..1ff6dc89b 100644
--- a/SmartDeviceLink/SDLShowConstantTBT.h
+++ b/SmartDeviceLink/SDLShowConstantTBT.h
@@ -18,6 +18,8 @@
- (instancetype)init;
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithNavigationText1:(NSString *)navigationText1 navigationText2:(NSString *)navigationText2 eta:(NSString *)eta timeToDestination:(NSString *)timeToDestination totalDistance:(NSString *)totalDistance turnIcon:(SDLImage *)turnIcon nextTurnIcon:(SDLImage *)nextTurnIcon distanceToManeuver:(NSNumber *)distanceToManeuver distanceToManeuverScale:(NSNumber *)distanceToManeuverScale maneuverComplete:(BOOL)maneuverComplete softButtons:(NSArray *)softButtons;
+
@property (strong) NSString *navigationText1;
@property (strong) NSString *navigationText2;
@property (strong) NSString *eta;
diff --git a/SmartDeviceLink/SDLShowConstantTBT.m b/SmartDeviceLink/SDLShowConstantTBT.m
index c3f87f071..175895c66 100644
--- a/SmartDeviceLink/SDLShowConstantTBT.m
+++ b/SmartDeviceLink/SDLShowConstantTBT.m
@@ -23,6 +23,23 @@
return self;
}
+- (instancetype)initWithNavigationText1:(NSString *)navigationText1 navigationText2:(NSString *)navigationText2 eta:(NSString *)eta timeToDestination:(NSString *)timeToDestination totalDistance:(NSString *)totalDistance turnIcon:(SDLImage *)turnIcon nextTurnIcon:(SDLImage *)nextTurnIcon distanceToManeuver:(NSNumber *)distanceToManeuver distanceToManeuverScale:(NSNumber *)distanceToManeuverScale maneuverComplete:(BOOL)maneuverComplete softButtons:(NSArray *)softButtons {
+ if (self = [self init]) {
+ self.navigationText1 = navigationText1;
+ self.navigationText2 = navigationText2;
+ self.eta = eta;
+ self.timeToDestination = timeToDestination;
+ self.totalDistance = totalDistance;
+ self.turnIcon = turnIcon;
+ self.nextTurnIcon = nextTurnIcon;
+ self.distanceToManeuver = distanceToManeuver;
+ self.distanceToManeuverScale = self.distanceToManeuverScale;
+ self.maneuverComplete = @(maneuverComplete);
+ self.softButtons = [softButtons mutableCopy];
+ }
+ return self;
+}
+
- (void)setNavigationText1:(NSString *)navigationText1 {
if (navigationText1 != nil) {
[parameters setObject:navigationText1 forKey:NAMES_navigationText1];
diff --git a/SmartDeviceLink/SDLSlider.h b/SmartDeviceLink/SDLSlider.h
index 04724d780..1caee91ae 100644
--- a/SmartDeviceLink/SDLSlider.h
+++ b/SmartDeviceLink/SDLSlider.h
@@ -25,6 +25,10 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithNumTicks:(NSNumber *)numTicks position:(NSNumber *)position sliderHeader:(NSString *)sliderHeader sliderFooter:(NSString *)sliderFooter timeout:(NSNumber *)timeout;
+
+- (instancetype)initWithNumTicks:(NSNumber *)numTicks position:(NSNumber *)position sliderHeader:(NSString *)sliderHeader sliderFooters:(NSArray *)sliderFooters timeout:(NSNumber *)timeout;
+
/**
* @abstract Represents a number of selectable items on a horizontal axis
*
diff --git a/SmartDeviceLink/SDLSlider.m b/SmartDeviceLink/SDLSlider.m
index 80a56d1aa..50cb55e04 100644
--- a/SmartDeviceLink/SDLSlider.m
+++ b/SmartDeviceLink/SDLSlider.m
@@ -20,6 +20,31 @@
return self;
}
+- (instancetype)initWithNumTicks:(NSNumber *)numTicks position:(NSNumber *)position sliderHeader:(NSString *)sliderHeader sliderFooter:(NSString *)sliderFooter timeout:(NSNumber *)timeout {
+
+ NSMutableArray *sliderFooters = [NSMutableArray arrayWithCapacity:numTicks.unsignedIntegerValue];
+
+ // Populates array with the same footer value for each position
+ for (int i = 0; i < sliderFooters.count; i++) {
+ sliderFooters[0] = sliderFooter;
+ }
+
+ if (self = [self initWithNumTicks:numTicks position:position sliderHeader:sliderHeader sliderFooter:[sliderFooters copy] timeout:timeout]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithNumTicks:(NSNumber *)numTicks position:(NSNumber *)position sliderHeader:(NSString *)sliderHeader sliderFooters:(NSArray *)sliderFooters timeout:(NSNumber *)timeout {
+ if (self = [self init]) {
+ self.numTicks = numTicks;
+ self.position = position;
+ self.sliderHeader = sliderHeader;
+ self.sliderFooter = [sliderFooters mutableCopy];
+ self.timeout = timeout;
+ }
+ return self;
+}
+
- (void)setNumTicks:(NSNumber *)numTicks {
if (numTicks != nil) {
[parameters setObject:numTicks forKey:NAMES_numTicks];
diff --git a/SmartDeviceLink/SDLSoftButton.h b/SmartDeviceLink/SDLSoftButton.h
index aeefc8a9c..cfc62a33e 100644
--- a/SmartDeviceLink/SDLSoftButton.h
+++ b/SmartDeviceLink/SDLSoftButton.h
@@ -18,6 +18,8 @@
- (instancetype)initWithHandler:(SDLRPCNotificationHandler)handler;
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithType:(SDLSoftButtonType *)tyle text:(NSString *)text image:(SDLImage *)image highlighted:(BOOL)highlighted buttonId:(UInt16)buttonId systemAction:(SDLSystemAction *)systemAction handler:(SDLRPCNotificationHandler)handler;
+
@property (copy, nonatomic) SDLRPCNotificationHandler handler;
@property (strong) SDLSoftButtonType *type;
diff --git a/SmartDeviceLink/SDLSoftButton.m b/SmartDeviceLink/SDLSoftButton.m
index 201144f20..9f01b78bf 100644
--- a/SmartDeviceLink/SDLSoftButton.m
+++ b/SmartDeviceLink/SDLSoftButton.m
@@ -34,6 +34,19 @@
return self;
}
+- (instancetype)initWithType:(SDLSoftButtonType *)type text:(NSString *)text image:(SDLImage *)image highlighted:(BOOL)highlighted buttonId:(UInt16)buttonId systemAction:(SDLSystemAction *)systemAction handler:(SDLRPCNotificationHandler)handler {
+ if (self = [self init]) {
+ self.type = type;
+ self.text = text;
+ self.image = image;
+ self.isHighlighted = @(highlighted);
+ self.softButtonID = @(buttonId);
+ self.systemAction = systemAction;
+ self.handler = handler;
+ }
+ return self;
+}
+
- (void)setType:(SDLSoftButtonType *)type {
if (type != nil) {
[store setObject:type forKey:NAMES_type];
diff --git a/SmartDeviceLink/SDLSpeak.h b/SmartDeviceLink/SDLSpeak.h
index 8e6eb8e7e..17c8a1f05 100644
--- a/SmartDeviceLink/SDLSpeak.h
+++ b/SmartDeviceLink/SDLSpeak.h
@@ -50,6 +50,10 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithTTS:(NSString *)ttsText;
+
+- (instancetype)initWithTTSChunks:(NSArray *)ttsChunks;
+
/**
* @abstract An array of TTSChunk structs which, taken together, specify the phrase to be spoken
*
diff --git a/SmartDeviceLink/SDLSpeak.m b/SmartDeviceLink/SDLSpeak.m
index 8f19b925b..f0b75aceb 100644
--- a/SmartDeviceLink/SDLSpeak.m
+++ b/SmartDeviceLink/SDLSpeak.m
@@ -6,6 +6,7 @@
#import "SDLNames.h"
#import "SDLTTSChunk.h"
+#import "SDLTTSChunkFactory.h"
@implementation SDLSpeak
@@ -21,6 +22,20 @@
return self;
}
+- (instancetype)initWithTTS:(NSString *)ttsText {
+ NSMutableArray* ttsChunks = [SDLTTSChunkFactory buildTTSChunksFromSimple:ttsText];
+ if (self = [self initWithTTSChunks:ttsChunks]) {
+ }
+ return self;
+}
+
+- (instancetype)initWithTTSChunks:(NSArray *)ttsChunks {
+ if (self = [self init]) {
+ self.ttsChunks = [ttsChunks mutableCopy];
+ }
+ return self;
+}
+
- (void)setTtsChunks:(NSMutableArray *)ttsChunks {
if (ttsChunks != nil) {
[parameters setObject:ttsChunks forKey:NAMES_ttsChunks];
diff --git a/SmartDeviceLink/SDLStartTime.h b/SmartDeviceLink/SDLStartTime.h
index 55eb147d6..da350b37e 100644
--- a/SmartDeviceLink/SDLStartTime.h
+++ b/SmartDeviceLink/SDLStartTime.h
@@ -23,6 +23,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithHours:(NSInteger)hours minutes:(NSInteger)minutes seconds:(NSInteger)seconds;
+
/**
* @abstract The hour of the media clock
*
diff --git a/SmartDeviceLink/SDLStartTime.m b/SmartDeviceLink/SDLStartTime.m
index 4745bf712..d17575ff5 100644
--- a/SmartDeviceLink/SDLStartTime.m
+++ b/SmartDeviceLink/SDLStartTime.m
@@ -20,6 +20,15 @@
return self;
}
+- (instancetype)initWithHours:(NSInteger)hours minutes:(NSInteger)minutes seconds:(NSInteger)seconds {
+ if (self = [super init]) {
+ self.hours = @(hours);
+ self.minutes = @(minutes);
+ self.seconds = @(seconds);
+ }
+ return self;
+}
+
- (void)setHours:(NSNumber *)hours {
if (hours != nil) {
[store setObject:hours forKey:NAMES_hours];
diff --git a/SmartDeviceLink/SDLSubscribeButton.h b/SmartDeviceLink/SDLSubscribeButton.h
index 05c2acd23..9baa7d052 100644
--- a/SmartDeviceLink/SDLSubscribeButton.h
+++ b/SmartDeviceLink/SDLSubscribeButton.h
@@ -84,6 +84,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithButtonName:(SDLButtonName *)buttonName handler:(SDLRPCNotificationHandler)handler;
+
/**
* A handler that will let you know when the button you subscribed to is selected.
*
diff --git a/SmartDeviceLink/SDLSubscribeButton.m b/SmartDeviceLink/SDLSubscribeButton.m
index ee0191943..a90508fb6 100644
--- a/SmartDeviceLink/SDLSubscribeButton.m
+++ b/SmartDeviceLink/SDLSubscribeButton.m
@@ -33,6 +33,14 @@
return self;
}
+- (instancetype)initWithButtonName:(SDLButtonName *)buttonName handler:(SDLRPCNotificationHandler)handler {
+ if (self = [self init]) {
+ self.buttonName = buttonName;
+ self.handler = handler;
+ }
+ return self;
+}
+
- (void)setButtonName:(SDLButtonName *)buttonName {
if (buttonName != nil) {
[parameters setObject:buttonName forKey:NAMES_buttonName];
diff --git a/SmartDeviceLink/SDLSubscribeVehicleData.h b/SmartDeviceLink/SDLSubscribeVehicleData.h
index e357cd484..e0e5a799e 100644
--- a/SmartDeviceLink/SDLSubscribeVehicleData.h
+++ b/SmartDeviceLink/SDLSubscribeVehicleData.h
@@ -34,6 +34,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus;
+
/**
* @abstract A boolean value. If true, subscribes Gps data
*/
diff --git a/SmartDeviceLink/SDLSubscribeVehicleData.m b/SmartDeviceLink/SDLSubscribeVehicleData.m
index 55ec5e9d0..d12a68049 100644
--- a/SmartDeviceLink/SDLSubscribeVehicleData.m
+++ b/SmartDeviceLink/SDLSubscribeVehicleData.m
@@ -20,6 +20,36 @@
return self;
}
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus {
+ if (self = [self init]) {
+ self.accPedalPosition = @(accelerationPedalPosition);
+ self.airbagStatus = @(airbagStatus);
+ self.beltStatus = @(beltStatus);
+ self.bodyInformation = @(bodyInformation);
+ self.clusterModeStatus = @(clusterModeStatus);
+ self.deviceStatus = @(deviceStatus);
+ self.driverBraking = @(driverBraking);
+ self.eCallInfo = @(eCallInfo);
+ self.emergencyEvent = @(emergencyEvent);
+ self.engineTorque = @(engineTorque);
+ self.externalTemperature = @(externalTemperature);
+ self.fuelLevel = @(fuelLevel);
+ self.fuelLevel_State = @(fuelLevelState);
+ self.myKey = @(myKey);
+ self.odometer = @(odometer);
+ self.gps = @(gps);
+ self.headLampStatus = @(headLampStatus);
+ self.instantFuelConsumption = @(instantFuelConsumption);
+ self.prndl = @(prndl);
+ self.rpm = @(rpm);
+ self.speed = @(speed);
+ self.steeringWheelAngle = @(steeringWheelAngle);
+ self.tirePressure = @(tirePressure);
+ self.wiperStatus = @(wiperStatus);
+ }
+ return self;
+}
+
- (void)setGps:(NSNumber *)gps {
if (gps != nil) {
[parameters setObject:gps forKey:NAMES_gps];
diff --git a/SmartDeviceLink/SDLSyncMsgVersion.h b/SmartDeviceLink/SDLSyncMsgVersion.h
index 98b573eec..8e4e16eae 100644
--- a/SmartDeviceLink/SDLSyncMsgVersion.h
+++ b/SmartDeviceLink/SDLSyncMsgVersion.h
@@ -23,6 +23,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithMajorVersion:(NSInteger)majorVersion minorVersion:(NSInteger)minorVersion;
+
/**
* @abstract The major version indicates versions that is not-compatible to previous versions
*
diff --git a/SmartDeviceLink/SDLSyncMsgVersion.m b/SmartDeviceLink/SDLSyncMsgVersion.m
index 2d516539e..8b3e3c8a2 100644
--- a/SmartDeviceLink/SDLSyncMsgVersion.m
+++ b/SmartDeviceLink/SDLSyncMsgVersion.m
@@ -20,6 +20,14 @@
return self;
}
+- (instancetype)initWithMajorVersion:(NSInteger)majorVersion minorVersion:(NSInteger)minorVersion {
+ if (self = [self init]) {
+ self.majorVersion = @(majorVersion);
+ self.minorVersion = @(minorVersion);
+ }
+ return self;
+}
+
- (void)setMajorVersion:(NSNumber *)majorVersion {
if (majorVersion != nil) {
[store setObject:majorVersion forKey:NAMES_majorVersion];
diff --git a/SmartDeviceLink/SDLSystemRequest.h b/SmartDeviceLink/SDLSystemRequest.h
index 479b5d18e..4492760ca 100644
--- a/SmartDeviceLink/SDLSystemRequest.h
+++ b/SmartDeviceLink/SDLSystemRequest.h
@@ -17,6 +17,8 @@
- (instancetype)init;
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithType:(SDLRequestType *)requestType fileName:(NSString *)fileName;
+
@property (strong) SDLRequestType *requestType;
@property (strong) NSString *fileName;
diff --git a/SmartDeviceLink/SDLSystemRequest.m b/SmartDeviceLink/SDLSystemRequest.m
index 836b44447..6ac5fa92e 100644
--- a/SmartDeviceLink/SDLSystemRequest.m
+++ b/SmartDeviceLink/SDLSystemRequest.m
@@ -22,6 +22,14 @@
return self;
}
+- (instancetype)initWithType:(SDLRequestType *)requestType fileName:(NSString *)fileName {
+ if (self = [self init]) {
+ self.requestType = requestType;
+ self.fileName = fileName;
+ }
+ return self;
+}
+
- (void)setRequestType:(SDLRequestType *)requestType {
if (requestType != nil) {
[parameters setObject:requestType forKey:NAMES_requestType];
diff --git a/SmartDeviceLink/SDLUnsubscribeButton.h b/SmartDeviceLink/SDLUnsubscribeButton.h
index bb16f43f5..b2ed32e00 100644
--- a/SmartDeviceLink/SDLUnsubscribeButton.h
+++ b/SmartDeviceLink/SDLUnsubscribeButton.h
@@ -33,6 +33,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithButtonName:(SDLButtonName *)buttonName;
+
/**
* @abstract A name of the button to unsubscribe from
* @discussion An Enumeration value, see <i>
diff --git a/SmartDeviceLink/SDLUnsubscribeButton.m b/SmartDeviceLink/SDLUnsubscribeButton.m
index 9853fa9da..c4f05c23f 100644
--- a/SmartDeviceLink/SDLUnsubscribeButton.m
+++ b/SmartDeviceLink/SDLUnsubscribeButton.m
@@ -22,6 +22,13 @@
return self;
}
+- (instancetype)initWithButtonName:(SDLButtonName *)buttonName {
+ if (self = [self init]) {
+ self.buttonName = buttonName;
+ }
+ return self;
+}
+
- (void)setButtonName:(SDLButtonName *)buttonName {
if (buttonName != nil) {
[parameters setObject:buttonName forKey:NAMES_buttonName];
diff --git a/SmartDeviceLink/SDLUnsubscribeVehicleData.h b/SmartDeviceLink/SDLUnsubscribeVehicleData.h
index 389173256..47cd85322 100644
--- a/SmartDeviceLink/SDLUnsubscribeVehicleData.h
+++ b/SmartDeviceLink/SDLUnsubscribeVehicleData.h
@@ -31,6 +31,8 @@
*/
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus;
+
/**
* @abstract A boolean value. If true, unsubscribes Gps data
*/
diff --git a/SmartDeviceLink/SDLUnsubscribeVehicleData.m b/SmartDeviceLink/SDLUnsubscribeVehicleData.m
index 11aa044e1..20b9ce913 100644
--- a/SmartDeviceLink/SDLUnsubscribeVehicleData.m
+++ b/SmartDeviceLink/SDLUnsubscribeVehicleData.m
@@ -20,6 +20,36 @@
return self;
}
+- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo emergencyEvent:(BOOL)emergencyEvent engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure wiperStatus:(BOOL)wiperStatus {
+ if (self = [self init]) {
+ self.accPedalPosition = @(accelerationPedalPosition);
+ self.airbagStatus = @(airbagStatus);
+ self.beltStatus = @(beltStatus);
+ self.bodyInformation = @(bodyInformation);
+ self.clusterModeStatus = @(clusterModeStatus);
+ self.deviceStatus = @(deviceStatus);
+ self.driverBraking = @(driverBraking);
+ self.eCallInfo = @(eCallInfo);
+ self.emergencyEvent = @(emergencyEvent);
+ self.engineTorque = @(engineTorque);
+ self.externalTemperature = @(externalTemperature);
+ self.fuelLevel = @(fuelLevel);
+ self.fuelLevel_State = @(fuelLevelState);
+ self.myKey = @(myKey);
+ self.odometer = @(odometer);
+ self.gps = @(gps);
+ self.headLampStatus = @(headLampStatus);
+ self.instantFuelConsumption = @(instantFuelConsumption);
+ self.prndl = @(prndl);
+ self.rpm = @(rpm);
+ self.speed = @(speed);
+ self.steeringWheelAngle = @(steeringWheelAngle);
+ self.tirePressure = @(tirePressure);
+ self.wiperStatus = @(wiperStatus);
+ }
+ return self;
+}
+
- (void)setGps:(NSNumber *)gps {
if (gps != nil) {
[parameters setObject:gps forKey:NAMES_gps];
diff --git a/SmartDeviceLink/SDLUpdateTurnList.h b/SmartDeviceLink/SDLUpdateTurnList.h
index d5d9daf6a..f8419a9f4 100644
--- a/SmartDeviceLink/SDLUpdateTurnList.h
+++ b/SmartDeviceLink/SDLUpdateTurnList.h
@@ -15,6 +15,8 @@
- (instancetype)init;
- (instancetype)initWithDictionary:(NSMutableDictionary *)dict;
+- (instancetype)initWithTurnList:(NSArray *)turnList softButtons:(NSArray *)softButtons;
+
/**
* Optional, SDLTurn, 1 - 100 entries
*/
diff --git a/SmartDeviceLink/SDLUpdateTurnList.m b/SmartDeviceLink/SDLUpdateTurnList.m
index 7063c9c29..54d0d9555 100644
--- a/SmartDeviceLink/SDLUpdateTurnList.m
+++ b/SmartDeviceLink/SDLUpdateTurnList.m
@@ -22,6 +22,14 @@
return self;
}
+- (instancetype)initWithTurnList:(NSArray *)turnList softButtons:(NSArray *)softButtons {
+ if (self = [self init]) {
+ self.turnList = [turnList mutableCopy];
+ self.softButtons = [softButtons mutableCopy];
+ }
+ return self;
+}
+
- (void)setTurnList:(NSMutableArray *)turnList {
if (turnList != nil) {
[parameters setObject:turnList forKey:NAMES_turnList];