diff options
Diffstat (limited to 'SmartDeviceLink/public/SDLBodyInformation.m')
-rw-r--r-- | SmartDeviceLink/public/SDLBodyInformation.m | 52 |
1 files changed, 50 insertions, 2 deletions
diff --git a/SmartDeviceLink/public/SDLBodyInformation.m b/SmartDeviceLink/public/SDLBodyInformation.m index fe8aa8b29..d3d6f917e 100644 --- a/SmartDeviceLink/public/SDLBodyInformation.m +++ b/SmartDeviceLink/public/SDLBodyInformation.m @@ -2,17 +2,41 @@ // -#import "SDLBodyInformation.h" - #import "NSMutableDictionary+Store.h" +#import "SDLBodyInformation.h" +#import "SDLDoorStatus.h" +#import "SDLGateStatus.h" #import "SDLIgnitionStableStatus.h" #import "SDLIgnitionStatus.h" #import "SDLRPCParameterNames.h" +#import "SDLRoofStatus.h" NS_ASSUME_NONNULL_BEGIN @implementation SDLBodyInformation +- (instancetype)initWithParkBrakeActive:(BOOL)parkBrakeActive ignitionStableStatus:(SDLIgnitionStableStatus)ignitionStableStatus ignitionStatus:(SDLIgnitionStatus)ignitionStatus { + self = [self init]; + if (!self) { + return nil; + } + self.parkBrakeActive = @(parkBrakeActive); + self.ignitionStableStatus = ignitionStableStatus; + self.ignitionStatus = ignitionStatus; + return self; +} + +- (instancetype)initWithParkBrakeActive:(BOOL)parkBrakeActive ignitionStableStatus:(SDLIgnitionStableStatus)ignitionStableStatus ignitionStatus:(SDLIgnitionStatus)ignitionStatus doorStatuses:(nullable NSArray<SDLDoorStatus *> *)doorStatuses gateStatuses:(nullable NSArray<SDLGateStatus *> *)gateStatuses roofStatuses:(nullable NSArray<SDLRoofStatus *> *)roofStatuses { + self = [self initWithParkBrakeActive:parkBrakeActive ignitionStableStatus:ignitionStableStatus ignitionStatus:ignitionStatus]; + if (!self) { + return nil; + } + self.doorStatuses = doorStatuses; + self.gateStatuses = gateStatuses; + self.roofStatuses = roofStatuses; + return self; +} + - (void)setParkBrakeActive:(NSNumber<SDLBool> *)parkBrakeActive { [self.store sdl_setObject:parkBrakeActive forName:SDLRPCParameterNameParkBrakeActive]; } @@ -72,6 +96,30 @@ NS_ASSUME_NONNULL_BEGIN return [self.store sdl_objectForName:SDLRPCParameterNameRearRightDoorAjar ofClass:NSNumber.class error:nil]; } +- (void)setDoorStatuses:(nullable NSArray<SDLDoorStatus *> *)doorStatuses { + [self.store sdl_setObject:doorStatuses forName:SDLRPCParameterNameDoorStatuses]; +} + +- (nullable NSArray<SDLDoorStatus *> *)doorStatuses { + return [self.store sdl_objectsForName:SDLRPCParameterNameDoorStatuses ofClass:SDLDoorStatus.class error:nil]; +} + +- (void)setGateStatuses:(nullable NSArray<SDLGateStatus *> *)gateStatuses { + [self.store sdl_setObject:gateStatuses forName:SDLRPCParameterNameGateStatuses]; +} + +- (nullable NSArray<SDLGateStatus *> *)gateStatuses { + return [self.store sdl_objectsForName:SDLRPCParameterNameGateStatuses ofClass:SDLGateStatus.class error:nil]; +} + +- (void)setRoofStatuses:(nullable NSArray<SDLRoofStatus *> *)roofStatuses { + [self.store sdl_setObject:roofStatuses forName:SDLRPCParameterNameRoofStatuses]; +} + +- (nullable NSArray<SDLRoofStatus *> *)roofStatuses { + return [self.store sdl_objectsForName:SDLRPCParameterNameRoofStatuses ofClass:SDLRoofStatus.class error:nil]; +} + @end NS_ASSUME_NONNULL_END |