summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/SDLAddCommand.m
diff options
context:
space:
mode:
Diffstat (limited to 'SmartDeviceLink/SDLAddCommand.m')
-rw-r--r--SmartDeviceLink/SDLAddCommand.m48
1 files changed, 26 insertions, 22 deletions
diff --git a/SmartDeviceLink/SDLAddCommand.m b/SmartDeviceLink/SDLAddCommand.m
index 454e41815..ddf4ee4ce 100644
--- a/SmartDeviceLink/SDLAddCommand.m
+++ b/SmartDeviceLink/SDLAddCommand.m
@@ -9,6 +9,8 @@
#import "SDLMenuParams.h"
#import "SDLNames.h"
+NS_ASSUME_NONNULL_BEGIN
+
@implementation SDLAddCommand
- (instancetype)init {
@@ -17,7 +19,7 @@
return self;
}
-- (instancetype)initWithHandler:(SDLRPCNotificationHandler)handler {
+- (instancetype)initWithHandler:(nullable SDLRPCNotificationHandler)handler {
self = [self init];
if (!self) {
return nil;
@@ -28,29 +30,31 @@
return self;
}
-- (instancetype)initWithId:(UInt32)commandId vrCommands:(NSArray<NSString *> *)vrCommands handler:(SDLRPCNotificationHandler)handler {
- return [self initWithId:commandId vrCommands:vrCommands menuName:nil handler:handler];
-}
-
-- (instancetype)initWithId:(UInt32)commandId vrCommands:(NSArray<NSString *> *)vrCommands menuName:(NSString *)menuName handler:(SDLRPCNotificationHandler)handler {
+- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray<NSString *> *)vrCommands handler:(nullable SDLRPCNotificationHandler)handler {
self = [self init];
if (!self) {
return nil;
}
-
+
self.cmdID = @(commandId);
-
- if (menuName != nil) {
- self.menuParams = [[SDLMenuParams alloc] initWithMenuName:menuName];
- }
-
self.vrCommands = [vrCommands mutableCopy];
self.handler = handler;
+
+ return self;
+}
+- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray<NSString *> *)vrCommands menuName:(NSString *)menuName handler:(SDLRPCNotificationHandler)handler {
+ self = [self initWithId:commandId vrCommands:vrCommands handler:handler];
+ if (!self) {
+ return nil;
+ }
+
+ self.menuParams = [[SDLMenuParams alloc] initWithMenuName:menuName];
+
return self;
}
-- (instancetype)initWithId:(UInt32)commandId vrCommands:(NSArray<NSString *> *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position iconValue:(NSString *)iconValue iconType:(SDLImageType)iconType handler:(SDLRPCNotificationHandler)handler {
+- (instancetype)initWithId:(UInt32)commandId vrCommands:(nullable NSArray<NSString *> *)vrCommands menuName:(NSString *)menuName parentId:(UInt32)parentId position:(UInt16)position iconValue:(NSString *)iconValue iconType:(SDLImageType)iconType handler:(nullable SDLRPCNotificationHandler)handler {
self = [self initWithId:commandId vrCommands:vrCommands menuName:menuName handler:handler];
if (!self) {
return nil;
@@ -59,9 +63,7 @@
self.menuParams.parentID = @(parentId);
self.menuParams.position = @(position);
- if (iconValue != nil && iconType != nil) {
- self.cmdIcon = [[SDLImage alloc] initWithName:iconValue ofType:iconType];
- }
+ self.cmdIcon = [[SDLImage alloc] initWithName:iconValue ofType:iconType];
return self;
}
@@ -74,28 +76,30 @@
return [parameters sdl_objectForName:SDLNameCommandId];
}
-- (void)setMenuParams:(SDLMenuParams *)menuParams {
+- (void)setMenuParams:(nullable SDLMenuParams *)menuParams {
[parameters sdl_setObject:menuParams forName:SDLNameMenuParams];
}
-- (SDLMenuParams *)menuParams {
+- (nullable SDLMenuParams *)menuParams {
return [parameters sdl_objectForName:SDLNameMenuParams ofClass:SDLMenuParams.class];
}
-- (void)setVrCommands:(NSMutableArray<NSString *> *)vrCommands {
+- (void)setVrCommands:(nullable NSMutableArray<NSString *> *)vrCommands {
[parameters sdl_setObject:vrCommands forName:SDLNameVRCommands];
}
-- (NSMutableArray<NSString *> *)vrCommands {
+- (nullable NSMutableArray<NSString *> *)vrCommands {
return [parameters sdl_objectForName:SDLNameVRCommands];
}
-- (void)setCmdIcon:(SDLImage *)cmdIcon {
+- (void)setCmdIcon:(nullable SDLImage *)cmdIcon {
[parameters sdl_setObject:cmdIcon forName:SDLNameCommandIcon];
}
-- (SDLImage *)cmdIcon {
+- (nullable SDLImage *)cmdIcon {
return [parameters sdl_objectForName:SDLNameCommandIcon ofClass:SDLImage.class];
}
@end
+
+NS_ASSUME_NONNULL_END