summaryrefslogtreecommitdiff
path: root/SmartDeviceLink/public/SDLBodyInformation.m
diff options
context:
space:
mode:
Diffstat (limited to 'SmartDeviceLink/public/SDLBodyInformation.m')
-rw-r--r--SmartDeviceLink/public/SDLBodyInformation.m52
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