// // SDLClimateControlData.m // #import "SDLClimateControlData.h" #import "SDLNames.h" #import "SDLTemperature.h" #import "NSMutableDictionary+Store.h" NS_ASSUME_NONNULL_BEGIN @implementation SDLClimateControlData - (instancetype)initWithFanSpeed:(nullable NSNumber *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber *)acEnable circulateAirEnable:(nullable NSNumber *)circulateAirEnable autoModeEnable:(nullable NSNumber *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber *)dualModeEnable acMaxEnable:(nullable NSNumber *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode { self = [self init]; if (!self) { return nil; } self.fanSpeed = fanSpeed; self.desiredTemperature = desiredTemperature; self.acEnable = acEnable; self.circulateAirEnable = circulateAirEnable; self.autoModeEnable = autoModeEnable; self.defrostZone = defrostZone; self.dualModeEnable = dualModeEnable; self.acMaxEnable = acMaxEnable; self.ventilationMode = ventilationMode; return self; } - (void)setFanSpeed:(nullable NSNumber *)fanSpeed { [store sdl_setObject:fanSpeed forName:SDLNameFanSpeed]; } - (nullable NSNumber *)fanSpeed { return [store sdl_objectForName:SDLNameFanSpeed]; } - (void)setCurrentTemperature:(nullable SDLTemperature *)currentTemperature { [store sdl_setObject:currentTemperature forName:SDLNameCurrentTemperature]; } - (nullable SDLTemperature *)currentTemperature { return [store sdl_objectForName:SDLNameCurrentTemperature ofClass:SDLTemperature.class]; } - (void)setDesiredTemperature:(nullable SDLTemperature *)desiredTemperature { [store sdl_setObject:desiredTemperature forName:SDLNameDesiredTemperature]; } - (nullable SDLTemperature *)desiredTemperature { return [store sdl_objectForName:SDLNameDesiredTemperature ofClass:SDLTemperature.class]; } - (void)setAcEnable:(nullable NSNumber *)acEnable { [store sdl_setObject:acEnable forName:SDLNameACEnable]; } - (nullable NSNumber *)acEnable { return [store sdl_objectForName:SDLNameACEnable]; } - (void)setCirculateAirEnable:(nullable NSNumber *)circulateAirEnable { [store sdl_setObject:circulateAirEnable forName:SDLNameCirculateAirEnable]; } - (nullable NSNumber *)circulateAirEnable { return [store sdl_objectForName:SDLNameCirculateAirEnable]; } - (void)setAutoModeEnable:(nullable NSNumber *)autoModeEnable { [store sdl_setObject:autoModeEnable forName:SDLNameAutoModeEnable]; } - (nullable NSNumber *)autoModeEnable { return [store sdl_objectForName:SDLNameAutoModeEnable]; } - (void)setDefrostZone:(nullable SDLDefrostZone)defrostZone { [store sdl_setObject:defrostZone forName:SDLNameDefrostZone]; } - (nullable SDLDefrostZone)defrostZone { return [store sdl_objectForName:SDLNameDefrostZone]; } - (void)setDualModeEnable:(nullable NSNumber *)dualModeEnable { [store sdl_setObject:dualModeEnable forName:SDLNameDualModeEnable]; } - (nullable NSNumber *)dualModeEnable { return [store sdl_objectForName:SDLNameDualModeEnable]; } - (void)setAcMaxEnable:(nullable NSNumber *)acMaxEnable { [store sdl_setObject:acMaxEnable forName:SDLNameACMaxEnable]; } - (nullable NSNumber *)acMaxEnable { return [store sdl_objectForName:SDLNameACMaxEnable]; } - (void)setVentilationMode:(nullable SDLVentilationMode)ventilationMode { [store sdl_setObject:ventilationMode forName:SDLNameVentilationMode]; } - (nullable SDLVentilationMode)ventilationMode { return [store sdl_objectForName:SDLNameVentilationMode]; } @end NS_ASSUME_NONNULL_END