// // SDLClimateControlCapabilities.m // #import "SDLClimateControlCapabilities.h" #import "SDLRPCParameterNames.h" #import "NSMutableDictionary+Store.h" NS_ASSUME_NONNULL_BEGIN @implementation SDLClimateControlCapabilities - (instancetype)initWithModuleName:(NSString *)moduleName moduleInfo:(nullable SDLModuleInfo *)moduleInfo fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable heatedSteeringWheelAvailable:(BOOL)steeringWheelAvailable heatedWindshieldAvailable:(BOOL)windshieldAvailable heatedRearWindowAvailable:(BOOL)rearWindowAvailable heatedMirrorsAvailable:(BOOL)mirrorsAvailable climateEnableAvailable:(BOOL)climateEnableAvailable{ self = [self init]; if (!self) { return nil; } self.moduleName = moduleName; self.moduleInfo = moduleInfo; self.fanSpeedAvailable = @(fanSpeedAvailable); self.desiredTemperatureAvailable = @(desiredTemperatureAvailable); self.acEnableAvailable = @(acEnableAvailable); self.acMaxEnableAvailable = @(acMaxEnableAvailable); self.circulateAirEnableAvailable = @(circulateAirEnableAvailable); self.autoModeEnableAvailable = @(autoModeEnableAvailable); self.dualModeEnableAvailable = @(dualModeEnableAvailable); self.defrostZoneAvailable = @(defrostZoneAvailable); self.ventilationModeAvailable = @(ventilationModeAvailable); self.heatedSteeringWheelAvailable = @(steeringWheelAvailable); self.heatedWindshieldAvailable = @(windshieldAvailable); self.heatedRearWindowAvailable = @(rearWindowAvailable); self.heatedMirrorsAvailable = @(mirrorsAvailable); self.climateEnableAvailable = @(climateEnableAvailable); 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)setFanSpeedAvailable:(nullable NSNumber *)fanSpeedAvailable { [self.store sdl_setObject:fanSpeedAvailable forName:SDLRPCParameterNameFanSpeedAvailable]; } - (nullable NSNumber *)fanSpeedAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameFanSpeedAvailable ofClass:NSNumber.class error:nil]; } - (void)setDesiredTemperatureAvailable:(nullable NSNumber *)desiredTemperatureAvailable { [self.store sdl_setObject:desiredTemperatureAvailable forName:SDLRPCParameterNameDesiredTemperatureAvailable]; } - (nullable NSNumber *)desiredTemperatureAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameDesiredTemperatureAvailable ofClass:NSNumber.class error:nil]; } - (void)setAcEnableAvailable:(nullable NSNumber *)acEnableAvailable { [self.store sdl_setObject:acEnableAvailable forName:SDLRPCParameterNameACEnableAvailable]; } - (nullable NSNumber *)acEnableAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameACEnableAvailable ofClass:NSNumber.class error:nil]; } - (void)setAcMaxEnableAvailable:(nullable NSNumber *)acMaxEnableAvailable { [self.store sdl_setObject:acMaxEnableAvailable forName:SDLRPCParameterNameACMaxEnableAvailable]; } - (nullable NSNumber *)acMaxEnableAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameACMaxEnableAvailable ofClass:NSNumber.class error:nil]; } - (void)setCirculateAirEnableAvailable:(nullable NSNumber *)circulateAirEnableAvailable { [self.store sdl_setObject:circulateAirEnableAvailable forName:SDLRPCParameterNameCirculateAirEnableAvailable]; } - (nullable NSNumber *)circulateAirEnableAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameCirculateAirEnableAvailable ofClass:NSNumber.class error:nil]; } - (void)setAutoModeEnableAvailable:(nullable NSNumber *)autoModeEnableAvailable { [self.store sdl_setObject:autoModeEnableAvailable forName:SDLRPCParameterNameAutoModeEnableAvailable]; } - (nullable NSNumber *)autoModeEnableAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameAutoModeEnableAvailable ofClass:NSNumber.class error:nil]; } - (void)setDualModeEnableAvailable:(nullable NSNumber *)dualModeEnableAvailable { [self.store sdl_setObject:dualModeEnableAvailable forName:SDLRPCParameterNameDualModeEnableAvailable]; } - (nullable NSNumber *)dualModeEnableAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameDualModeEnableAvailable ofClass:NSNumber.class error:nil]; } - (void)setDefrostZoneAvailable:(nullable NSNumber *)defrostZoneAvailable { [self.store sdl_setObject:defrostZoneAvailable forName:SDLRPCParameterNameDefrostZoneAvailable]; } - (nullable NSNumber *)defrostZoneAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameDefrostZoneAvailable ofClass:NSNumber.class error:nil]; } - (void)setDefrostZone:(nullable NSArray *)defrostZone { [self.store sdl_setObject:defrostZone forName:SDLRPCParameterNameDefrostZone]; } - (nullable NSArray *)defrostZone { return [self.store sdl_enumsForName:SDLRPCParameterNameDefrostZone error:nil]; } - (void)setVentilationModeAvailable:(nullable NSNumber *)ventilationModeAvailable { [self.store sdl_setObject:ventilationModeAvailable forName:SDLRPCParameterNameVentilationModeAvailable]; } - (nullable NSNumber *)ventilationModeAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameVentilationModeAvailable ofClass:NSNumber.class error:nil]; } - (void)setVentilationMode:(nullable NSArray *)ventilationMode { [self.store sdl_setObject:ventilationMode forName:SDLRPCParameterNameVentilationMode]; } - (nullable NSArray *)ventilationMode { return [self.store sdl_enumsForName:SDLRPCParameterNameVentilationMode error:nil]; } - (void)setHeatedSteeringWheelAvailable:(nullable NSNumber *)heatedSteeringWheelAvailable { [self.store sdl_setObject:heatedSteeringWheelAvailable forName:SDLRPCParameterNameHeatedSteeringWheelAvailable]; } - (nullable NSNumber *)heatedSteeringWheelAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameHeatedSteeringWheelAvailable ofClass:NSNumber.class error:nil]; } - (void)setHeatedWindshieldAvailable:(nullable NSNumber *)heatedWindshieldAvailable { [self.store sdl_setObject:heatedWindshieldAvailable forName:SDLRPCParameterNameHeatedWindshieldAvailable]; } - (nullable NSNumber *)heatedWindshieldAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameHeatedWindshieldAvailable ofClass:NSNumber.class error:nil]; } - (void)setHeatedRearWindowAvailable:(nullable NSNumber *)heatedRearWindowAvailable { [self.store sdl_setObject:heatedRearWindowAvailable forName:SDLRPCParameterNameHeatedRearWindowAvailable]; } - (nullable NSNumber *)heatedRearWindowAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameHeatedRearWindowAvailable ofClass:NSNumber.class error:nil]; } - (void)setHeatedMirrorsAvailable:(nullable NSNumber *)heatedMirrorsAvailable { [self.store sdl_setObject:heatedMirrorsAvailable forName:SDLRPCParameterNameHeatedMirrorsAvailable]; } - (nullable NSNumber *)heatedMirrorsAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameHeatedMirrorsAvailable ofClass:NSNumber.class error:nil]; } - (void)setClimateEnableAvailable:(nullable NSNumber *)climateEnableAvailable { [self.store sdl_setObject:climateEnableAvailable forName:SDLRPCParameterNameClimateEnableAvailable]; } - (nullable NSNumber *)climateEnableAvailable { return [self.store sdl_objectForName:SDLRPCParameterNameClimateEnableAvailable 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