// SDLSeatControlCapabilities.m // #import "SDLSeatControlCapabilities.h" #import "SDLRPCParameterNames.h" #import "NSMutableDictionary+Store.h" NS_ASSUME_NONNULL_BEGIN @implementation SDLSeatControlCapabilities - (instancetype)initWithName:(NSString *)moduleName { if (self = [super init]) { self.moduleName = moduleName; } return self; } - (instancetype)initWithName:(NSString *)moduleName moduleInfo:(nullable SDLModuleInfo *)moduleInfo { if (self = [super init]) { self.moduleName = moduleName; self.moduleInfo = moduleInfo; } return self; } - (instancetype)initWithName:(NSString *)moduleName heatingEnabledAvailable:(BOOL)heatingEnabledAvail coolingEnabledAvailable:(BOOL)coolingEnabledAvail heatingLevelAvailable:(BOOL)heatingLevelAvail coolingLevelAvailable:(BOOL)coolingLevelAvail horizontalPositionAvailable:(BOOL)horizontalPositionAvail verticalPositionAvailable:(BOOL)verticalPositionAvail frontVerticalPositionAvailable:(BOOL)frontVerticalPositionAvail backVerticalPositionAvailable:(BOOL)backVerticalPositionAvail backTiltAngleAvailable:(BOOL)backTitlAngleAvail headSupportHorizontalPositionAvailable:(BOOL)headSupportHorizontalPositionAvail headSupportVerticalPositionAvailable:(BOOL)headSupportVerticalPositionAvail massageEnabledAvailable:(BOOL)massageEnabledAvail massageModeAvailable:(BOOL)massageModeAvail massageCushionFirmnessAvailable:(BOOL)massageCushionFirmnessAvail memoryAvailable:(BOOL)memoryAvail { self = [super init]; if (!self) { return nil; } self.moduleName = moduleName; self.heatingEnabledAvailable = @(heatingEnabledAvail); self.coolingEnabledAvailable = @(coolingEnabledAvail); self.heatingLevelAvailable = @(heatingLevelAvail); self.coolingLevelAvailable = @(coolingLevelAvail); self.horizontalPositionAvailable = @(horizontalPositionAvail); self.verticalPositionAvailable = @(verticalPositionAvail); self.frontVerticalPositionAvailable = @(frontVerticalPositionAvail); self.backVerticalPositionAvailable = @(backVerticalPositionAvail); self.backTiltAngleAvailable = @(backTitlAngleAvail); self.headSupportVerticalPositionAvailable = @(headSupportVerticalPositionAvail); self.headSupportHorizontalPositionAvailable = @(headSupportHorizontalPositionAvail); self.massageEnabledAvailable = @(massageEnabledAvail); self.massageModeAvailable = @(massageModeAvail); self.massageCushionFirmnessAvailable = @(massageCushionFirmnessAvail); self.memoryAvailable = @(memoryAvail); return self; } - (instancetype)initWithName:(NSString *)moduleName moduleInfo:(nullable SDLModuleInfo *)moduleInfo heatingEnabledAvailable:(BOOL)heatingEnabledAvail coolingEnabledAvailable:(BOOL)coolingEnabledAvail heatingLevelAvailable:(BOOL)heatingLevelAvail coolingLevelAvailable:(BOOL)coolingLevelAvail horizontalPositionAvailable:(BOOL)horizontalPositionAvail verticalPositionAvailable:(BOOL)verticalPositionAvail frontVerticalPositionAvailable:(BOOL)frontVerticalPositionAvail backVerticalPositionAvailable:(BOOL)backVerticalPositionAvail backTiltAngleAvailable:(BOOL)backTitlAngleAvail headSupportHorizontalPositionAvailable:(BOOL)headSupportHorizontalPositionAvail headSupportVerticalPositionAvailable:(BOOL)headSupportVerticalPositionAvail massageEnabledAvailable:(BOOL)massageEnabledAvail massageModeAvailable:(BOOL)massageModeAvail massageCushionFirmnessAvailable:(BOOL)massageCushionFirmnessAvail memoryAvailable:(BOOL)memoryAvail { self = [super init]; if (!self) { return nil; } self.moduleName = moduleName; self.moduleInfo = moduleInfo; self.heatingEnabledAvailable = @(heatingEnabledAvail); self.coolingEnabledAvailable = @(coolingEnabledAvail); self.heatingLevelAvailable = @(heatingLevelAvail); self.coolingLevelAvailable = @(coolingLevelAvail); self.horizontalPositionAvailable = @(horizontalPositionAvail); self.verticalPositionAvailable = @(verticalPositionAvail); self.frontVerticalPositionAvailable = @(frontVerticalPositionAvail); self.backVerticalPositionAvailable = @(backVerticalPositionAvail); self.backTiltAngleAvailable = @(backTitlAngleAvail); self.headSupportVerticalPositionAvailable = @(headSupportVerticalPositionAvail); self.headSupportHorizontalPositionAvailable = @(headSupportHorizontalPositionAvail); self.massageEnabledAvailable = @(massageEnabledAvail); self.massageModeAvailable = @(massageModeAvail); self.massageCushionFirmnessAvailable = @(massageCushionFirmnessAvail); self.memoryAvailable = @(memoryAvail); return self; } - (void)setModuleName:(NSString *)moduleName { [self.store sdl_setObject:moduleName forName:SDLRPCParameterNameModuleName]; } - (NSString *)moduleName { NSError *error = nil; return [self.store sdl_objectForName:SDLRPCParameterNameModuleName ofClass:NSString.class error:&error]; } - (void)setHeatingEnabledAvailable:(nullable NSNumber *)heatingEnabledAvailable { [self.store sdl_setObject:heatingEnabledAvailable forName:SDLRPCParameterNameHeatingEnabledAvailable]; } - (nullable NSNumber *)heatingEnabledAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameHeatingEnabledAvailable ofClass:NSNumber.class error:nil]; } - (void)setCoolingEnabledAvailable:(nullable NSNumber *)coolingEnabledAvailable { [self.store sdl_setObject:coolingEnabledAvailable forName:SDLRPCParameterNameCoolingEnabledAvailable]; } - (nullable NSNumber *)coolingEnabledAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameCoolingEnabledAvailable ofClass:NSNumber.class error:nil]; } - (void)setHeatingLevelAvailable:(nullable NSNumber *)heatingLevelAvailable { [self.store sdl_setObject:heatingLevelAvailable forName:SDLRPCParameterNameHeatingLevelAvailable]; } - (nullable NSNumber *)heatingLevelAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameHeatingLevelAvailable ofClass:NSNumber.class error:nil]; } - (void)setCoolingLevelAvailable:(nullable NSNumber *)coolingLevelAvailable { [self.store sdl_setObject:coolingLevelAvailable forName:SDLRPCParameterNameCoolingLevelAvailable]; } - (nullable NSNumber *)coolingLevelAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameCoolingLevelAvailable ofClass:NSNumber.class error:nil]; } - (void)setHorizontalPositionAvailable:(nullable NSNumber *)horizontalPositionAvailable { [self.store sdl_setObject:horizontalPositionAvailable forName:SDLRPCParameterNameHorizontalPositionAvailable]; } - (nullable NSNumber *)horizontalPositionAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameHorizontalPositionAvailable ofClass:NSNumber.class error:nil]; } - (void)setVerticalPositionAvailable:(nullable NSNumber *)verticalPositionAvailable { [self.store sdl_setObject:verticalPositionAvailable forName:SDLRPCParameterNameVerticalPositionAvailable]; } - (nullable NSNumber *)verticalPositionAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameVerticalPositionAvailable ofClass:NSNumber.class error:nil]; } - (void)setFrontVerticalPositionAvailable:(nullable NSNumber *)frontVerticalPositionAvailable { [self.store sdl_setObject:frontVerticalPositionAvailable forName:SDLRPCParameterNameFrontVerticalPositionAvailable]; } - (nullable NSNumber *)frontVerticalPositionAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameFrontVerticalPositionAvailable ofClass:NSNumber.class error:nil]; } - (void)setBackVerticalPositionAvailable:(nullable NSNumber *)backVerticalPositionAvailable { [self.store sdl_setObject:backVerticalPositionAvailable forName:SDLRPCParameterNameBackVerticalPositionAvailable]; } - (nullable NSNumber *)backVerticalPositionAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameBackVerticalPositionAvailable ofClass:NSNumber.class error:nil]; } - (void)setBackTiltAngleAvailable:(nullable NSNumber *)backTiltAngleAvailable { [self.store sdl_setObject:backTiltAngleAvailable forName:SDLRPCParameterNameBackTiltAngleAvailable]; } - (nullable NSNumber *)backTiltAngleAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameBackTiltAngleAvailable ofClass:NSNumber.class error:nil]; } - (void)setHeadSupportHorizontalPositionAvailable:(nullable NSNumber *)headSupportHorizontalPositionAvailable { [self.store sdl_setObject:headSupportHorizontalPositionAvailable forName:SDLRPCParameterNameHeadSupportHorizontalPositionAvailable]; } - (nullable NSNumber *)headSupportHorizontalPositionAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameHeadSupportHorizontalPositionAvailable ofClass:NSNumber.class error:nil]; } - (void)setHeadSupportVerticalPositionAvailable:(nullable NSNumber *)headSupportVerticalPositionAvailable { [self.store sdl_setObject:headSupportVerticalPositionAvailable forName:SDLRPCParameterNameHeadSupportVerticalPositionAvailable]; } - (nullable NSNumber *)headSupportVerticalPositionAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameHeadSupportVerticalPositionAvailable ofClass:NSNumber.class error:nil]; } - (void)setMassageEnabledAvailable:(nullable NSNumber *)massageEnabledAvailable { [self.store sdl_setObject:massageEnabledAvailable forName:SDLRPCParameterNameMassageEnabledAvailable]; } - (nullable NSNumber *)massageEnabledAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameMassageEnabledAvailable ofClass:NSNumber.class error:nil]; } - (void)setMassageModeAvailable:(nullable NSNumber *)massageModeAvailable { [self.store sdl_setObject:massageModeAvailable forName:SDLRPCParameterNameMassageModeAvailable]; } - (nullable NSNumber *)massageModeAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameMassageModeAvailable ofClass:NSNumber.class error:nil]; } - (void)setMassageCushionFirmnessAvailable:(nullable NSNumber *)massageCushionFirmnessAvailable { [self.store sdl_setObject:massageCushionFirmnessAvailable forName:SDLRPCParameterNameMassageCushionFirmnessAvailable]; } - (nullable NSNumber *)massageCushionFirmnessAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameMassageCushionFirmnessAvailable ofClass:NSNumber.class error:nil]; } - (void)setMemoryAvailable:(nullable NSNumber *)memoryAvailable { [self.store sdl_setObject:memoryAvailable forName:SDLRPCParameterNameMemoryAvailable]; } - (nullable NSNumber *)memoryAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameMemoryAvailable ofClass:NSNumber.class error:nil]; } - (void)setModuleInfo:(nullable SDLModuleInfo *)moduleInfo { [self.store sdl_setObject:moduleInfo forName:SDLRPCParameterNameModuleInfo]; } - (nullable SDLModuleInfo *)moduleInfo { return [self.store sdl_objectForName:SDLRPCParameterNameModuleInfo ofClass:SDLModuleInfo.class error:nil]; } @end NS_ASSUME_NONNULL_END