// SDLSeatControlData.h // #import "SDLRPCStruct.h" #import "SDLSeatMemoryActionType.h" #import "SDLSupportedSeat.h" @class SDLMassageModeData; @class SDLMassageCushionFirmness; @class SDLSeatMemoryAction; NS_ASSUME_NONNULL_BEGIN /** * Seat control data corresponds to "SEAT" ModuleType. */ @interface SDLSeatControlData : SDLRPCStruct /** * Convenience init for setting all possible seat control data * * @param heatingEnabled - heatingEnabled * @param coolingEnabled - coolingEnabled * @param heatingLevel - heatingLevel * @param coolingLevel - coolingLevel * @param horizontalPosition - horizontalPosition * @param verticalPosition - verticalPosition * @param frontVerticalPosition - frontVerticalPosition * @param backVerticalPosition - backVerticalPosition * @param backTiltAngle - backTiltAngle * @param headSupportHorizontalPosition - headSupportHorizontalPosition * @param headSupportVerticalPosition - headSupportVerticalPosition * @param massageEnabled - massageEnabled * @param massageMode - massageMode * @param massageCushionFirmness - massageCushionFirmness * @param memory - memory * @return A SDLSeatControlData object */ - (instancetype)initWithHeatingEnabled:(nullable NSNumber *)heatingEnabled coolingEnabled:(nullable NSNumber *)coolingEnabled heatingLevel:(nullable NSNumber *)heatingLevel coolingLevel:(nullable NSNumber *)coolingLevel horizontalPosition:(nullable NSNumber *)horizontalPosition verticalPosition:(nullable NSNumber *)verticalPosition frontVerticalPosition:(nullable NSNumber *)frontVerticalPosition backVerticalPosition:(nullable NSNumber *)backVerticalPosition backTiltAngle:(nullable NSNumber *)backTiltAngle headSupportHorizontalPosition:(nullable NSNumber *)headSupportHorizontalPosition headSupportVerticalPosition:(nullable NSNumber *)headSupportVerticalPosition massageEnabled:(nullable NSNumber *)massageEnabled massageMode:(nullable NSArray *)massageMode massageCushionFirmness:(nullable NSArray *)massageCushionFirmness memory:(nullable SDLSeatMemoryAction *)memory; #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" /** Constructs a newly allocated SDLSeatControlData object with cushion and firmness @param supportedSeat id of remote controllable seat. @return An instance of the SDLSeatControlData class */ - (instancetype)initWithId:(SDLSupportedSeat)supportedSeat __deprecated_msg("Use initWithHeatingEnabled:coolingEnabled:heatingLevel:coolingLevel:horizontalPosition:verticalPosition:frontVerticalPosition:backVerticalPosition:backTiltAngle:headSupportHorizontalPosition:headSupportVerticalPosition:massageEnabled:massageMode:massageCushionFirmness:memory: instead");; #pragma clang diagnostic pop #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" /** Constructs a newly allocated SDLSeatControlData object with cushion and firmness @param supportedSeat id of remote controllable seat. @param heatingEnable Whether or not heating is enabled. @param coolingEnable Whether or not cooling is enabled. @param heatingLevel heating level @param coolingLevel cooling Level @param horizontal horizontal Position @param vertical vertical Position @param frontVertical frontVertical Position @param backVertical backVertical Position @param backAngle backAngle Position @param headSupportedHorizontal headSupportedHorizontal Position @param headSupportedVertical headSupportedVertical Position @param massageEnable Whether or not massage is enabled. @param massageMode Array of massage mode data. @param firmness Array of firmness data. @param memoryAction type of action to be performed. @return An instance of the SDLSeatControlData class */ - (instancetype)initWithId:(SDLSupportedSeat)supportedSeat heatingEnabled:(BOOL)heatingEnable coolingEnable:(BOOL)coolingEnable heatingLevel:(UInt8)heatingLevel coolingLevel:(UInt8)coolingLevel horizontalPostion:(UInt8)horizontal verticalPostion:(UInt8)vertical frontVerticalPostion:(UInt8)frontVertical backVerticalPostion:(UInt8)backVertical backTiltAngle:(UInt8)backAngle headSupportedHorizontalPostion:(UInt8)headSupportedHorizontal headSupportedVerticalPostion:(UInt8)headSupportedVertical massageEnabled:(BOOL)massageEnable massageMode:(NSArray *)massageMode massageCussionFirmness:(NSArray *)firmness memory:(SDLSeatMemoryAction *)memoryAction __deprecated_msg("Use initWithHeatingEnabled:coolingEnabled:heatingLevel:coolingLevel:horizontalPosition:verticalPosition:frontVerticalPosition:backVerticalPosition:backTiltAngle:headSupportHorizontalPosition:headSupportVerticalPosition:massageEnabled:massageMode:massageCushionFirmness:memory: instead"); #pragma clang diagnostic pop /** * @abstract id of seat that is a remote controllable seat. * @warning This should not be used to identify a seat, this is a deprecated parameter. * * Required */ @property (strong, nonatomic) SDLSupportedSeat id __deprecated; /** * @abstract Whether or not heating is enabled. * Optional */ @property (nullable, strong, nonatomic) NSNumber *heatingEnabled; /** * @abstract Whether or not cooling is enabled. * Optional */ @property (nullable, strong, nonatomic) NSNumber *coolingEnabled; /** * @abstract heating level in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *heatingLevel; /** * @abstract cooling level in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *coolingLevel; /** * @abstract horizontal Position in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *horizontalPosition; /** * @abstract heating level in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *verticalPosition; /** * @abstract heating level in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *frontVerticalPosition; /** * @abstract heating level in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *backVerticalPosition; /** * @abstract heating level in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *backTiltAngle; /** * @abstract head Support Horizontal Position in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *headSupportHorizontalPosition; /** * @abstract head Support Vertical Position in integer * * Optional, MinValue- 0 MaxValue= 100 */ @property (nullable, strong, nonatomic) NSNumber *headSupportVerticalPosition; /** * @abstract Whether or not massage is enabled. * Optional */ @property (nullable, strong, nonatomic) NSNumber *massageEnabled; /** * @abstract Array of massage mode data. * Optional, Array of SDLMassageModeData objects, MinArray size-1 MaxArray size-2 */ @property (nullable, strong, nonatomic) NSArray *massageMode; /** * @abstract Array of firmness of a cushion. * Optional, Array of SDLMassageCushionFirmness objects, MinArray size-1 MaxArray size-5 */ @property (nullable, strong, nonatomic) NSArray *massageCushionFirmness; /** * @abstract type of action to be performed * * Required, @see SDLSeatMemoryAction */ @property (nullable, strong, nonatomic) SDLSeatMemoryAction *memory; @end NS_ASSUME_NONNULL_END