diff options
author | james <james@jamess-MacBook-Pro.local> | 2017-08-14 13:04:34 -0400 |
---|---|---|
committer | james <james@jamess-MacBook-Pro.local> | 2017-08-14 13:04:34 -0400 |
commit | 95dbde54cbc03a0aec2901f98cb74758756bc32f (patch) | |
tree | 822c2df7e750dcd01ee1c51f57fac37f5733fac1 /SmartDeviceLink | |
parent | 88190e21888425beceb1ca61c51f69b7968b8633 (diff) | |
download | sdl_ios-95dbde54cbc03a0aec2901f98cb74758756bc32f.tar.gz |
Added remote control RPCs and unit tests
Diffstat (limited to 'SmartDeviceLink')
58 files changed, 1974 insertions, 39 deletions
diff --git a/SmartDeviceLink/SDLAppHMIType.h b/SmartDeviceLink/SDLAppHMIType.h index 2c02fe498..021f324e3 100644 --- a/SmartDeviceLink/SDLAppHMIType.h +++ b/SmartDeviceLink/SDLAppHMIType.h @@ -62,3 +62,7 @@ extern SDLAppHMIType const SDLAppHMITypeTesting; * @abstract System App */ extern SDLAppHMIType const SDLAppHMITypeSystem; + +/** + * @abstract Remote control */ +extern SDLAppHMIType const SDLAppHMITypeRemoteControl; diff --git a/SmartDeviceLink/SDLAppHMIType.m b/SmartDeviceLink/SDLAppHMIType.m index 5ce899cf5..070ad089b 100644 --- a/SmartDeviceLink/SDLAppHMIType.m +++ b/SmartDeviceLink/SDLAppHMIType.m @@ -15,3 +15,4 @@ SDLAppHMIType const SDLAppHMITypeProjection = @"PROJECTION"; SDLAppHMIType const SDLAppHMITypeBackgroundProcess = @"BACKGROUND_PROCESS"; SDLAppHMIType const SDLAppHMITypeTesting = @"TESTING"; SDLAppHMIType const SDLAppHMITypeSystem = @"SYSTEM"; +SDLAppHMIType const SDLAppHMITypeRemoteControl = @"REMOTE_CONTROL"; diff --git a/SmartDeviceLink/SDLButtonName.h b/SmartDeviceLink/SDLButtonName.h index c86bd4dba..8746c9444 100644 --- a/SmartDeviceLink/SDLButtonName.h +++ b/SmartDeviceLink/SDLButtonName.h @@ -100,4 +100,113 @@ extern SDLButtonName const SDLButtonNamePreset9; extern SDLButtonName const SDLButtonNameCustomButton; +/** + * @abstract Represents the SEARCH button. + * + */ extern SDLButtonName const SDLButtonNameSearch; + + +#pragma mark - Climate Buttons + +/** + * @abstract Represents AC max button * + */ +extern SDLButtonName const SDLButtonNameAcMax; + + +/** + * @abstract Represents AC button * + */ +extern SDLButtonName const SDLButtonNameAc; + + +/** + * @abstract Represents a Recirculate button + */ +extern SDLButtonName const SDLButtonNameRecirculate; + +/** + * @abstract Represents a Fan up button + */ +extern SDLButtonName const SDLButtonNameFanUp; + +/** + * @abstract Represents a fan down button + */ +extern SDLButtonName const SDLButtonNameFanDown; + +/** + * @abstract Represents a temperature up button + */ +extern SDLButtonName const SDLButtonNameTempUp; + +/** + * @abstract Represents a temperature down button + */ +extern SDLButtonName const SDLButtonNameTempDown; + +/** + * @abstract Represents a Defrost max button. + * + */ +extern SDLButtonName const SDLButtonNameDefrostMax; + +/** + * @abstract Represents a Defrost button. + * + */ +extern SDLButtonName const SDLButtonNameDefrost; + +/** + * @abstract Represents a Defrost rear button. + * + */ +extern SDLButtonName const SDLButtonNameDefrostRear; + +/** + * @abstract Represents a Upper Vent button. + * + */ +extern SDLButtonName const SDLButtonNameUpperVent; + +/** + * @abstract Represents a Lower vent button. + * + */ +extern SDLButtonName const SDLButtonNameLowerVent; + +#pragma mark - Radio Buttons +/** + * @abstract Represents a volume up button. + */ +extern SDLButtonName const SDLButtonNameVolumeUp; + +/** + * @abstract Represents a volume down button. + * + */ +extern SDLButtonName const SDLButtonNameVolumeDown; + +/** + * @abstract Represents a Eject Button. + * + */ +extern SDLButtonName const SDLButtonNameEject; + +/** + * @abstract Represents a Source button. + * + */ +extern SDLButtonName const SDLButtonNameSource; + +/** + * @abstract Represents a SHUFFLE button. + * + */ +extern SDLButtonName const SDLButtonNameShuffle; + +/** + * @abstract Represents a Repeat button * + */ +extern SDLButtonName const SDLButtonNameRepeat; diff --git a/SmartDeviceLink/SDLButtonName.m b/SmartDeviceLink/SDLButtonName.m index 23ac32eb9..d89400fc2 100644 --- a/SmartDeviceLink/SDLButtonName.m +++ b/SmartDeviceLink/SDLButtonName.m @@ -21,3 +21,21 @@ SDLButtonName const SDLButtonNamePreset8 = @"PRESET_8"; SDLButtonName const SDLButtonNamePreset9 = @"PRESET_9"; SDLButtonName const SDLButtonNameCustomButton = @"CUSTOM_BUTTON"; SDLButtonName const SDLButtonNameSearch = @"SEARCH"; +SDLButtonName const SDLButtonNameAcMax = @"AC_MAX"; +SDLButtonName const SDLButtonNameAc = @"AC"; +SDLButtonName const SDLButtonNameRecirculate = @"RECIRCULATE"; +SDLButtonName const SDLButtonNameFanUp = @"FAN_UP"; +SDLButtonName const SDLButtonNameFanDown = @"FAN_DOWN"; +SDLButtonName const SDLButtonNameTempUp = @"TEMP_UP"; +SDLButtonName const SDLButtonNameTempDown = @"TEMP_DOWN"; +SDLButtonName const SDLButtonNameDefrostMax = @"DEFROST_MAX"; +SDLButtonName const SDLButtonNameDefrostRear = @"DEFROST_REAR"; +SDLButtonName const SDLButtonNameDefrost = @"DEFROST"; +SDLButtonName const SDLButtonNameUpperVent = @"UPPER_VENT"; +SDLButtonName const SDLButtonNameLowerVent = @"LOWER_VENT"; +SDLButtonName const SDLButtonNameVolumeUp = @"VOLUME_UP"; +SDLButtonName const SDLButtonNameVolumeDown = @"VOLUME_DOWN"; +SDLButtonName const SDLButtonNameEject = @"EJECT"; +SDLButtonName const SDLButtonNameSource = @"SOURCE"; +SDLButtonName const SDLButtonNameShuffle = @"SHUFFLE"; +SDLButtonName const SDLButtonNameRepeat = @"REPEAT"; diff --git a/SmartDeviceLink/SDLButtonPress.h b/SmartDeviceLink/SDLButtonPress.h new file mode 100644 index 000000000..a1aeb714f --- /dev/null +++ b/SmartDeviceLink/SDLButtonPress.h @@ -0,0 +1,35 @@ +// +// SDLButtonPress.h +// + +#import "SDLRPCRequest.h" +#import "SDLModuleType.h" +#import "SDLButtonName.h" +#import "SDLButtonPressMode.h" + +NS_ASSUME_NONNULL_BEGIN + + +@interface SDLButtonPress : SDLRPCRequest + +/** + * The module where the button should be pressed. + * + */ +@property (strong, nonatomic) SDLModuleType moduleType; + +/** + * The name of supported RC climate or radio button. + * + */ +@property (strong, nonatomic) SDLButtonName buttonName; + +/** + * Indicates whether this is a LONG or SHORT button press event. + * + */ +@property (strong, nonatomic) SDLButtonPressMode buttonPressMode; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLButtonPress.m b/SmartDeviceLink/SDLButtonPress.m new file mode 100644 index 000000000..21f89b6a8 --- /dev/null +++ b/SmartDeviceLink/SDLButtonPress.m @@ -0,0 +1,46 @@ +// +// SDLButtonPress.m +// + +#import "SDLButtonPress.h" +#import "SDLNames.h" +#import "SDLButtonName.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLButtonPress + +- (instancetype)init { + if (self = [super initWithName:SDLNameButtonPress]) { + } + return self; +} + + +- (void)setModuleType:(SDLModuleType )moduleType { + [parameters sdl_setObject:moduleType forName:SDLNameModuleType]; +} + +- (SDLModuleType )moduleType { + return [parameters sdl_objectForName:SDLNameModuleType]; +} + +- (void)setButtonName:(SDLButtonName)buttonName { + [parameters sdl_setObject:buttonName forName:SDLNameButtonName]; +} + +- (SDLButtonName)buttonName { + return [parameters sdl_objectForName:SDLNameButtonName]; +} + +- (void)setButtonPressMode:(SDLButtonPressMode)buttonPressMode { + [parameters sdl_setObject:buttonPressMode forName:SDLNameButtonPressMode]; +} + +- (SDLButtonPressMode)buttonPressMode { + return [parameters sdl_objectForName:SDLNameButtonPressMode]; +} + +@end +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLButtonPressResponse.h b/SmartDeviceLink/SDLButtonPressResponse.h new file mode 100644 index 000000000..7a717d310 --- /dev/null +++ b/SmartDeviceLink/SDLButtonPressResponse.h @@ -0,0 +1,13 @@ +// +// SDLButtonPressResponse.h +// + +#import "SDLRPCResponse.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLButtonPressResponse : SDLRPCResponse + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLButtonPressResponse.m b/SmartDeviceLink/SDLButtonPressResponse.m new file mode 100644 index 000000000..3e768a872 --- /dev/null +++ b/SmartDeviceLink/SDLButtonPressResponse.m @@ -0,0 +1,20 @@ +// +// SDLButtonPressResponse.m +// + +#import "SDLButtonPressResponse.h" +#import "SDLNames.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLButtonPressResponse + +- (instancetype)init { + if (self = [super initWithName:SDLNameButtonPress]) { + } + return self; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLClimateControlCapabilities.h b/SmartDeviceLink/SDLClimateControlCapabilities.h new file mode 100644 index 000000000..3dc3aea3c --- /dev/null +++ b/SmartDeviceLink/SDLClimateControlCapabilities.h @@ -0,0 +1,113 @@ +// +// SDLClimateControlCapabilities.h +// + +#import "SDLRPCMessage.h" +#import "SDLDefrostZone.h" +#import "SDLVentilationMode.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Contains information about a climate control module's capabilities. + */ +@interface SDLClimateControlCapabilities : SDLRPCStruct + +/** + * @abstractThe short friendly name of the climate control module. + * It should not be used to identify a module by mobile application. + * + * Max string length 100 chars + */ +@property (strong, nonatomic) NSString *moduleName; + +/** + * @abstract Availability of the control of fan speed. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *fanSpeedAvailable; + +/** + * @abstract Availability of the control of desired temperature. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *desiredTemperatureAvailable; + +/** + * @abstract Availability of the control of turn on/off AC. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *acEnableAvailable; + +/** + * @abstract Availability of the control of enable/disable air conditioning is ON on the maximum level. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *acMaxEnableAvailable; + +/** + * @abstract Availability of the control of enable/disable circulate Air mode. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *circulateAirEnableAvailable; + +/** + * @abstract Availability of the control of enable/disable auto mode. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *autoModeEnableAvailable; + +/** + * @abstract Availability of the control of enable/disable dual mode. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *dualModeEnableAvailable; + +/** + * @abstract Availability of the control of defrost zones. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *defrostZoneAvailable; + +/** + * @abstract A set of all defrost zones that are controllable. + * + * Optional, NSArray of type SDLDefrostZone minsize="1" maxsize="100" + */ +@property (nullable, strong, nonatomic) NSArray<SDLDefrostZone > *defrostZone; + +/** + * @abstract Availability of the control of air ventilation mode. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *ventilationModeAvailable; + +/** + * @abstract A set of all ventilation modes that are controllable. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, NSArray of type SDLVentilationMode minsize="1" maxsize="100" + */ +@property (nullable, strong, nonatomic) NSArray<SDLVentilationMode> *ventilationMode; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLClimateControlCapabilities.m b/SmartDeviceLink/SDLClimateControlCapabilities.m new file mode 100644 index 000000000..2f7b881ba --- /dev/null +++ b/SmartDeviceLink/SDLClimateControlCapabilities.m @@ -0,0 +1,121 @@ +// +// SDLClimateControlCapabilities.m +// + +#import "SDLClimateControlCapabilities.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLClimateControlCapabilities + +- (void)setModuleName:(NSString *)moduleName { + [store sdl_setObject:moduleName forName:SDLNameModuleName]; +} + +- (NSString *)moduleName { + return [store sdl_objectForName:SDLNameModuleName]; +} + +- (void)setFanSpeedAvailable:(nullable NSNumber<SDLBool> *)fanSpeedAvailable { + [store sdl_setObject:fanSpeedAvailable forName:SDLNameFanSpeedAvailable]; +} + +- (nullable NSNumber<SDLBool> *)fanSpeedAvailable { + return [store sdl_objectForName:SDLNameFanSpeedAvailable]; + +} + +- (void)setDesiredTemperatureAvailable:(nullable NSNumber<SDLBool> *)desiredTemperatureAvailable { + [store sdl_setObject:desiredTemperatureAvailable forName:SDLNameDesiredTemperatureAvailable]; +} + +- (nullable NSNumber<SDLBool> *)desiredTemperatureAvailable { + return [store sdl_objectForName:SDLNameDesiredTemperatureAvailable]; + +} + +- (void)setAcEnableAvailable:(nullable NSNumber<SDLBool> *)acEnableAvailable { + [store sdl_setObject:acEnableAvailable forName:SDLNameAcEnableAvailable]; +} + +- (nullable NSNumber<SDLBool> *)acEnableAvailable { + return [store sdl_objectForName:SDLNameAcEnableAvailable]; + +} + +- (void)setAcMaxEnableAvailable:(nullable NSNumber<SDLBool> *)acMaxEnableAvailable { + [store sdl_setObject:acMaxEnableAvailable forName:SDLNameAcMaxEnableAvailable]; +} + +- (nullable NSNumber<SDLBool> *)acMaxEnableAvailable { + return [store sdl_objectForName:SDLNameAcMaxEnableAvailable]; + +} + +- (void)setCirculateAirEnableAvailable:(nullable NSNumber<SDLBool> *)circulateAirEnableAvailable { + [store sdl_setObject:circulateAirEnableAvailable forName:SDLNameCirculateAirEnableAvailable]; +} + +- (nullable NSNumber<SDLBool> *)circulateAirEnableAvailable { + return [store sdl_objectForName:SDLNameCirculateAirEnableAvailable]; + +} + +- (void)setAutoModeEnableAvailable:(nullable NSNumber<SDLBool> *)autoModeEnableAvailable { + [store sdl_setObject:autoModeEnableAvailable forName:SDLNameAutoModeEnableAvailable]; +} + +- (nullable NSNumber<SDLBool> *)autoModeEnableAvailable { + return [store sdl_objectForName:SDLNameAutoModeEnableAvailable]; + +} + +- (void)setDualModeEnableAvailable:(nullable NSNumber<SDLBool> *)dualModeEnableAvailable { + [store sdl_setObject:dualModeEnableAvailable forName:SDLNameDualModeEnableAvailable]; +} + +- (nullable NSNumber<SDLBool> *)dualModeEnableAvailable { + return [store sdl_objectForName:SDLNameDualModeEnableAvailable]; + +} + +- (void)setDefrostZoneAvailable:(nullable NSNumber<SDLBool> *)defrostZoneAvailable { + [store sdl_setObject:defrostZoneAvailable forName:SDLNameDefrostZoneAvailable]; +} + +- (nullable NSNumber<SDLBool> *)defrostZoneAvailable { + return [store sdl_objectForName:SDLNameDefrostZoneAvailable]; + +} + +- (void)setDefrostZone:(nullable NSArray <SDLDefrostZone>*)defrostZone { + [store sdl_setObject:defrostZone forName:SDLNameDefrostZone]; +} + +- (nullable NSArray<SDLDefrostZone> *)defrostZone { + return [store sdl_objectForName:SDLNameDefrostZone]; + +} + +- (void)setVentilationModeAvailable:(nullable NSNumber<SDLBool> *)ventilationModeAvailable { + [store sdl_setObject:ventilationModeAvailable forName:SDLNameVentilationModeAvailable]; +} + +- (nullable NSNumber<SDLBool> *)ventilationModeAvailable { + return [store sdl_objectForName:SDLNameVentilationModeAvailable]; +} + +- (void)setVentilationMode:(nullable NSArray<SDLVentilationMode> *)ventilationMode { + [store sdl_setObject:ventilationMode forName:SDLNameVentilationMode]; +} + +- (nullable NSArray<SDLVentilationMode> *)ventilationMode { + return [store sdl_objectForName:SDLNameVentilationMode]; +} + + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLClimateControlData.h b/SmartDeviceLink/SDLClimateControlData.h new file mode 100644 index 000000000..487b38277 --- /dev/null +++ b/SmartDeviceLink/SDLClimateControlData.h @@ -0,0 +1,88 @@ +// +// SDLClimateControlData.h +// + +#import "SDLRPCMessage.h" +#import "SDLDefrostZone.h" +#import "SDLVentilationMode.h" + +NS_ASSUME_NONNULL_BEGIN + +@class SDLTemperature; + + +@interface SDLClimateControlData : SDLRPCStruct + +/** + * @abstract Speed of Fan in integer + * + * Optional, MinValue- 0 MaxValue= 100 + */ +@property (nullable, strong, nonatomic) NSNumber<SDLInt> *fanSpeed; + +/** + * @abstractThe Current Temperature in SDLTemperature + * + * Optional + */ +@property (nullable, strong, nonatomic) SDLTemperature *currentTemperature; + +/** + * @abstract Desired Temperature in SDLTemperature + * + * Optional + */ +@property (nullable, strong, nonatomic) SDLTemperature *desiredTemperature; + +/** + * @abstract Represents if AC is enabled. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *acEnable; + +/** + * @abstract Represents if circulation of air is enabled. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *circulateAirEnable; + +/** + * @abstract Represents if auto mode is enabled. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *autoModeEnable; + +/** + * @abstract Represents the kind of defrost zone + * + * Optional, SDLDefrostZone + */ +@property (nullable, strong, nonatomic) SDLDefrostZone defrostZone; + +/** + * @abstract Represents if dual mode is enabled. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *dualModeEnable; + +/** + * @abstract Represents if ac max is enabled. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *acMaxEnable; + +/** + * @abstract Represents the kind of Ventilation zone + * + * Optional, SDLVentilationMode + */ +@property (nullable, strong, nonatomic) SDLVentilationMode ventilationMode; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLClimateControlData.m b/SmartDeviceLink/SDLClimateControlData.m new file mode 100644 index 000000000..e093998ca --- /dev/null +++ b/SmartDeviceLink/SDLClimateControlData.m @@ -0,0 +1,96 @@ +// +// SDLClimateControlData.m +// + +#import "SDLClimateControlData.h" +#import "SDLNames.h" +#import "SDLTemperature.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLClimateControlData + +- (void)setFanSpeed:(nullable NSNumber<SDLInt> *)fanSpeed { + [store sdl_setObject:fanSpeed forName:SDLNameFanSpeed]; +} + +- (nullable NSNumber<SDLInt> *)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]; +} + +- (void)setDesiredTemperature:(nullable SDLTemperature *)desiredTemperature { + [store sdl_setObject:desiredTemperature forName:SDLNameDesiredTemperature]; +} + +- (nullable SDLTemperature *)desiredTemperature { + return [store sdl_objectForName:SDLNameDesiredTemperature]; +} + +- (void)setAcEnable:(nullable NSNumber<SDLBool> *)acEnable { + [store sdl_setObject:acEnable forName:SDLNameAcEnable]; +} + +- (nullable NSNumber<SDLBool> *)acEnable { + return [store sdl_objectForName:SDLNameAcEnable]; +} + +- (void)setCirculateAirEnable:(nullable NSNumber<SDLBool> *)circulateAirEnable { + [store sdl_setObject:circulateAirEnable forName:SDLNameCirculateAirEnable]; +} + +- (nullable NSNumber<SDLBool> *)circulateAirEnable { + return [store sdl_objectForName:SDLNameCirculateAirEnable]; +} + +- (void)setAutoModeEnable:(nullable NSNumber<SDLBool> *)autoModeEnable { + [store sdl_setObject:autoModeEnable forName:SDLNameAutoModeEnable]; +} + +- (nullable NSNumber<SDLBool> *)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<SDLBool> *)dualModeEnable { + [store sdl_setObject:dualModeEnable forName:SDLNameDualModeEnable]; +} + +- (nullable NSNumber<SDLBool> *)dualModeEnable { + return [store sdl_objectForName:SDLNameDualModeEnable]; +} + +- (void)setAcMaxEnable:(nullable NSNumber<SDLBool> *)acMaxEnable { + [store sdl_setObject:acMaxEnable forName:SDLNameAcMaxEnable]; +} + +- (nullable NSNumber<SDLBool> *)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 diff --git a/SmartDeviceLink/SDLDefrostZone.h b/SmartDeviceLink/SDLDefrostZone.h new file mode 100644 index 000000000..304ec1731 --- /dev/null +++ b/SmartDeviceLink/SDLDefrostZone.h @@ -0,0 +1,33 @@ +// +// SDLDefrostZone.h +// + +#import "SDLEnum.h" + +/** + * Enumeration listing possible defrost zones. + * + * @since SDL 2.0 + */ +typedef SDLEnum SDLDefrostZone SDL_SWIFT_ENUM; + +/** + * @abstract A SDLDefrostZone with the value of *FRONT* + */ +extern SDLDefrostZone const SDLDefrostZoneFront; + + +/** + * @abstract A SDLDefrostZone with the value of *REAR* + */ +extern SDLDefrostZone const SDLDefrostZoneRear; + +/** + * @abstract A SDLDefrostZone with the value of *All* + */ +extern SDLDefrostZone const SDLDefrostZoneALL; + +/** + * @abstract A SDLDefrostZone with the value of *None* + */ +extern SDLDefrostZone const SDLDefrostZoneNone; diff --git a/SmartDeviceLink/SDLDefrostZone.m b/SmartDeviceLink/SDLDefrostZone.m new file mode 100644 index 000000000..3240621f9 --- /dev/null +++ b/SmartDeviceLink/SDLDefrostZone.m @@ -0,0 +1,10 @@ +// +// SDLDefrostZone.m +// + +#import "SDLDefrostZone.h" + +SDLDefrostZone const SDLDefrostZoneFront = @"FRONT"; +SDLDefrostZone const SDLDefrostZoneRear = @"REAR"; +SDLDefrostZone const SDLDefrostZoneALL = @"ALL"; +SDLDefrostZone const SDLDefrostZoneNone = @"NONE"; diff --git a/SmartDeviceLink/SDLFunctionID.m b/SmartDeviceLink/SDLFunctionID.m index 58ff9c479..831972c6a 100644 --- a/SmartDeviceLink/SDLFunctionID.m +++ b/SmartDeviceLink/SDLFunctionID.m @@ -28,7 +28,7 @@ NS_ASSUME_NONNULL_BEGIN if (!self) { return nil; } - + self.functionIds = @{ @0: SDLNameReserved, @1: SDLNameRegisterAppInterface, @@ -71,6 +71,9 @@ NS_ASSUME_NONNULL_BEGIN @38: SDLNameSystemRequest, @39: SDLNameSendLocation, @40: SDLNameDialNumber, + @41: SDLNameButtonPress, + @43: SDLNameGetInteriorVehicleData, + @44: SDLNameSetInteriorVehicleData, @45: SDLNameGetWaypoints, @46: SDLNameSubscribeWaypoints, @47: SDLNameUnsubscribeWaypoints, @@ -90,13 +93,14 @@ NS_ASSUME_NONNULL_BEGIN @32780: SDLNameOnTouchEvent, @32781: SDLNameOnSystemRequest, @32782: SDLNameOnHashChange, + @32783: SDLNameOnInteriorVehicleData, @32784: SDLNameOnWaypointChange, @65536: SDLNameEncodedSyncPData, @65537: SDLNameSyncPData, @98304: SDLNameOnEncodedSyncPData, @98305: SDLNameOnSyncPData }; - + return self; } diff --git a/SmartDeviceLink/SDLGetInteriorVehicleData.h b/SmartDeviceLink/SDLGetInteriorVehicleData.h new file mode 100644 index 000000000..f87f5bf81 --- /dev/null +++ b/SmartDeviceLink/SDLGetInteriorVehicleData.h @@ -0,0 +1,29 @@ +// +// SDLGetInteriorVehicleData.h +// + +#import "SDLRPCRequest.h" +#import "SDLModuleType.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLGetInteriorVehicleData : SDLRPCRequest + +/** + * The type of a RC module to retrieve module data from the vehicle. + * In the future, this should be the Identification of a module. + * + */ +@property (strong, nonatomic) SDLModuleType moduleType; + +/** + * If subscribe is true, the head unit will register onInteriorVehicleData notifications for the requested moduelType. + * If subscribe is false, the head unit will unregister onInteriorVehicleData notifications for the requested moduelType. + * + * optional, Boolean, default Value = false + */ +@property (strong, nonatomic) NSNumber<SDLBool> *subscribe; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLGetInteriorVehicleData.m b/SmartDeviceLink/SDLGetInteriorVehicleData.m new file mode 100644 index 000000000..70c85f869 --- /dev/null +++ b/SmartDeviceLink/SDLGetInteriorVehicleData.m @@ -0,0 +1,44 @@ +// +// SDLGetInteriorVehicleData.m +// + +#import "SDLGetInteriorVehicleData.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLGetInteriorVehicleData + +- (instancetype)init { + if (self = [super initWithName:SDLNameGetInteriorVehicleData]) { + } + return self; +} + +- (instancetype)initWithDictionary:(NSMutableDictionary *)dict { + if (self = [super initWithDictionary:dict]) { + } + return self; +} + +- (void)setModuleType:(SDLModuleType )moduleType { + [parameters sdl_setObject:moduleType forName:SDLNameModuleType]; +} + +- (SDLModuleType)moduleType { + return [parameters sdl_objectForName:SDLNameModuleType]; +} + + +- (void)setSubscribe:(NSNumber<SDLBool> *)subscribe { + [parameters sdl_setObject:subscribe forName:SDLNameSubscribe]; +} + +- (NSNumber<SDLBool> *)subscribe { + return [parameters sdl_objectForName:SDLNameSubscribe]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.h b/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.h new file mode 100644 index 000000000..daae3962b --- /dev/null +++ b/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.h @@ -0,0 +1,26 @@ +// +// SDLGetInteriorVehicleDataResponse.h +// + +#import "SDLRPCResponse.h" +@class SDLModuleData; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLGetInteriorVehicleDataResponse : SDLRPCResponse + +@property (strong, nonatomic) SDLModuleData *moduleData; + +/** + * @abstract It is a conditional-mandatory parameter: must be returned in case "subscribe" parameter was present in the related request. + * if "true" - the "moduleType" from request is successfully subscribed and the head unit will send onInteriorVehicleData notifications for the moduleType. + * if "false" - the "moduleType" from request is either unsubscribed or failed to subscribe. + * + * Optional, Boolean + */ + +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *isSubscribed; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.m b/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.m new file mode 100644 index 000000000..f2e4570e4 --- /dev/null +++ b/SmartDeviceLink/SDLGetInteriorVehicleDataResponse.m @@ -0,0 +1,40 @@ +// +// SDLGetInteriorVehicleDataResponse.m +// + +#import "SDLGetInteriorVehicleDataResponse.h" +#import "SDLModuleData.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + + +@implementation SDLGetInteriorVehicleDataResponse + +- (instancetype)init { + if (self = [super initWithName:SDLNameGetInteriorVehicleData]) { + } + return self; +} + +- (void)setModuleData:(SDLModuleData *)moduleData { + [parameters sdl_setObject:moduleData forName:SDLNameModuleData]; +} + +- (SDLModuleData *)moduleData { + return [parameters sdl_objectForName:SDLNameModuleData]; +} + +- (void)setIsSubscribed:(nullable NSNumber<SDLBool> *)isSubscribed { + [parameters sdl_setObject:isSubscribed forName:SDLNameIsSubscribed]; +} + +- (nullable NSNumber<SDLBool> *)isSubscribed { + return [parameters sdl_objectForName:SDLNameIsSubscribed]; +} + +@end + +NS_ASSUME_NONNULL_END + diff --git a/SmartDeviceLink/SDLModuleData.h b/SmartDeviceLink/SDLModuleData.h new file mode 100644 index 000000000..60a3be863 --- /dev/null +++ b/SmartDeviceLink/SDLModuleData.h @@ -0,0 +1,27 @@ +// +// SDLModuleData.h +// + +#import "SDLRPCMessage.h" +#import "SDLModuleType.h" + +NS_ASSUME_NONNULL_BEGIN + +@class SDLRadioControlData; +@class SDLClimateControlData; + +@interface SDLModuleData : SDLRPCStruct + +/** + * The moduleType indicates which type of data should be changed + * and identifies which data object exists in this struct. + * For example, if the moduleType is CLIMATE then a "climateControlData" should exist + */ +@property (strong) SDLModuleType moduleType; + +@property (nullable, strong, nonatomic) SDLRadioControlData *radioControlData; + +@property (nullable, strong, nonatomic) SDLClimateControlData *climateControlData; + +@end +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLModuleData.m b/SmartDeviceLink/SDLModuleData.m new file mode 100644 index 000000000..e8bc4ec9b --- /dev/null +++ b/SmartDeviceLink/SDLModuleData.m @@ -0,0 +1,40 @@ +// +// SDLModuleData.m +// + +#import "SDLModuleData.h" +#import "SDLNames.h" +#import "SDLClimateControlData.h" +#import "SDLRadioControlData.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLModuleData + +- (void)setModuleType:(SDLModuleType)moduleType { + [store sdl_setObject:moduleType forName:SDLNameModuleType]; +} + +- (SDLModuleType)moduleType { + return [store sdl_objectForName:SDLNameModuleType]; +} + +- (void)setRadioControlData:(nullable SDLRadioControlData *)radioControlData { + [store sdl_setObject:radioControlData forName:SDLNameRadioControlData]; +} + +- (nullable SDLRadioControlData *)radioControlData { + return [store sdl_objectForName:SDLNameRadioControlData]; +} + +- (void)setClimateControlData:(nullable SDLClimateControlData *)climateControlData { + [store sdl_setObject:climateControlData forName:SDLNameClimateControlData]; +} + +- (nullable SDLClimateControlData *)climateControlData { + return [store sdl_objectForName:SDLNameClimateControlData]; +} +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLModuleType.h b/SmartDeviceLink/SDLModuleType.h new file mode 100644 index 000000000..e0c02a844 --- /dev/null +++ b/SmartDeviceLink/SDLModuleType.h @@ -0,0 +1,18 @@ +// +// SDLModuleType.h +// + +#import "SDLEnum.h" + +typedef SDLEnum SDLModuleType SDL_SWIFT_ENUM; + + +/** + * @abstract A SDLModuleType with the value of *CLIMATE* + */ +extern SDLModuleType const SDLModuleTypeClimate; + +/** + * @abstract A SDLModuleType with the value of *RADIO* + */ +extern SDLModuleType const SDLModuleTypeRadio; diff --git a/SmartDeviceLink/SDLModuleType.m b/SmartDeviceLink/SDLModuleType.m new file mode 100644 index 000000000..30744e0c2 --- /dev/null +++ b/SmartDeviceLink/SDLModuleType.m @@ -0,0 +1,8 @@ +// +// SDLModuleType.m +// + +#import "SDLModuleType.h" + +SDLModuleType const SDLModuleTypeClimate = @"CLIMATE"; +SDLModuleType const SDLModuleTypeRadio = @"RADIO"; diff --git a/SmartDeviceLink/SDLNames.h b/SmartDeviceLink/SDLNames.h index c1f69f9ce..aa4727337 100644 --- a/SmartDeviceLink/SDLNames.h +++ b/SmartDeviceLink/SDLNames.h @@ -8,6 +8,10 @@ NS_ASSUME_NONNULL_BEGIN typedef NSString* SDLName SDL_SWIFT_ENUM; +extern SDLName const SDLNameAcEnable; +extern SDLName const SDLNameAcEnableAvailable; +extern SDLName const SDLNameAcMaxEnable; +extern SDLName const SDLNameAcMaxEnableAvailable; extern SDLName const SDLNameAccelerationPedalPosition; extern SDLName const SDLNameActual; extern SDLName const SDLNameAddCommand; @@ -39,7 +43,12 @@ extern SDLName const SDLNameAudioPassThruDisplayText2; extern SDLName const SDLNameAudioStreamingState; extern SDLName const SDLNameAudioType; extern SDLName const SDLNameAutoCompleteText; +extern SDLName const SDLNameAutoModeEnable; +extern SDLName const SDLNameAutoModeEnableAvailable; extern SDLName const SDLNameAuxECallNotificationStatus; +extern SDLName const SDLNameAvailableHDs; +extern SDLName const SDLNameAvailableHDsAvailable; +extern SDLName const SDLNameBand; extern SDLName const SDLNameBatteryLevelStatus; extern SDLName const SDLNameBeltStatus; extern SDLName const SDLNameBitsPerSample; @@ -49,6 +58,7 @@ extern SDLName const SDLNameBulkData; extern SDLName const SDLNameButtonCapabilities; extern SDLName const SDLNameButtonEventMode; extern SDLName const SDLNameButtonName; +extern SDLName const SDLNameButtonPress; extern SDLName const SDLNameButtonPressMode; extern SDLName const SDLNameCoordinate; extern SDLName const SDLNameCallActive; @@ -58,6 +68,10 @@ extern SDLName const SDLNameChangeRegistration; extern SDLName const SDLNameCharacterSet; extern SDLName const SDLNameChoiceId; extern SDLName const SDLNameChoiceSet; +extern SDLName const SDLNameCirculateAirEnable; +extern SDLName const SDLNameCirculateAirEnableAvailable; +extern SDLName const SDLNameClimateControlData; +extern SDLName const SDLNameClimateControlCapabilities; extern SDLName const SDLNameClusterModes; extern SDLName const SDLNameClusterModeStatus; extern SDLName const SDLNameCommandIcon; @@ -67,17 +81,23 @@ extern SDLName const SDLNameCorrelationId; extern SDLName const SDLNameCountryCode; extern SDLName const SDLNameCountryName; extern SDLName const SDLNameCreateInteractionChoiceSet; +extern SDLName const SDLNameCT; +extern SDLName const SDLNameCurrentTemperature; extern SDLName const SDLNameCustomButtonId; extern SDLName const SDLNameCustomPresets; extern SDLName const SDLNameData; extern SDLName const SDLNameDataResult; extern SDLName const SDLNameDataType; extern SDLName const SDLNameDay; +extern SDLName const SDLNameDefrostZone; +extern SDLName const SDLNameDefrostZoneAvailable; extern SDLName const SDLNameDeleteCommand; extern SDLName const SDLNameDeleteFile; extern SDLName const SDLNameDeleteInteractionChoiceSet; extern SDLName const SDLNameDeleteSubMenu; extern SDLName const SDLNameDeliveryMode; +extern SDLName const SDLNameDesiredTemperature; +extern SDLName const SDLNameDesiredTemperatureAvailable; extern SDLName const SDLNameDeviceInfo; extern SDLName const SDLNameDeviceStatus; extern SDLName const SDLNameDiagnosticMessage; @@ -104,6 +124,8 @@ extern SDLName const SDLNameDriverKneeAirbagDeployed; extern SDLName const SDLNameDriverSideAirbagDeployed; extern SDLName const SDLNameDTC; extern SDLName const SDLNameDTCMask; +extern SDLName const SDLNameDualModeEnable; +extern SDLName const SDLNameDualModeEnableAvailable; extern SDLName const SDLNameDuration; extern SDLName const SDLNameE911Override; extern SDLName const SDLNameECallConfirmationStatus; @@ -121,16 +143,21 @@ extern SDLName const SDLNameEngineTorque; extern SDLName const SDLNameETA; extern SDLName const SDLNameEvent; extern SDLName const SDLNameExternalTemperature; +extern SDLName const SDLNameFanSpeed; +extern SDLName const SDLNameFanSpeedAvailable; extern SDLName const SDLNameFilename; extern SDLName const SDLNameFilenames; extern SDLName const SDLNameFileType; extern SDLName const SDLNameFirmwareRevision; +extern SDLName const SDLNameFrequencyInteger; +extern SDLName const SDLNameFrequencyFraction; extern SDLName const SDLNameFuelCutoffStatus; extern SDLName const SDLNameFuelLevel; extern SDLName const SDLNameFuelLevelState; extern SDLName const SDLNameFuelMaintenanceMode; extern SDLName const SDLNameGenericResponse; extern SDLName const SDLNameGetDTCs; +extern SDLName const SDLNameGetInteriorVehicleData; extern SDLName const SDLNameGetSystemCapability; extern SDLName const SDLNameGetVehicleData; extern SDLName const SDLNameGetWaypoints; @@ -141,6 +168,8 @@ extern SDLName const SDLNameGraphicSupported; extern SDLName const SDLNameHardware; extern SDLName const SDLNameHashId; extern SDLName const SDLNameHDOP; +extern SDLName const SDLNameHdChannel; +extern SDLName const SDLNameHdChannelAvailable; extern SDLName const SDLNameHeading; extern SDLName const SDLNameHeadLampStatus; extern SDLName const SDLNameHelpPrompt; @@ -174,6 +203,7 @@ extern SDLName const SDLNameInteractionLayout; extern SDLName const SDLNameInteractionMode; extern SDLName const SDLNameIsHighlighted; extern SDLName const SDLNameIsMediaApplication; +extern SDLName const SDLNameIsSubscribed; extern SDLName const SDLNameKeyboardLayout; extern SDLName const SDLNameKeyboardProperties; extern SDLName const SDLNameKeypressMode; @@ -206,7 +236,6 @@ extern SDLName const SDLNameMajorVersion; extern SDLName const SDLNameMake; extern SDLName const SDLNameManeuverComplete; extern SDLName const SDLNameManualTextEntry; -extern SDLName const SDLNameMaxBitrate; extern SDLName const SDLNameMaxDuration; extern SDLName const SDLNameMaximumChangeVelocity; extern SDLName const SDLNameMaxNumberRFCOMMPorts; @@ -230,6 +259,9 @@ extern SDLName const SDLNameMinorVersion; extern SDLName const SDLNameMinute; extern SDLName const SDLNameMinutes; extern SDLName const SDLNameModel; +extern SDLName const SDLNameModuleData; +extern SDLName const SDLNameModuleName; +extern SDLName const SDLNameModuleType; extern SDLName const SDLNameModelYear; extern SDLName const SDLNameMonoAudioOutputMuted; extern SDLName const SDLNameMonth; @@ -260,6 +292,7 @@ extern SDLName const SDLNameOnDriverDistraction; extern SDLName const SDLNameOnEncodedSyncPData; extern SDLName const SDLNameOnHashChange; extern SDLName const SDLNameOnHMIStatus; +extern SDLName const SDLNameOnInteriorVehicleData; extern SDLName const SDLNameOnKeyboardInput; extern SDLName const SDLNameOnLanguageChange; extern SDLName const SDLNameOnLockScreenStatus; @@ -296,13 +329,13 @@ extern SDLName const SDLNamePhoneCall; extern SDLName const SDLNamePhoneCapability; extern SDLName const SDLNamePhoneNumber; extern SDLName const SDLNamePhoneRoaming; +extern SDLName const SDLNamePI; extern SDLName const SDLNamePlayTone; extern SDLName const SDLNamePosition; extern SDLName const SDLNamePostalCode; extern SDLName const SDLNamePowerModeActive; extern SDLName const SDLNamePowerModeQualificationStatus; extern SDLName const SDLNamePowerModeStatus; -extern SDLName const SDLNamePreferredResolution; extern SDLName const SDLNamePrerecordedSpeech; extern SDLName const SDLNamePresetBankCapabilities; extern SDLName const SDLNamePressAvailable; @@ -312,12 +345,24 @@ extern SDLName const SDLNamePrimaryAudioSource; extern SDLName const SDLNamePRNDL; extern SDLName const SDLNameProgressIndicator; extern SDLName const SDLNameProperties; +extern SDLName const SDLNamePS; +extern SDLName const SDLNamePTY; extern SDLName const SDLNamePutFile; +extern SDLName const SDLNameRadioBandAvailable; +extern SDLName const SDLNameRadioControlCapabilities; +extern SDLName const SDLNameRadioControlData; +extern SDLName const SDLNameRadioEnable; +extern SDLName const SDLNameRadioEnableAvailable; +extern SDLName const SDLNameRadioFrequencyAvailable; +extern SDLName const SDLNameRdsData; +extern SDLName const SDLNameRdsDataAvailable; extern SDLName const SDLNameReadDID; extern SDLName const SDLNameRearLeftDoorAjar; extern SDLName const SDLNameRearRightDoorAjar; extern SDLName const SDLNameReason; +extern SDLName const SDLNameREG; extern SDLName const SDLNameRegisterAppInterface; +extern SDLName const SDLNameRemoteControlCapability; extern SDLName const SDLNameRequest; extern SDLName const SDLNameRequestType; extern SDLName const SDLNameReserved; @@ -337,6 +382,7 @@ extern SDLName const SDLNameRolloverEvent; extern SDLName const SDLNameRows; extern SDLName const SDLNameRPCName; extern SDLName const SDLNameRPM; +extern SDLName const SDLNameRT; extern SDLName const SDLNameSamplingRate; extern SDLName const SDLNameSatellites; extern SDLName const SDLNameScreenParams; @@ -354,12 +400,17 @@ extern SDLName const SDLNameSendLocationEnabled; extern SDLName const SDLNameSetAppIcon; extern SDLName const SDLNameSetDisplayLayout; extern SDLName const SDLNameSetGlobalProperties; +extern SDLName const SDLNameSetInteriorVehicleData; extern SDLName const SDLNameSetMediaClockTimer; extern SDLName const SDLNameShortPress; extern SDLName const SDLNameShortPressAvailable; extern SDLName const SDLNameShow; extern SDLName const SDLNameShowConstantTBT; extern SDLName const SDLNameSignalLevelStatus; +extern SDLName const SDLNameSignalChangeThreshold; +extern SDLName const SDLNameSignalChangeThresholdAvailable; +extern SDLName const SDLNameSignalStrength; +extern SDLName const SDLNameSignalStrengthAvailable; extern SDLName const SDLNameSlider; extern SDLName const SDLNameSliderFooter; extern SDLName const SDLNameSliderHeader; @@ -373,6 +424,7 @@ extern SDLName const SDLNameSpeechCapabilities; extern SDLName const SDLNameSpeed; extern SDLName const SDLNameStartTime; extern SDLName const SDLNameState; +extern SDLName const SDLNameStateAvailable; extern SDLName const SDLNameStateOfCharge; extern SDLName const SDLNameStatus; extern SDLName const SDLNameStatusBar; @@ -387,7 +439,6 @@ extern SDLName const SDLNameSubscribeWaypoints; extern SDLName const SDLNameSubThoroughfare; extern SDLName const SDLNameSuccess; extern SDLName const SDLNameSupportedDiagnosticModes; -extern SDLName const SDLNameSupportedFormats; extern SDLName const SDLNameSyncFileName; extern SDLName const SDLNameSyncMessageVersion; extern SDLName const SDLNameSyncPData; @@ -398,6 +449,7 @@ extern SDLName const SDLNameSystemContext; extern SDLName const SDLNameSystemFile; extern SDLName const SDLNameSystemRequest; extern SDLName const SDLNameSystemSoftwareVersion; +extern SDLName const SDLNameTA; extern SDLName const SDLNameTargetId; extern SDLName const SDLNameTemplatesAvailable; extern SDLName const SDLNameTertiaryText; @@ -414,6 +466,7 @@ extern SDLName const SDLNameTimezoneMinuteOffset; extern SDLName const SDLNameTirePressure; extern SDLName const SDLNameTotalDistance; extern SDLName const SDLNameTouchEventAvailable; +extern SDLName const SDLNameTP; extern SDLName const SDLNameTriggerSource; extern SDLName const SDLNameTrim; extern SDLName const SDLNameTryAgainTime; @@ -423,6 +476,7 @@ extern SDLName const SDLNameTTSName; extern SDLName const SDLNameTurnIcon; extern SDLName const SDLNameTurnList; extern SDLName const SDLNameType; +extern SDLName const SDLNameUnit; extern SDLName const SDLNameUnregisterAppInterface; extern SDLName const SDLNameUnsubscribe; extern SDLName const SDLNameUnsubscribeButton; @@ -444,10 +498,8 @@ extern SDLName const SDLNameUTCYear; extern SDLName const SDLNameValue; extern SDLName const SDLNameVDOP; extern SDLName const SDLNameVehicleType; -extern SDLName const SDLNameVideoCodec; -extern SDLName const SDLNameVideoProtocol; -extern SDLName const SDLNameVideoStreaming; -extern SDLName const SDLNameVideoStreamingCapability; +extern SDLName const SDLNameVentilationMode; +extern SDLName const SDLNameVentilationModeAvailable; extern SDLName const SDLNameVIN; extern SDLName const SDLNameVoiceRecognitionOn; extern SDLName const SDLNameVRCapabilities; diff --git a/SmartDeviceLink/SDLNames.m b/SmartDeviceLink/SDLNames.m index 1962fd4d6..a92f524b2 100644 --- a/SmartDeviceLink/SDLNames.m +++ b/SmartDeviceLink/SDLNames.m @@ -6,6 +6,10 @@ NS_ASSUME_NONNULL_BEGIN +SDLName const SDLNameAcEnable = @"acEnable"; +SDLName const SDLNameAcEnableAvailable = @"acEnableAvailable"; +SDLName const SDLNameAcMaxEnable = @"acMaxEnable"; +SDLName const SDLNameAcMaxEnableAvailable = @"acMaxEnableAvailable"; SDLName const SDLNameAccelerationPedalPosition = @"accPedalPosition"; SDLName const SDLNameActual = @"actual"; SDLName const SDLNameAddCommand = @"AddCommand"; @@ -37,7 +41,12 @@ SDLName const SDLNameAudioPassThruDisplayText2 = @"audioPassThruDisplayText2"; SDLName const SDLNameAudioStreamingState = @"audioStreamingState"; SDLName const SDLNameAudioType = @"audioType"; SDLName const SDLNameAutoCompleteText = @"autoCompleteText"; +SDLName const SDLNameAutoModeEnable = @"autoModeEnable"; +SDLName const SDLNameAutoModeEnableAvailable = @"autoModeEnableAvailable"; SDLName const SDLNameAuxECallNotificationStatus = @"auxECallNotificationStatus"; +SDLName const SDLNameAvailableHDs = @"availableHDs"; +SDLName const SDLNameAvailableHDsAvailable = @"availableHDsAvailable"; +SDLName const SDLNameBand = @"band"; SDLName const SDLNameBatteryLevelStatus = @"battLevelStatus"; SDLName const SDLNameBeltStatus = @"beltStatus"; SDLName const SDLNameBitsPerSample = @"bitsPerSample"; @@ -47,6 +56,7 @@ SDLName const SDLNameBulkData = @"bulkData"; SDLName const SDLNameButtonCapabilities = @"buttonCapabilities"; SDLName const SDLNameButtonEventMode = @"buttonEventMode"; SDLName const SDLNameButtonName = @"buttonName"; +SDLName const SDLNameButtonPress = @"buttonPress"; SDLName const SDLNameButtonPressMode = @"buttonPressMode"; SDLName const SDLNameCoordinate = @"c"; SDLName const SDLNameCallActive = @"callActive"; @@ -56,6 +66,10 @@ SDLName const SDLNameChangeRegistration = @"ChangeRegistration"; SDLName const SDLNameCharacterSet = @"characterSet"; SDLName const SDLNameChoiceId = @"choiceID"; SDLName const SDLNameChoiceSet = @"choiceSet"; +SDLName const SDLNameCirculateAirEnable = @"circulateAirEnableAvailable"; +SDLName const SDLNameCirculateAirEnableAvailable = @"circulateAirEnableAvailable"; +SDLName const SDLNameClimateControlData = @"climateControlData"; +SDLName const SDLNameClimateControlCapabilities = @"climateControlCapabilities"; SDLName const SDLNameClusterModes = @"clusterModes"; SDLName const SDLNameClusterModeStatus = @"clusterModeStatus"; SDLName const SDLNameCommandIcon = @"cmdIcon"; @@ -65,17 +79,23 @@ SDLName const SDLNameCorrelationId = @"correlationID"; SDLName const SDLNameCountryCode = @"countryCode"; SDLName const SDLNameCountryName = @"countryName"; SDLName const SDLNameCreateInteractionChoiceSet = @"CreateInteractionChoiceSet"; +SDLName const SDLNameCT = @"CT"; +SDLName const SDLNameCurrentTemperature = @"currentTemperature"; SDLName const SDLNameCustomButtonId = @"customButtonID"; SDLName const SDLNameCustomPresets = @"customPresets"; SDLName const SDLNameData = @"data"; SDLName const SDLNameDataResult = @"dataResult"; SDLName const SDLNameDataType = @"dataType"; SDLName const SDLNameDay = @"day"; +SDLName const SDLNameDefrostZone = @"defrostZone"; +SDLName const SDLNameDefrostZoneAvailable = @"defrostZoneAvailable"; SDLName const SDLNameDeleteCommand = @"DeleteCommand"; SDLName const SDLNameDeleteFile = @"DeleteFile"; SDLName const SDLNameDeleteInteractionChoiceSet = @"DeleteInteractionChoiceSet"; SDLName const SDLNameDeleteSubMenu = @"DeleteSubMenu"; SDLName const SDLNameDeliveryMode = @"deliveryMode"; +SDLName const SDLNameDesiredTemperature = @"desiredTemperature"; +SDLName const SDLNameDesiredTemperatureAvailable = @"desiredTemperatureAvailable"; SDLName const SDLNameDeviceInfo = @"deviceInfo"; SDLName const SDLNameDeviceStatus = @"deviceStatus"; SDLName const SDLNameDiagnosticMessage = @"DiagnosticMessage"; @@ -101,6 +121,8 @@ SDLName const SDLNameDriverKneeAirbagDeployed = @"driverKneeAirbagDeployed"; SDLName const SDLNameDriverSideAirbagDeployed = @"driverSideAirbagDeployed"; SDLName const SDLNameDTC = @"dtc"; SDLName const SDLNameDTCMask = @"dtcMask"; +SDLName const SDLNameDualModeEnable = @"dualModeEnable"; +SDLName const SDLNameDualModeEnableAvailable = @"dualModeEnableAvailable"; SDLName const SDLNameDuration = @"duration"; SDLName const SDLNameE911Override = @"e911Override"; SDLName const SDLNameECallConfirmationStatus = @"eCallConfirmationStatus"; @@ -118,16 +140,21 @@ SDLName const SDLNameEngineTorque = @"engineTorque"; SDLName const SDLNameETA = @"eta"; SDLName const SDLNameEvent = @"event"; SDLName const SDLNameExternalTemperature = @"externalTemperature"; +SDLName const SDLNameFanSpeed = @"fanSpeed"; +SDLName const SDLNameFanSpeedAvailable = @"fanSpeedAvailable"; SDLName const SDLNameFilename = @"fileName"; SDLName const SDLNameFilenames = @"filenames"; SDLName const SDLNameFileType = @"fileType"; SDLName const SDLNameFirmwareRevision = @"firmwareRev"; +SDLName const SDLNameFrequencyInteger = @"frequencyInteger"; +SDLName const SDLNameFrequencyFraction = @"frequencyFraction"; SDLName const SDLNameFuelCutoffStatus = @"fuelCutoffStatus"; SDLName const SDLNameFuelLevel = @"fuelLevel"; SDLName const SDLNameFuelLevelState = @"fuelLevel_State"; SDLName const SDLNameFuelMaintenanceMode = @"fuelMaintenanceMode"; SDLName const SDLNameGenericResponse = @"GenericResponse"; SDLName const SDLNameGetDTCs = @"GetDTCs"; +SDLName const SDLNameGetInteriorVehicleData = @"GetInteriorVehicleData"; SDLName const SDLNameGetSystemCapability = @"GetSystemCapability"; SDLName const SDLNameGetVehicleData = @"GetVehicleData"; SDLName const SDLNameGetWaypoints = @"GetWayPoints"; @@ -137,6 +164,8 @@ SDLName const SDLNameGraphic = @"graphic"; SDLName const SDLNameGraphicSupported = @"graphicSupported"; SDLName const SDLNameHardware = @"hardware"; SDLName const SDLNameHashId = @"hashID"; +SDLName const SDLNameHdChannel = @"hdChannel"; +SDLName const SDLNameHdChannelAvailable = @"hdChannelAvailable"; SDLName const SDLNameHDOP = @"hdop"; SDLName const SDLNameHeading = @"heading"; SDLName const SDLNameHeadLampStatus = @"headLampStatus"; @@ -172,6 +201,7 @@ SDLName const SDLNameInteractionLayout = @"interactionLayout"; SDLName const SDLNameInteractionMode = @"interactionMode"; SDLName const SDLNameIsHighlighted = @"isHighlighted"; SDLName const SDLNameIsMediaApplication = @"isMediaApplication"; +SDLName const SDLNameIsSubscribed = @"isSubscribed"; SDLName const SDLNameKeyboardLayout = @"keyboardLayout"; SDLName const SDLNameKeyboardProperties = @"keyboardProperties"; SDLName const SDLNameKeypressMode = @"keypressMode"; @@ -204,7 +234,6 @@ SDLName const SDLNameMajorVersion = @"majorVersion"; SDLName const SDLNameMake = @"make"; SDLName const SDLNameManeuverComplete = @"maneuverComplete"; SDLName const SDLNameManualTextEntry = @"manualTextEntry"; -SDLName const SDLNameMaxBitrate = @"maxBitrate"; SDLName const SDLNameMaxDuration = @"maxDuration"; SDLName const SDLNameMaximumChangeVelocity = @"maximumChangeVelocity"; SDLName const SDLNameMaxNumberRFCOMMPorts = @"maxNumberRFCOMMPorts"; @@ -231,6 +260,9 @@ SDLName const SDLNameModel = @"model"; SDLName const SDLNameModelYear = @"modelYear"; SDLName const SDLNameMonoAudioOutputMuted = @"monoAudioOutputMuted"; SDLName const SDLNameMonth = @"month"; +SDLName const SDLNameModuleData = @"moduleData"; +SDLName const SDLNameModuleName = @"moduleName"; +SDLName const SDLNameModuleType = @"moduleType"; SDLName const SDLNameMultipleEvents = @"multipleEvents"; SDLName const SDLNameMultiTouchAvailable = @"multiTouchAvailable"; SDLName const SDLNameMuteAudio = @"muteAudio"; @@ -258,6 +290,7 @@ SDLName const SDLNameOnDriverDistraction = @"OnDriverDistraction"; SDLName const SDLNameOnEncodedSyncPData = @"OnEncodedSyncPData"; SDLName const SDLNameOnHashChange = @"OnHashChange"; SDLName const SDLNameOnHMIStatus = @"OnHMIStatus"; +SDLName const SDLNameOnInteriorVehicleData = @"OnInteriorVehicleData"; SDLName const SDLNameOnKeyboardInput = @"OnKeyboardInput"; SDLName const SDLNameOnLanguageChange = @"OnLanguageChange"; SDLName const SDLNameOnLockScreenStatus = @"OnLockScreenStatus"; @@ -294,13 +327,13 @@ SDLName const SDLNamePhoneCall = @"phoneCall"; SDLName const SDLNamePhoneCapability = @"phoneCapability"; SDLName const SDLNamePhoneNumber = @"phoneNumber"; SDLName const SDLNamePhoneRoaming = @"phoneRoaming"; +SDLName const SDLNamePI = @"PI"; SDLName const SDLNamePlayTone = @"playTone"; SDLName const SDLNamePosition = @"position"; SDLName const SDLNamePostalCode = @"postalCode"; SDLName const SDLNamePowerModeActive = @"powerModeActive"; SDLName const SDLNamePowerModeQualificationStatus = @"powerModeQualificationStatus"; SDLName const SDLNamePowerModeStatus = @"powerModeStatus"; -SDLName const SDLNamePreferredResolution = @"preferredResolution"; SDLName const SDLNamePrerecordedSpeech = @"prerecordedSpeech"; SDLName const SDLNamePresetBankCapabilities = @"presetBankCapabilities"; SDLName const SDLNamePressAvailable = @"pressAvailable"; @@ -310,16 +343,29 @@ SDLName const SDLNamePrimaryAudioSource = @"primaryAudioSource"; SDLName const SDLNamePRNDL = @"prndl"; SDLName const SDLNameProgressIndicator = @"progressIndicator"; SDLName const SDLNameProperties = @"properties"; +SDLName const SDLNamePS = @"PS"; +SDLName const SDLNamePTY = @"PTY"; SDLName const SDLNamePutFile = @"PutFile"; +SDLName const SDLNameRadioBandAvailable = @"radioBandAvailable"; +SDLName const SDLNameRadioControlCapabilities = @"radioControlCapabilities"; +SDLName const SDLNameRadioFrequencyAvailable = @"radioFrequencyAvailable"; +SDLName const SDLNameRadioControlData = @"radioControlData"; +SDLName const SDLNameRadioEnable = @"radioEnable"; +SDLName const SDLNameRadioEnableAvailable = @"radioEnableAvailable"; +SDLName const SDLNameRdsData = @"rdsData"; +SDLName const SDLNameRdsDataAvailable = @"rdsDataAvailable"; SDLName const SDLNameReadDID = @"ReadDID"; SDLName const SDLNameRearLeftDoorAjar = @"rearLeftDoorAjar"; SDLName const SDLNameRearRightDoorAjar = @"rearRightDoorAjar"; SDLName const SDLNameReason = @"reason"; +SDLName const SDLNameREG = @"REG"; SDLName const SDLNameRegisterAppInterface = @"RegisterAppInterface"; +SDLName const SDLNameRemoteControlCapability = @"remoteControlCapability"; SDLName const SDLNameRequest = @"request"; SDLName const SDLNameRequestType = @"requestType"; SDLName const SDLNameReserved = @"reserved"; SDLName const SDLNameResetGlobalProperties = @"ResetGlobalProperties"; +SDLName const SDLNameSetInteriorVehicleData = @"SetInteriorVehicleData"; SDLName const SDLNameResolution = @"resolution"; SDLName const SDLNameResolutionHeight = @"resolutionHeight"; SDLName const SDLNameResolutionWidth = @"resolutionWidth"; @@ -335,6 +381,7 @@ SDLName const SDLNameRolloverEvent = @"rolloverEvent"; SDLName const SDLNameRows = @"rows"; SDLName const SDLNameRPCName = @"rpcName"; SDLName const SDLNameRPM = @"rpm"; +SDLName const SDLNameRT = @"RT"; SDLName const SDLNameSamplingRate = @"samplingRate"; SDLName const SDLNameSatellites = @"satellites"; SDLName const SDLNameScreenParams = @"screenParams"; @@ -358,6 +405,10 @@ SDLName const SDLNameShortPressAvailable = @"shortPressAvailable"; SDLName const SDLNameShow = @"Show"; SDLName const SDLNameShowConstantTBT = @"ShowConstantTBT"; SDLName const SDLNameSignalLevelStatus = @"signalLevelStatus"; +SDLName const SDLNameSignalChangeThreshold = @"signalChangeThreshold"; +SDLName const SDLNameSignalChangeThresholdAvailable = @"signalChangeThresholdAvailable"; +SDLName const SDLNameSignalStrength = @"signalStrength"; +SDLName const SDLNameSignalStrengthAvailable = @"signalStrengthAvailable"; SDLName const SDLNameSlider = @"Slider"; SDLName const SDLNameSliderFooter = @"sliderFooter"; SDLName const SDLNameSliderHeader = @"sliderHeader"; @@ -371,6 +422,7 @@ SDLName const SDLNameSpeechCapabilities = @"speechCapabilities"; SDLName const SDLNameSpeed = @"speed"; SDLName const SDLNameStartTime = @"startTime"; SDLName const SDLNameState = @"state"; +SDLName const SDLNameStateAvailable = @"stateAvailable"; SDLName const SDLNameStateOfCharge = @"stateOfCharge"; SDLName const SDLNameStatus = @"status"; SDLName const SDLNameStatusBar = @"statusBar"; @@ -378,14 +430,13 @@ SDLName const SDLNameSteeringWheelAngle = @"steeringWheelAngle"; SDLName const SDLNameStereoAudioOutputMuted = @"stereoAudioOutputMuted"; SDLName const SDLNameSubAdministrativeArea = @"subAdministrativeArea"; SDLName const SDLNameSubLocality = @"subLocality"; -SDLName const SDLNameSubscribe = @"Subscribe"; +SDLName const SDLNameSubscribe = @"subscribe"; SDLName const SDLNameSubscribeButton = @"SubscribeButton"; SDLName const SDLNameSubscribeVehicleData = @"SubscribeVehicleData"; SDLName const SDLNameSubscribeWaypoints = @"SubscribeWayPoints"; SDLName const SDLNameSubThoroughfare = @"subThoroughfare"; SDLName const SDLNameSuccess = @"success"; SDLName const SDLNameSupportedDiagnosticModes = @"supportedDiagModes"; -SDLName const SDLNameSupportedFormats = @"supportedFormats"; SDLName const SDLNameSyncFileName = @"syncFileName"; SDLName const SDLNameSyncMessageVersion = @"syncMsgVersion"; SDLName const SDLNameSyncPData = @"SyncPData"; @@ -397,6 +448,7 @@ SDLName const SDLNameSystemFile = @"systemFile"; SDLName const SDLNameSystemRequest = @"SystemRequest"; SDLName const SDLNameSystemSoftwareVersion = @"systemSoftwareVersion"; SDLName const SDLNameDialNumber = @"DialNumber"; +SDLName const SDLNameTA = @"TA"; SDLName const SDLNameTargetId = @"targetID"; SDLName const SDLNameTemplatesAvailable = @"templatesAvailable"; SDLName const SDLNameTertiaryText = @"tertiaryText"; @@ -413,6 +465,7 @@ SDLName const SDLNameTimezoneMinuteOffset = @"tz_minute"; SDLName const SDLNameTirePressure = @"tirePressure"; SDLName const SDLNameTotalDistance = @"totalDistance"; SDLName const SDLNameTouchEventAvailable = @"touchEventAvailable"; +SDLName const SDLNameTP = @"TP"; SDLName const SDLNameTriggerSource = @"triggerSource"; SDLName const SDLNameTrim = @"trim"; SDLName const SDLNameTryAgainTime = @"tryAgainTime"; @@ -422,6 +475,7 @@ SDLName const SDLNameTTSName = @"ttsName"; SDLName const SDLNameTurnIcon = @"turnIcon"; SDLName const SDLNameTurnList = @"turnList"; SDLName const SDLNameType = @"type"; +SDLName const SDLNameUnit = @"unit"; SDLName const SDLNameUnregisterAppInterface = @"UnregisterAppInterface"; SDLName const SDLNameUnsubscribe = @"Unsubscribe"; SDLName const SDLNameUnsubscribeButton = @"UnsubscribeButton"; @@ -443,10 +497,8 @@ SDLName const SDLNameUTCYear = @"utcYear"; SDLName const SDLNameValue = @"value"; SDLName const SDLNameVDOP = @"vdop"; SDLName const SDLNameVehicleType = @"vehicleType"; -SDLName const SDLNameVideoCodec = @"videoCodec"; -SDLName const SDLNameVideoProtocol = @"videoProtocol"; -SDLName const SDLNameVideoStreaming = @"videoStreaming"; -SDLName const SDLNameVideoStreamingCapability = @"videoStreamingCapability"; +SDLName const SDLNameVentilationMode = @"ventilationMode"; +SDLName const SDLNameVentilationModeAvailable = @"ventilationModeAvailable"; SDLName const SDLNameVIN = @"vin"; SDLName const SDLNameVoiceRecognitionOn = @"voiceRecOn"; SDLName const SDLNameVRCapabilities = @"vrCapabilities"; diff --git a/SmartDeviceLink/SDLNotificationConstants.h b/SmartDeviceLink/SDLNotificationConstants.h index 9c9edca13..d0a789e9c 100644 --- a/SmartDeviceLink/SDLNotificationConstants.h +++ b/SmartDeviceLink/SDLNotificationConstants.h @@ -50,19 +50,19 @@ typedef void (^SDLResponseHandler)(__kindof SDLRPCRequest *__nullable request, _ /** A handler that may optionally be run when an SDLSubscribeButton or SDLSoftButton has a corresponding notification occur. - + @warning This only works if you send the RPC using SDLManager. @warning Only one of the two parameters will be set for each block call. - + @param buttonPress An SDLOnButtonPress object that corresponds to this particular button. @param buttonEvent An SDLOnButtonEvent object that corresponds to this particular button. */ typedef void (^SDLRPCButtonNotificationHandler)(SDLOnButtonPress *_Nullable buttonPress, SDLOnButtonEvent *_Nullable buttonEvent); /** A handler that may optionally be run when an SDLAddCommand has a corresponding notification occur. - + @warning This only works if you send the RPC using SDLManager. - + @param command An SDLOnCommand object that corresponds to this particular SDLAddCommand. */ typedef void (^SDLRPCCommandNotificationHandler)(SDLOnCommand *command); @@ -91,6 +91,7 @@ extern SDLNotificationName const SDLDidReceiveAddCommandResponse; extern SDLNotificationName const SDLDidReceiveAddSubMenuResponse; extern SDLNotificationName const SDLDidReceiveAlertResponse; extern SDLNotificationName const SDLDidReceiveAlertManeuverResponse; +extern SDLNotificationName const SDLDidReceiveButtonPressResponse; extern SDLNotificationName const SDLDidReceiveChangeRegistrationResponse; extern SDLNotificationName const SDLDidReceiveCreateInteractionChoiceSetResponse; extern SDLNotificationName const SDLDidReceiveDeleteCommandResponse; @@ -103,6 +104,7 @@ extern SDLNotificationName const SDLDidReceiveEncodedSyncPDataResponse; extern SDLNotificationName const SDLDidReceiveEndAudioPassThruResponse; extern SDLNotificationName const SDLDidReceiveGenericResponse; extern SDLNotificationName const SDLDidReceiveGetDTCsResponse; +extern SDLNotificationName const SDLDidReceiveGetInteriorVehicleDataResponse; extern SDLNotificationName const SDLDidReceiveGetSystemCapabilitiesResponse; extern SDLNotificationName const SDLDidReceiveGetVehicleDataResponse; extern SDLNotificationName const SDLDidReceiveGetWaypointsResponse; @@ -118,6 +120,7 @@ extern SDLNotificationName const SDLDidReceiveSendLocationResponse; extern SDLNotificationName const SDLDidReceiveSetAppIconResponse; extern SDLNotificationName const SDLDidReceiveSetDisplayLayoutResponse; extern SDLNotificationName const SDLDidReceiveSetGlobalPropertiesResponse; +extern SDLNotificationName const SDLDidReceiveSetInteriorVehicleDataResponse; extern SDLNotificationName const SDLDidReceiveSetMediaClockTimerResponse; extern SDLNotificationName const SDLDidReceiveShowConstantTBTResponse; extern SDLNotificationName const SDLDidReceiveShowResponse; @@ -145,6 +148,7 @@ extern SDLNotificationName const SDLDidReceiveButtonEventNotification; extern SDLNotificationName const SDLDidReceiveButtonPressNotification; extern SDLNotificationName const SDLDidReceiveCommandNotification; extern SDLNotificationName const SDLDidReceiveEncodedDataNotification; +extern SDLNotificationName const SDLDidReceiveInteriorVehicleDataNotification; extern SDLNotificationName const SDLDidReceiveKeyboardInputNotification; extern SDLNotificationName const SDLDidChangeLanguageNotification; extern SDLNotificationName const SDLDidChangeLockScreenStatusNotification; diff --git a/SmartDeviceLink/SDLNotificationConstants.m b/SmartDeviceLink/SDLNotificationConstants.m index b444a8857..1fc57663f 100644 --- a/SmartDeviceLink/SDLNotificationConstants.m +++ b/SmartDeviceLink/SDLNotificationConstants.m @@ -24,6 +24,7 @@ SDLNotificationName const SDLDidReceiveAddCommandResponse = @"com.sdl.response.a SDLNotificationName const SDLDidReceiveAddSubMenuResponse = @"com.sdl.response.addSubMenu"; SDLNotificationName const SDLDidReceiveAlertResponse = @"com.sdl.response.alert"; SDLNotificationName const SDLDidReceiveAlertManeuverResponse = @"com.sdl.response.alertManeuver"; +SDLNotificationName const SDLDidReceiveButtonPressResponse = @"com.sdl.response.buttonPress"; SDLNotificationName const SDLDidReceiveChangeRegistrationResponse = @"com.sdl.response.changeRegistration"; SDLNotificationName const SDLDidReceiveCreateInteractionChoiceSetResponse = @"com.sdl.response.createInteractionChoiceSet"; SDLNotificationName const SDLDidReceiveDeleteCommandResponse = @"com.sdl.response.deleteCommand"; @@ -36,6 +37,7 @@ SDLNotificationName const SDLDidReceiveEncodedSyncPDataResponse = @"com.sdl.resp SDLNotificationName const SDLDidReceiveEndAudioPassThruResponse = @"com.sdl.response.endAudioPassThru"; SDLNotificationName const SDLDidReceiveGenericResponse = @"com.sdl.response.generic"; SDLNotificationName const SDLDidReceiveGetDTCsResponse = @"com.sdl.response.getDTCs"; +SDLNotificationName const SDLDidReceiveGetInteriorVehicleDataResponse = @"com.sdl.response.getInteriorVehicleData"; SDLNotificationName const SDLDidReceiveGetSystemCapabilitiesResponse = @"com.sdl.response.getSystemCapabilities"; SDLNotificationName const SDLDidReceiveGetVehicleDataResponse = @"com.sdl.response.getVehicleData"; SDLNotificationName const SDLDidReceiveGetWaypointsResponse = @"com.sdl.response.getWaypoints"; @@ -51,6 +53,7 @@ SDLNotificationName const SDLDidReceiveSendLocationResponse = @"com.sdl.response SDLNotificationName const SDLDidReceiveSetAppIconResponse = @"com.sdl.response.setAppIcon"; SDLNotificationName const SDLDidReceiveSetDisplayLayoutResponse = @"com.sdl.response.setDisplayLayout"; SDLNotificationName const SDLDidReceiveSetGlobalPropertiesResponse = @"com.sdl.response.setGlobalProperties"; +SDLNotificationName const SDLDidReceiveSetInteriorVehicleDataResponse = @"com.sdl.response.setInteriorVehicleData"; SDLNotificationName const SDLDidReceiveSetMediaClockTimerResponse = @"com.sdl.response.setMediaClockTimer"; SDLNotificationName const SDLDidReceiveShowConstantTBTResponse = @"com.sdl.response.showConstantTBT"; SDLNotificationName const SDLDidReceiveShowResponse = @"com.sdl.response.show"; @@ -75,6 +78,7 @@ SDLNotificationName const SDLDidReceiveButtonEventNotification = @"com.sdl.notif SDLNotificationName const SDLDidReceiveButtonPressNotification = @"com.sdl.notification.buttonPress"; SDLNotificationName const SDLDidReceiveCommandNotification = @"com.sdl.notification.command"; SDLNotificationName const SDLDidReceiveEncodedDataNotification = @"com.sdl.notification.encodedData"; +SDLNotificationName const SDLDidReceiveInteriorVehicleDataNotification = @"com.sdl.notification.interiorVehicleData"; SDLNotificationName const SDLDidReceiveKeyboardInputNotification = @"com.sdl.notification.keyboardInput"; SDLNotificationName const SDLDidChangeLanguageNotification = @"com.sdl.notification.changeLanguage"; SDLNotificationName const SDLDidChangeLockScreenStatusNotification = @"com.sdl.notification.lockScreenStatus"; @@ -94,6 +98,7 @@ SDLNotificationName const SDLDidReceiveWaypointNotification = @"com.sdl.notifica SDLDidReceiveAddSubMenuResponse, SDLDidReceiveAlertResponse, SDLDidReceiveAlertManeuverResponse, + SDLDidReceiveButtonPressResponse, SDLDidReceiveChangeRegistrationResponse, SDLDidReceiveCreateInteractionChoiceSetResponse, SDLDidReceiveDeleteCommandResponse, @@ -106,6 +111,7 @@ SDLNotificationName const SDLDidReceiveWaypointNotification = @"com.sdl.notifica SDLDidReceiveEndAudioPassThruResponse, SDLDidReceiveGenericResponse, SDLDidReceiveGetDTCsResponse, + SDLDidReceiveGetInteriorVehicleDataResponse, SDLDidReceiveGetSystemCapabilitiesResponse, SDLDidReceiveGetVehicleDataResponse, SDLDidReceiveGetWaypointsResponse, @@ -121,6 +127,7 @@ SDLNotificationName const SDLDidReceiveWaypointNotification = @"com.sdl.notifica SDLDidReceiveSetAppIconResponse, SDLDidReceiveSetDisplayLayoutResponse, SDLDidReceiveSetGlobalPropertiesResponse, + SDLDidReceiveSetInteriorVehicleDataResponse, SDLDidReceiveSetMediaClockTimerResponse, SDLDidReceiveShowConstantTBTResponse, SDLDidReceiveShowResponse, diff --git a/SmartDeviceLink/SDLNotificationDispatcher.m b/SmartDeviceLink/SDLNotificationDispatcher.m index 00ae1f962..77dc8ee87 100644 --- a/SmartDeviceLink/SDLNotificationDispatcher.m +++ b/SmartDeviceLink/SDLNotificationDispatcher.m @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN if (infoObject != nil) { userInfo = @{SDLNotificationUserInfoObject: infoObject}; } - + dispatch_async(dispatch_get_main_queue(), ^{ [[NSNotificationCenter defaultCenter] postNotificationName:name object:self userInfo:userInfo]; }); @@ -94,6 +94,10 @@ NS_ASSUME_NONNULL_BEGIN [self postRPCResponseNotification:SDLDidReceiveAlertResponse response:response]; } +- (void)onButtonPressResponse:(SDLButtonPressResponse *)response { + [self postRPCResponseNotification:SDLDidReceiveButtonPressResponse response:response]; +} + - (void)onChangeRegistrationResponse:(SDLChangeRegistrationResponse *)response { [self postRPCResponseNotification:SDLDidReceiveChangeRegistrationResponse response:response]; } @@ -142,6 +146,11 @@ NS_ASSUME_NONNULL_BEGIN [self postRPCResponseNotification:SDLDidReceiveGetDTCsResponse response:response]; } + +- (void)onGetInteriorVehicleDataResponse:(SDLGetInteriorVehicleDataResponse *)response { + [self postRPCResponseNotification:SDLDidReceiveGetInteriorVehicleDataResponse response:response]; +} + - (void)onGetSystemCapabilityResponse:(SDLGetSystemCapabilityResponse *)response { [self postRPCResponseNotification:SDLDidReceiveGetSystemCapabilitiesResponse response:response]; } @@ -202,6 +211,11 @@ NS_ASSUME_NONNULL_BEGIN [self postRPCResponseNotification:SDLDidReceiveSetGlobalPropertiesResponse response:response]; } + +- (void)onSetInteriorVehicleDataResponse:(SDLSetInteriorVehicleDataResponse *)response{ + [self postRPCResponseNotification:SDLDidReceiveSetInteriorVehicleDataResponse response:response]; +} + - (void)onSetMediaClockTimerResponse:(SDLSetMediaClockTimerResponse *)response { [self postRPCResponseNotification:SDLDidReceiveSetMediaClockTimerResponse response:response]; } @@ -286,6 +300,10 @@ NS_ASSUME_NONNULL_BEGIN [self postRPCNotificationNotification:SDLDidReceiveNewHashNotification notification:notification]; } +- (void)onOnInteriorVehicleData:(SDLOnInteriorVehicleData *)notification { + [self postRPCNotificationNotification:SDLDidReceiveInteriorVehicleDataNotification notification:notification]; +} + - (void)onOnKeyboardInput:(SDLOnKeyboardInput *)notification { [self postRPCNotificationNotification:SDLDidReceiveKeyboardInputNotification notification:notification]; } diff --git a/SmartDeviceLink/SDLOnInteriorVehicleData.h b/SmartDeviceLink/SDLOnInteriorVehicleData.h new file mode 100644 index 000000000..d7f05a972 --- /dev/null +++ b/SmartDeviceLink/SDLOnInteriorVehicleData.h @@ -0,0 +1,16 @@ +// +// SDLOnInteriorVehicleData.h +// + +#import "SDLRPCNotification.h" +@class SDLModuleData; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLOnInteriorVehicleData : SDLRPCNotification + +@property (strong) SDLModuleData *moduleData; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLOnInteriorVehicleData.m b/SmartDeviceLink/SDLOnInteriorVehicleData.m new file mode 100644 index 000000000..544268eb2 --- /dev/null +++ b/SmartDeviceLink/SDLOnInteriorVehicleData.m @@ -0,0 +1,31 @@ +// +// SDLOnInteriorVehicleData.m +// + +#import "SDLOnInteriorVehicleData.h" +#import "SDLNames.h" +#import "SDLModuleData.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLOnInteriorVehicleData + + +- (instancetype)init { + if (self = [super initWithName:SDLNameOnInteriorVehicleData]) { + } + return self; +} + +- (void)setModuleData:(SDLModuleData *)moduleData { + [parameters sdl_setObject:moduleData forName:SDLNameModuleData]; +} + +- (SDLModuleData *)moduleData { + return [parameters sdl_objectForName:SDLNameModuleData]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLProxyListener.h b/SmartDeviceLink/SDLProxyListener.h index b3d29825c..d28d699fa 100644 --- a/SmartDeviceLink/SDLProxyListener.h +++ b/SmartDeviceLink/SDLProxyListener.h @@ -7,6 +7,7 @@ @class SDLAddSubMenuResponse; @class SDLAlertManeuverResponse; @class SDLAlertResponse; +@class SDLButtonPressResponse; @class SDLChangeRegistrationResponse; @class SDLCreateInteractionChoiceSetResponse; @class SDLDeleteCommandResponse; @@ -19,6 +20,7 @@ @class SDLEndAudioPassThruResponse; @class SDLGenericResponse; @class SDLGetDTCsResponse; +@class SDLGetInteriorVehicleDataResponse; @class SDLGetSystemCapabilityResponse; @class SDLGetVehicleDataResponse; @class SDLGetWaypointsResponse; @@ -32,6 +34,7 @@ @class SDLOnEncodedSyncPData; @class SDLOnHashChange; @class SDLOnHMIStatus; +@class SDLOnInteriorVehicleData; @class SDLOnKeyboardInput; @class SDLOnLanguageChange; @class SDLOnLockScreenStatus; @@ -54,6 +57,7 @@ @class SDLSetAppIconResponse; @class SDLSetDisplayLayoutResponse; @class SDLSetGlobalPropertiesResponse; +@class SDLSetInteriorVehicleDataResponse; @class SDLSetMediaClockTimerResponse; @class SDLShowConstantTBTResponse; @class SDLShowResponse; @@ -84,6 +88,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)onAddSubMenuResponse:(SDLAddSubMenuResponse *)response; - (void)onAlertManeuverResponse:(SDLAlertManeuverResponse *)response; - (void)onAlertResponse:(SDLAlertResponse *)response; +- (void)onButtonPressResponse:(SDLButtonPressResponse *)response; - (void)onChangeRegistrationResponse:(SDLChangeRegistrationResponse *)response; - (void)onCreateInteractionChoiceSetResponse:(SDLCreateInteractionChoiceSetResponse *)response; - (void)onDeleteCommandResponse:(SDLDeleteCommandResponse *)response; @@ -97,6 +102,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)onError:(NSException *)e; - (void)onGenericResponse:(SDLGenericResponse *)response; - (void)onGetDTCsResponse:(SDLGetDTCsResponse *)response; +- (void)onGetInteriorVehicleDataResponse:(SDLGetInteriorVehicleDataResponse *)response; - (void)onGetSystemCapabilityResponse:(SDLGetSystemCapabilityResponse *)response; - (void)onGetVehicleDataResponse:(SDLGetVehicleDataResponse *)response; - (void)onGetWayPointsResponse:(SDLGetWaypointsResponse *)response; @@ -109,6 +115,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)onOnCommand:(SDLOnCommand *)notification; - (void)onOnEncodedSyncPData:(SDLOnEncodedSyncPData *)notification; - (void)onOnHashChange:(SDLOnHashChange *)notification; +- (void)onOnInteriorVehicleData:(SDLOnInteriorVehicleData *)notification; - (void)onOnKeyboardInput:(SDLOnKeyboardInput *)notification; - (void)onOnLanguageChange:(SDLOnLanguageChange *)notification; - (void)onOnLockScreenNotification:(SDLOnLockScreenStatus *)notification; @@ -130,6 +137,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)onSetAppIconResponse:(SDLSetAppIconResponse *)response; - (void)onSetDisplayLayoutResponse:(SDLSetDisplayLayoutResponse *)response; - (void)onSetGlobalPropertiesResponse:(SDLSetGlobalPropertiesResponse *)response; +- (void)onSetInteriorVehicleDataResponse:(SDLSetInteriorVehicleDataResponse *)response; - (void)onSetMediaClockTimerResponse:(SDLSetMediaClockTimerResponse *)response; - (void)onShowConstantTBTResponse:(SDLShowConstantTBTResponse *)response; - (void)onShowResponse:(SDLShowResponse *)response; diff --git a/SmartDeviceLink/SDLRadioBand.h b/SmartDeviceLink/SDLRadioBand.h new file mode 100644 index 000000000..7005da795 --- /dev/null +++ b/SmartDeviceLink/SDLRadioBand.h @@ -0,0 +1,26 @@ +// +// SDLRadioBand.h +// + +#import "SDLEnum.h" + + +typedef SDLEnum SDLRadioBand SDL_SWIFT_ENUM; + +/** + * @abstract Represents AM radio band + * + */ +extern SDLRadioBand const SDLRadioBandAM; + +/** + * @abstract Represents FM radio band + * + */ +extern SDLRadioBand const SDLRadioBandFM; + +/** + * @abstract Represents XM radio band + * + */ +extern SDLRadioBand const SDLRadioBandXM; diff --git a/SmartDeviceLink/SDLRadioBand.m b/SmartDeviceLink/SDLRadioBand.m new file mode 100644 index 000000000..1aa03e70f --- /dev/null +++ b/SmartDeviceLink/SDLRadioBand.m @@ -0,0 +1,9 @@ +// +// SDLRadioBand.m +// + +#import "SDLRadioBand.h" + +SDLRadioBand const SDLRadioBandAM = @"AM"; +SDLRadioBand const SDLRadioBandFM = @"FM"; +SDLRadioBand const SDLRadioBandXM = @"XM"; diff --git a/SmartDeviceLink/SDLRadioControlCapabilities.h b/SmartDeviceLink/SDLRadioControlCapabilities.h new file mode 100644 index 000000000..952d62a14 --- /dev/null +++ b/SmartDeviceLink/SDLRadioControlCapabilities.h @@ -0,0 +1,96 @@ +// +// SDLRadioControlCapabilities.h +// + +#import "SDLRPCMessage.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Contains information about a radio control module's capabilities. + */ +@interface SDLRadioControlCapabilities : SDLRPCStruct + +/** + * @abstractThe short friendly name of the climate control module. + * It should not be used to identify a module by mobile application. + * + * Max string length 100 chars + */ +@property (strong, nonatomic) NSString *moduleName; + +/** + * @abstract Availability of the control of enable/disable radio. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *radioEnableAvailable; + +/** + * @abstract Availability of the control of radio band. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *radioBandAvailable; + +/** + * @abstract Availability of the control of radio frequency. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *radioFrequencyAvailable; + +/** + * @abstract Availability of the control of HD radio channel. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *hdChannelAvailable; + +/** + * @abstract Availability of the getting Radio Data System (RDS) data. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *rdsDataAvailable; + +/** + * @abstract Availability of the getting the number of available HD channels. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *availableHDsAvailable; + +/** + * @abstract Availability of the getting the Radio state. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *stateAvailable; + +/** + * @abstract Availability of the getting the signal strength. + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *signalStrengthAvailable; + +/** + * @abstract Availability of the getting the signal Change Threshold + * True: Available, False: Not Available, Not present: Not Available. + * + * Optional, Boolean + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *signalChangeThresholdAvailable; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLRadioControlCapabilities.m b/SmartDeviceLink/SDLRadioControlCapabilities.m new file mode 100644 index 000000000..82570a9c4 --- /dev/null +++ b/SmartDeviceLink/SDLRadioControlCapabilities.m @@ -0,0 +1,103 @@ +// +// SDLRadioControlCapabilities.m +// + +#import "SDLRadioControlCapabilities.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLRadioControlCapabilities + +- (void)setModuleName:(NSString *)moduleName { + [store sdl_setObject:moduleName forName:SDLNameModuleName]; +} + +- (NSString *)moduleName { + return [store sdl_objectForName:SDLNameModuleName]; +} + +- (void)setRadioEnableAvailable:(nullable NSNumber<SDLBool> *)radioEnableAvailable { + [store sdl_setObject:radioEnableAvailable forName:SDLNameRadioEnableAvailable]; + +} + +- (nullable NSNumber<SDLBool> *)radioEnableAvailable { + return [store sdl_objectForName:SDLNameRadioEnableAvailable]; +} + +- (void)setRadioBandAvailable:(nullable NSNumber<SDLBool> *)radioBandAvailable { + [store sdl_setObject:radioBandAvailable forName:SDLNameRadioBandAvailable]; + +} + +- (nullable NSNumber<SDLBool> *)radioBandAvailable { + return [store sdl_objectForName:SDLNameRadioBandAvailable]; +} + +- (void)setRadioFrequencyAvailable:(nullable NSNumber<SDLBool> *)radioFrequencyAvailable { + [store sdl_setObject:radioFrequencyAvailable forName:SDLNameRadioFrequencyAvailable]; +} + +- (nullable NSNumber<SDLBool> *)radioFrequencyAvailable { + return [store sdl_objectForName:SDLNameRadioFrequencyAvailable]; +} + +- (void)setHdChannelAvailable:(nullable NSNumber<SDLBool> *)hdChannelAvailable { + [store sdl_setObject:hdChannelAvailable forName:SDLNameHdChannelAvailable]; + +} + +- (nullable NSNumber<SDLBool> *)hdChannelAvailable { + return [store sdl_objectForName:SDLNameHdChannelAvailable]; +} + +- (void)setRdsDataAvailable:(nullable NSNumber<SDLBool> *)rdsDataAvailable { + [store sdl_setObject:rdsDataAvailable forName:SDLNameRdsDataAvailable]; + +} + +- (nullable NSNumber<SDLBool> *)rdsDataAvailable { + return [store sdl_objectForName:SDLNameRdsDataAvailable]; +} + +- (void)setAvailableHDsAvailable:(nullable NSNumber<SDLBool> *)availableHDsAvailable { + [store sdl_setObject:availableHDsAvailable forName:SDLNameAvailableHDsAvailable]; + +} + +- (nullable NSNumber<SDLBool> *)availableHDsAvailable { + return [store sdl_objectForName:SDLNameAvailableHDsAvailable]; +} + +- (void)setStateAvailable:(nullable NSNumber<SDLBool> *)stateAvailable { + [store sdl_setObject:stateAvailable forName:SDLNameStateAvailable]; + +} + +- (nullable NSNumber<SDLBool> *)stateAvailable { + return [store sdl_objectForName:SDLNameStateAvailable]; +} + +- (void)setSignalStrengthAvailable:(nullable NSNumber<SDLBool> *)signalStrengthAvailable { + [store sdl_setObject:signalStrengthAvailable forName:SDLNameSignalStrengthAvailable]; + +} + +- (nullable NSNumber<SDLBool> *)signalStrengthAvailable { + return [store sdl_objectForName:SDLNameSignalStrengthAvailable]; +} + +- (void)setSignalChangeThresholdAvailable:(nullable NSNumber<SDLBool> *)signalChangeThresholdAvailable { + [store sdl_setObject:signalChangeThresholdAvailable forName:SDLNameSignalChangeThresholdAvailable]; + +} + +- (nullable NSNumber<SDLBool> *)signalChangeThresholdAvailable { + return [store sdl_objectForName:SDLNameSignalChangeThresholdAvailable]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLRadioControlData.h b/SmartDeviceLink/SDLRadioControlData.h new file mode 100644 index 000000000..11ffe5e4d --- /dev/null +++ b/SmartDeviceLink/SDLRadioControlData.h @@ -0,0 +1,77 @@ +// +// SDLRadioControlData.h +// + +#import "SDLRPCMessage.h" +#import "SDLRadioBand.h" +#import "SDLRadioState.h" +@class SDLRdsData; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLRadioControlData : SDLRPCStruct + +/** + * @abstract The integer part of the frequency ie for 101.7 this value should be 101 + * + * Integer + */ +@property (nullable, strong, nonatomic) NSNumber<SDLInt> *frequencyInteger; + +/** + * @abstract The fractional part of the frequency for 101.7 is 7 + * + * Integer + */ +@property (nullable, strong, nonatomic) NSNumber<SDLInt> *frequencyFraction; + +/** + * @abstract Radio band value + * + * SDLRadioBand + */ +@property (nullable, strong, nonatomic) SDLRadioBand band; + +@property (nullable, strong, nonatomic) SDLRdsData *rdsData; + +/** + * @abstract number of HD sub-channels if available + * + * Integer value Min Value - 1 Max Value -3 + */ +@property (nullable, strong, nonatomic) NSNumber<SDLInt> *availableHDs; + +/** + * @abstract Current HD sub-channel if available + * + * Integer value Min Value - 1 Max Value -3 + */ +@property (nullable, strong, nonatomic) NSNumber<SDLInt> *hdChannel; + +/** + * @abstract Signal Strength Value + * + * Integer value Min Value - 0 Max Value - 100 + */ +@property (nullable, strong, nonatomic) NSNumber<SDLInt> *signalStrength; + +/** + * @abstract If the signal strength falls below the set value for this parameter, the radio will tune to an alternative frequency + * + * Integer value Min Value - 0 Max Value - 100 + */ +@property (nullable, strong, nonatomic) NSNumber<SDLInt> *signalChangeThreshold; + +/** + * @abstract True if the radio is on, false is the radio is off + * + * Boolean value + */ +@property (nullable, strong, nonatomic) NSNumber<SDLBool> *radioEnable; + + +@property (nullable, strong, nonatomic) SDLRadioState state; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLRadioControlData.m b/SmartDeviceLink/SDLRadioControlData.m new file mode 100644 index 000000000..f6f259480 --- /dev/null +++ b/SmartDeviceLink/SDLRadioControlData.m @@ -0,0 +1,96 @@ +// +// SDLRadioControlData.m +// + +#import "SDLRadioControlData.h" +#import "SDLNames.h" +#import "SDLRdsData.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLRadioControlData + +- (void)setFrequencyInteger:(nullable NSNumber<SDLInt> *)frequencyInteger { + [store sdl_setObject:frequencyInteger forName:SDLNameFrequencyInteger]; +} + +- (nullable NSNumber<SDLInt> *)frequencyInteger { + return [store sdl_objectForName:SDLNameFrequencyInteger]; +} + +- (void)setFrequencyFraction:(nullable NSNumber<SDLInt> *)frequencyFraction { + [store sdl_setObject:frequencyFraction forName:SDLNameFrequencyFraction]; +} + +- (nullable NSNumber<SDLInt> *)frequencyFraction { + return [store sdl_objectForName:SDLNameFrequencyFraction]; +} + +- (void)setBand:(nullable SDLRadioBand)band { + [store sdl_setObject:band forName:SDLNameBand]; +} + +- (nullable SDLRadioBand)band{ + return [store sdl_objectForName:SDLNameBand]; +} + +- (void)setRdsData:(nullable SDLRdsData *)rdsData { + [store sdl_setObject:rdsData forName:SDLNameRdsData]; +} + +- (nullable SDLRdsData *)rdsData { + return [store sdl_objectForName:SDLNameRdsData]; +} + +- (void)setAvailableHDs:(nullable NSNumber<SDLInt> *)availableHDs { + [store sdl_setObject:availableHDs forName:SDLNameAvailableHDs]; +} + +- (nullable NSNumber<SDLInt> *)availableHDs { + return [store sdl_objectForName:SDLNameAvailableHDs]; +} + +- (void)setHdChannel:(nullable NSNumber<SDLInt> *)hdChannel { + [store sdl_setObject:hdChannel forName:SDLNameHdChannel]; +} + +- (nullable NSNumber<SDLInt> *)hdChannel { + return [store sdl_objectForName:SDLNameHdChannel]; +} + +- (void)setSignalStrength:(nullable NSNumber<SDLInt> *)signalStrength { + [store sdl_setObject:signalStrength forName:SDLNameSignalStrength]; +} + +- (nullable NSNumber<SDLInt> *)signalStrength { + return [store sdl_objectForName:SDLNameSignalStrength]; +} + +- (void)setSignalChangeThreshold:(nullable NSNumber<SDLInt> *)signalChangeThreshold { + [store sdl_setObject:signalChangeThreshold forName:SDLNameSignalChangeThreshold]; +} + +- (nullable NSNumber<SDLInt> *)signalChangeThreshold { + return [store sdl_objectForName:SDLNameSignalChangeThreshold]; +} + +- (void)setRadioEnable:(nullable NSNumber<SDLBool> *)radioEnable { + [store sdl_setObject:radioEnable forName:SDLNameRadioEnable]; +} + +- (nullable NSNumber<SDLBool> *)radioEnable { + return [store sdl_objectForName:SDLNameRadioEnable]; +} + +- (void)setState:(nullable SDLRadioState)state { + [store sdl_setObject:state forName:SDLNameState]; +} + +- (nullable SDLRadioState)state { + return [store sdl_objectForName:SDLNameState]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLRadioState.h b/SmartDeviceLink/SDLRadioState.h new file mode 100644 index 000000000..b44c61e5c --- /dev/null +++ b/SmartDeviceLink/SDLRadioState.h @@ -0,0 +1,32 @@ +// +// SDLRadioState.h +// + +#import "SDLEnum.h" + +typedef SDLEnum SDLRadioState SDL_SWIFT_ENUM; + + +/** + * @abstract Represents Radio state as ACQUIRING + * + */ +extern SDLRadioState const SDLRadioBandAcquiring; + +/** + * @abstract Represents Radio state as ACQUIRED + * + */ +extern SDLRadioState const SDLRadioStateAcquired; + +/** + * @abstract Represents Radio state as MULTICAST + * + */ +extern SDLRadioState const SDLRadioStateMulticast; + +/** + * @abstract Represents Radio state as NOT_FOUND + * + */ +extern SDLRadioState const SDLRadioStateNotFound; diff --git a/SmartDeviceLink/SDLRadioState.m b/SmartDeviceLink/SDLRadioState.m new file mode 100644 index 000000000..43692f97f --- /dev/null +++ b/SmartDeviceLink/SDLRadioState.m @@ -0,0 +1,10 @@ +// +// SDLRadioState.m +// + +#import "SDLRadioState.h" + +SDLRadioState const SDLRadioBandAcquiring = @"ACQUIRING"; +SDLRadioState const SDLRadioStateAcquired = @"ACQUIRED"; +SDLRadioState const SDLRadioStateMulticast = @"MULTICAST"; +SDLRadioState const SDLRadioStateNotFound = @"NOT_FOUND"; diff --git a/SmartDeviceLink/SDLRemoteControlCapabilities.h b/SmartDeviceLink/SDLRemoteControlCapabilities.h new file mode 100644 index 000000000..5d6fb7bb3 --- /dev/null +++ b/SmartDeviceLink/SDLRemoteControlCapabilities.h @@ -0,0 +1,39 @@ +// +// SDLRemoteControlCapabilities.h +// + +#import "SDLRPCMessage.h" +@class SDLClimateControlCapabilities; +@class SDLRadioControlCapabilities; +@class SDLButtonCapabilities; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLRemoteControlCapabilities : SDLRPCStruct + +/** + * @abstract If included, the platform supports RC climate controls. + * For this baseline version, maxsize=1. i.e. only one climate control module is supported. + * + * Optional, Array of SDLClimateControlCapabilities, Array length 1 - 100 + */ +@property (nullable, strong, nonatomic) NSArray<SDLClimateControlCapabilities *> *climateControlCapabilities; + +/** + * @abstract If included, the platform supports RC radio controls. + * For this baseline version, maxsize=1. i.e. only one radio control module is supported. + * + * Optional, Array of SDLRadioControlCapabilities, Array length 1 - 100 + */ +@property (nullable, strong, nonatomic) NSArray<SDLRadioControlCapabilities *> *radioControlCapabilities; + +/** + * @abstract If included, the platform supports RC button controls with the included button names. + * + * Optional, Array of SDLButtonCapabilities, Array length 1 - 100 + */ +@property (nullable, strong, nonatomic) NSArray<SDLButtonCapabilities *> *buttonCapabilities; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLRemoteControlCapabilities.m b/SmartDeviceLink/SDLRemoteControlCapabilities.m new file mode 100644 index 000000000..ca7d8ad82 --- /dev/null +++ b/SmartDeviceLink/SDLRemoteControlCapabilities.m @@ -0,0 +1,44 @@ +// +// SDLRemoteControlCapabilities.m +// + +#import "SDLRemoteControlCapabilities.h" +#import "SDLClimateControlCapabilities.h" +#import "SDLRadioControlCapabilities.h" +#import "SDLButtonCapabilities.h" +#import "NSMutableDictionary+Store.h" +#import "SDLNames.h" + + +NS_ASSUME_NONNULL_BEGIN + + +@implementation SDLRemoteControlCapabilities + +- (void)setClimateControlCapabilities:(nullable NSArray<SDLClimateControlCapabilities *> *)climateControlCapabilities { + [store sdl_setObject:climateControlCapabilities forName:SDLNameClimateControlCapabilities]; +} + +- (nullable NSArray<SDLClimateControlCapabilities *> *)climateControlCapabilities { + return [store sdl_objectForName:SDLNameClimateControlCapabilities]; +} + +-(void)setRadioControlCapabilities:(nullable NSArray<SDLRadioControlCapabilities *> *)radioControlCapabilities { + [store sdl_setObject:radioControlCapabilities forName:SDLNameRadioControlCapabilities ]; +} + +- (nullable NSArray<SDLRadioControlCapabilities *> *)radioControlCapabilities { + return store[SDLNameRadioControlCapabilities]; +} + +- (void)setButtonCapabilities:(nullable NSArray *)buttonCapabilities { + [store sdl_setObject:buttonCapabilities forName:SDLNameButtonCapabilities]; +} + +- (nullable NSArray *)buttonCapabilities { + return [store sdl_objectForName:SDLNameButtonCapabilities]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLResult.h b/SmartDeviceLink/SDLResult.h index ee9cd6df0..dadc0bec2 100644 --- a/SmartDeviceLink/SDLResult.h +++ b/SmartDeviceLink/SDLResult.h @@ -185,3 +185,13 @@ extern SDLResult const SDLResultExpiredCertificate; * The provided hash ID does not match the hash of the current set of registered data or the core could not resume the previous data. */ extern SDLResult const SDLResultResumeFailed; + +/** + * The requested data is not available on this vehicle or is not published for the connected app. + */ +extern SDLResult const SDLResultDataNotAvailable; + +/** + * The requested data is read only thus cannot be change via remote control . + */ +extern SDLResult const SDLResultReadOnly; diff --git a/SmartDeviceLink/SDLResult.m b/SmartDeviceLink/SDLResult.m index 23b6cdd1c..77c8c5529 100644 --- a/SmartDeviceLink/SDLResult.m +++ b/SmartDeviceLink/SDLResult.m @@ -37,3 +37,6 @@ SDLResult const SDLResultSaved = @"SAVED"; SDLResult const SDLResultInvalidCertificate = @"INVALID_CERT"; SDLResult const SDLResultExpiredCertificate = @"EXPIRED_CERT"; SDLResult const SDLResultResumeFailed = @"RESUME_FAILED"; +SDLResult const SDLResultDataNotAvailable = @"DATA_NOT_AVAILABLE"; +SDLResult const SDLResultReadOnly = @"READ_ONLY"; + diff --git a/SmartDeviceLink/SDLSetInteriorVehicleData.h b/SmartDeviceLink/SDLSetInteriorVehicleData.h new file mode 100644 index 000000000..1107360c9 --- /dev/null +++ b/SmartDeviceLink/SDLSetInteriorVehicleData.h @@ -0,0 +1,20 @@ +// +// SDLSetInteriorVehicleData.h +// + +#import "SDLRPCRequest.h" +@class SDLModuleData; + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLSetInteriorVehicleData : SDLRPCRequest + +/** + * The module data to set for the requested RC module. + * + */ +@property (strong, nonatomic) SDLModuleData *moduleData; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLSetInteriorVehicleData.m b/SmartDeviceLink/SDLSetInteriorVehicleData.m new file mode 100644 index 000000000..a5d022af4 --- /dev/null +++ b/SmartDeviceLink/SDLSetInteriorVehicleData.m @@ -0,0 +1,30 @@ +// +// SDLSetInteriorVehicleData.m +// + +#import "SDLSetInteriorVehicleData.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" +#import "SDLModuleData.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLSetInteriorVehicleData + +- (instancetype)init { + if (self = [super initWithName:SDLNameSetInteriorVehicleData]) { + } + return self; +} + +- (void)setModuleData:(SDLModuleData *)moduleData { + [parameters sdl_setObject:moduleData forName:SDLNameModuleData]; +} + +- (SDLModuleData *)moduleData { + return [parameters sdl_objectForName:SDLNameModuleData]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.h b/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.h new file mode 100644 index 000000000..cbd272801 --- /dev/null +++ b/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.h @@ -0,0 +1,20 @@ +// +// SDLSetInteriorVehicleDataResponse.h +// + +#import "SDLRPCResponse.h" +@class SDLModuleData; + +NS_ASSUME_NONNULL_BEGIN + +/** + * Used to set the values of one remote control module + * + */ +@interface SDLSetInteriorVehicleDataResponse : SDLRPCResponse + +@property (strong, nonatomic) SDLModuleData *moduleData; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.m b/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.m new file mode 100644 index 000000000..fbc06ba94 --- /dev/null +++ b/SmartDeviceLink/SDLSetInteriorVehicleDataResponse.m @@ -0,0 +1,30 @@ +// +// SDLSetInteriorVehicleDataResponse.m +// + +#import "SDLSetInteriorVehicleDataResponse.h" +#import "SDLNames.h" +#import "SDLModuleData.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLSetInteriorVehicleDataResponse + +- (instancetype)init { + if (self = [super initWithName:SDLNameSetInteriorVehicleData]) { + } + return self; +} + +- (void)setModuleData:(SDLModuleData *)moduleData { + [parameters sdl_setObject:moduleData forName:SDLNameModuleData]; +} + +- (SDLModuleData *)moduleData { + return [parameters sdl_objectForName:SDLNameModuleData]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLSystemCapability.h b/SmartDeviceLink/SDLSystemCapability.h index 8d1f8483f..68e8bd7e9 100644 --- a/SmartDeviceLink/SDLSystemCapability.h +++ b/SmartDeviceLink/SDLSystemCapability.h @@ -13,7 +13,7 @@ @class SDLPhoneCapability; @class SDLNavigationCapability; -@class SDLVideoStreamingCapability; +@class SDLRemoteControlCapabilities; NS_ASSUME_NONNULL_BEGIN @@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithPhoneCapability:(SDLPhoneCapability *)capability; -- (instancetype)initWithVideoStreamingCapability:(SDLVideoStreamingCapability *)capability; +- (instancetype)initWithRemoteControlCapability:(SDLRemoteControlCapabilities *)capability; @property (strong, nonatomic) SDLSystemCapabilityType systemCapabilityType; @@ -35,7 +35,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nullable, strong, nonatomic) SDLPhoneCapability *phoneCapability; -@property (nullable, strong, nonatomic) SDLVideoStreamingCapability *videoStreamingCapability; +@property (nullable, strong, nonatomic) SDLRemoteControlCapabilities *remoteControlCapability; @end diff --git a/SmartDeviceLink/SDLSystemCapability.m b/SmartDeviceLink/SDLSystemCapability.m index 25f638912..6c474ec5c 100644 --- a/SmartDeviceLink/SDLSystemCapability.m +++ b/SmartDeviceLink/SDLSystemCapability.m @@ -13,7 +13,7 @@ #import "SDLNavigationCapability.h" #import "SDLPhoneCapability.h" #import "SDLSystemCapabilityType.h" -#import "SDLVideoStreamingCapability.h" +#import "SDLRemoteControlCapabilities.h" NS_ASSUME_NONNULL_BEGIN @@ -24,10 +24,10 @@ NS_ASSUME_NONNULL_BEGIN if (!self) { return nil; } - + self.systemCapabilityType = SDLSystemCapabilityTypePhoneCall; self.phoneCapability = capability; - + return self; } @@ -36,22 +36,22 @@ NS_ASSUME_NONNULL_BEGIN if (!self) { return nil; } - + self.systemCapabilityType = SDLSystemCapabilityTypeNavigation; self.navigationCapability = capability; - + return self; } -- (instancetype)initWithVideoStreamingCapability:(SDLVideoStreamingCapability *)capability { +- (instancetype)initWithRemoteControlCapability:(SDLRemoteControlCapabilities *)capability { self = [self init]; if (!self) { return nil; } - - self.systemCapabilityType = SDLSystemCapabilityTypeVideoStreaming; - self.videoStreamingCapability = capability; - + + self.systemCapabilityType = SDLSystemCapabilityTypeRemoteControl; + self.remoteControlCapability = capability; + return self; } @@ -81,12 +81,12 @@ NS_ASSUME_NONNULL_BEGIN return [store sdl_objectForName:SDLNamePhoneCapability ofClass:SDLPhoneCapability.class]; } -- (void)setVideoStreamingCapability:(nullable SDLVideoStreamingCapability *)videoStreamingCapability { - [store sdl_setObject:videoStreamingCapability forName:SDLNameVideoStreamingCapability]; +- (void)setRemoteControlCapability:(nullable SDLRemoteControlCapabilities *)remoteControlCapability { + [store sdl_setObject:remoteControlCapability forName:SDLNameRemoteControlCapability]; } -- (nullable SDLVideoStreamingCapability *)videoStreamingCapability { - return [store sdl_objectForName:SDLNameVideoStreamingCapability ofClass:SDLVideoStreamingCapability.class]; +- (nullable SDLRemoteControlCapabilities *)remoteControlCapability { + return [store sdl_objectForName:SDLNameRemoteControlCapability]; } @end diff --git a/SmartDeviceLink/SDLSystemCapabilityType.h b/SmartDeviceLink/SDLSystemCapabilityType.h index e8a177a41..0de977dc4 100644 --- a/SmartDeviceLink/SDLSystemCapabilityType.h +++ b/SmartDeviceLink/SDLSystemCapabilityType.h @@ -25,5 +25,17 @@ extern SDLSystemCapabilityType const SDLSystemCapabilityTypePhoneCall; /** @abstract VIDEO_STREAMING + */ extern SDLSystemCapabilityType const SDLSystemCapabilityTypeVideoStreaming; + +/** + @abstract AUDIO_STREAMING + REMOTE_CONTROL + */ +extern SDLSystemCapabilityType const SDLSystemCapabilityTypeAudioStreaming; + +/** + @abstract REMOTE_CONTROL + */ +extern SDLSystemCapabilityType const SDLSystemCapabilityTypeRemoteControl; diff --git a/SmartDeviceLink/SDLSystemCapabilityType.m b/SmartDeviceLink/SDLSystemCapabilityType.m index 47a425c53..54c8181aa 100644 --- a/SmartDeviceLink/SDLSystemCapabilityType.m +++ b/SmartDeviceLink/SDLSystemCapabilityType.m @@ -12,3 +12,5 @@ SDLSystemCapabilityType const SDLSystemCapabilityTypeNavigation = @"NAVIGATION"; SDLSystemCapabilityType const SDLSystemCapabilityTypePhoneCall = @"PHONE_CALL"; SDLSystemCapabilityType const SDLSystemCapabilityTypeVideoStreaming = @"VIDEO_STREAMING"; +SDLSystemCapabilityType const SDLSystemCapabilityTypeAudioStreaming = @"AUDIO_STREAMING"; +SDLSystemCapabilityType const SDLSystemCapabilityTypeRemoteControl = @"REMOTE_CONTROL"; diff --git a/SmartDeviceLink/SDLTemperature.h b/SmartDeviceLink/SDLTemperature.h new file mode 100644 index 000000000..514338883 --- /dev/null +++ b/SmartDeviceLink/SDLTemperature.h @@ -0,0 +1,27 @@ +// +// SDLTemperature.h +// + +#import "SDLRPCMessage.h" +#import "SDLTemperatureUnit.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface SDLTemperature : SDLRPCStruct + +/** + * @abstract Temperature Unit + * + */ +@property (strong, nonatomic) SDLTemperatureUnit unit; + +/** + * @abstract Temperature Value in TemperatureUnit specified unit. Range depends on OEM and is not checked by SDL + * + * FLoat value + */ +@property (strong, nonatomic) NSNumber<SDLFloat> *value; + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLTemperature.m b/SmartDeviceLink/SDLTemperature.m new file mode 100644 index 000000000..ef300d613 --- /dev/null +++ b/SmartDeviceLink/SDLTemperature.m @@ -0,0 +1,31 @@ +// +// SDLTemperature.m +// + +#import "SDLTemperature.h" +#import "SDLNames.h" +#import "NSMutableDictionary+Store.h" + +NS_ASSUME_NONNULL_BEGIN + +@implementation SDLTemperature + +- (void)setUnit:(SDLTemperatureUnit)unit { + [store sdl_setObject:unit forName:SDLNameUnit]; +} + +- (SDLTemperatureUnit)unit { + return [store sdl_objectForName:SDLNameUnit]; +} + +- (void)setValue:(NSNumber<SDLFloat> *)value { + [store sdl_setObject:value forName:SDLNameValue]; +} + +- (NSNumber<SDLFloat> *)value { + return [store sdl_objectForName:SDLNameValue]; +} + +@end + +NS_ASSUME_NONNULL_END diff --git a/SmartDeviceLink/SDLTemperatureUnit.h b/SmartDeviceLink/SDLTemperatureUnit.h new file mode 100644 index 000000000..63c1a20d0 --- /dev/null +++ b/SmartDeviceLink/SDLTemperatureUnit.h @@ -0,0 +1,19 @@ +// +// SDLTemperatureUnit.h +// + + +#import "SDLEnum.h" + +typedef SDLEnum SDLTemperatureUnit SDL_SWIFT_ENUM; + +/** + @abstract Reflects the current HMI setting for temperature unit in Celsius + **/ +extern SDLTemperatureUnit const SDLTemperatureUnitCelsius; + + +/** + @abstract Reflects the current HMI setting for temperature unit in Fahrenheit + **/ +extern SDLTemperatureUnit const SDLTemperatureUnitFahrenheit; diff --git a/SmartDeviceLink/SDLTemperatureUnit.m b/SmartDeviceLink/SDLTemperatureUnit.m new file mode 100644 index 000000000..f54fcaaac --- /dev/null +++ b/SmartDeviceLink/SDLTemperatureUnit.m @@ -0,0 +1,8 @@ +// +// SDLTemperatureUnit.m +// + +#import "SDLTemperatureUnit.h" + +SDLTemperatureUnit const SDLTemperatureUnitCelsius = @"CELSIUS"; +SDLTemperatureUnit const SDLTemperatureUnitFahrenheit = @"FAHRENHEIT"; diff --git a/SmartDeviceLink/SDLVentilationMode.h b/SmartDeviceLink/SDLVentilationMode.h new file mode 100644 index 000000000..aaf645920 --- /dev/null +++ b/SmartDeviceLink/SDLVentilationMode.h @@ -0,0 +1,28 @@ +// +// SDLVentilationMode.h +// + +#import "SDLEnum.h" + +typedef SDLEnum SDLVentilationMode SDL_SWIFT_ENUM; + +/** + * @abstract A SDLDefrostZone with the value of *UPPER* + */ +extern SDLVentilationMode const SDLVentilationModeUpper; + +/** + * @abstract A SDLDefrostZone with the value of *LOWER* + */ +extern SDLVentilationMode const SDLVentilationModeLower; + +/** + * @abstract A SDLDefrostZone with the value of *BOTH* + */ +extern SDLVentilationMode const SDLVentilationModeBoth; + +/** + * @abstract A SDLDefrostZone with the value of *NORTH* + */ +extern SDLVentilationMode const SDLVentilationModeNorth; + diff --git a/SmartDeviceLink/SDLVentilationMode.m b/SmartDeviceLink/SDLVentilationMode.m new file mode 100644 index 000000000..c23c99985 --- /dev/null +++ b/SmartDeviceLink/SDLVentilationMode.m @@ -0,0 +1,11 @@ +// +// SDLVentilationMode.m +// + +#import "SDLVentilationMode.h" + + +SDLVentilationMode const SDLVentilationModeUpper = @"UPPER"; +SDLVentilationMode const SDLVentilationModeLower = @"LOWER"; +SDLVentilationMode const SDLVentilationModeBoth = @"BOTH"; +SDLVentilationMode const SDLVentilationModeNorth = @"NONE"; diff --git a/SmartDeviceLink/SmartDeviceLink.h b/SmartDeviceLink/SmartDeviceLink.h index 5b69ab55f..c995a2892 100644 --- a/SmartDeviceLink/SmartDeviceLink.h +++ b/SmartDeviceLink/SmartDeviceLink.h @@ -50,6 +50,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLAddSubMenu.h" #import "SDLAlert.h" #import "SDLAlertManeuver.h" +#import "SDLButtonPress.h" #import "SDLChangeRegistration.h" #import "SDLCreateInteractionChoiceSet.h" #import "SDLDeleteCommand.h" @@ -61,6 +62,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLEncodedSyncPData.h" #import "SDLEndAudioPassThru.h" #import "SDLGetDTCs.h" +#import "SDLGetInteriorVehicleData.h" #import "SDLGetSystemCapability.h" #import "SDLGetVehicleData.h" #import "SDLGetWaypoints.h" @@ -76,6 +78,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLSetAppIcon.h" #import "SDLSetDisplayLayout.h" #import "SDLSetGlobalProperties.h" +#import "SDLSetInteriorVehicleData.h" #import "SDLSetMediaClockTimer.h" #import "SDLShow.h" #import "SDLShowConstantTBT.h" @@ -96,6 +99,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLAddSubMenuResponse.h" #import "SDLAlertManeuverResponse.h" #import "SDLAlertResponse.h" +#import "SDLButtonPressResponse.h" #import "SDLChangeRegistrationResponse.h" #import "SDLCreateInteractionChoiceSetResponse.h" #import "SDLDeleteCommandResponse.h" @@ -108,6 +112,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLEndAudioPassThruResponse.h" #import "SDLGenericResponse.h" #import "SDLGetDTCsResponse.h" +#import "SDLGetInteriorVehicleDataResponse.h" #import "SDLGetSystemCapabilityResponse.h" #import "SDLGetVehicleDataResponse.h" #import "SDLGetWaypointsResponse.h" @@ -123,6 +128,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLSetAppIconResponse.h" #import "SDLSetDisplayLayoutResponse.h" #import "SDLSetGlobalPropertiesResponse.h" +#import "SDLSetInteriorVehicleDataResponse.h" #import "SDLSetMediaClockTimerResponse.h" #import "SDLShowConstantTBTResponse.h" #import "SDLShowResponse.h" @@ -148,6 +154,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLOnEncodedSyncPData.h" #import "SDLOnHMIStatus.h" #import "SDLOnHashChange.h" +#import "SDLOnInteriorVehicleData.h" #import "SDLOnKeyboardInput.h" #import "SDLOnLanguageChange.h" #import "SDLOnLockScreenStatus.h" @@ -168,6 +175,8 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLButtonCapabilities.h" #import "SDLChoice.h" #import "SDLClusterModeStatus.h" +#import "SDLClimateControlCapabilities.h" +#import "SDLClimateControlData.h" #import "SDLDIDResult.h" #import "SDLDateTime.h" #import "SDLDeviceInfo.h" @@ -186,12 +195,17 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLLocationCoordinate.h" #import "SDLLocationDetails.h" #import "SDLMenuParams.h" +#import "SDLModuleData.h" #import "SDLMyKey.h" #import "SDLNavigationCapability.h" #import "SDLParameterPermissions.h" #import "SDLPermissionItem.h" #import "SDLPhoneCapability.h" #import "SDLPresetBankCapabilities.h" +#import "SDLRadioControlCapabilities.h" +#import "SDLRadioControlData.h" +#import "SDLRdsData.h" +#import "SDLRemoteControlCapabilities.h" #import "SDLScreenParams.h" #import "SDLSingleTireStatus.h" #import "SDLSoftButton.h" @@ -200,6 +214,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLSyncMsgVersion.h" #import "SDLSystemCapability.h" #import "SDLTTSChunk.h" +#import "SDLTemperature.h" #import "SDLTextField.h" #import "SDLTireStatus.h" #import "SDLTouchCoord.h" @@ -224,6 +239,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLCharacterSet.h" #import "SDLCompassDirection.h" #import "SDLComponentVolumeStatus.h" +#import "SDLDefrostZone.h" #import "SDLDeliveryMode.h" #import "SDLDeviceLevelStatus.h" #import "SDLDimension.h" @@ -249,6 +265,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLLockScreenStatus.h" #import "SDLMaintenanceModeStatus.h" #import "SDLMediaClockFormat.h" +#import "SDLModuleType.h" #import "SDLPRNDL.h" #import "SDLPermissionStatus.h" #import "SDLPowerModeQualificationStatus.h" @@ -256,6 +273,8 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLPredefinedLayout.h" #import "SDLPrerecordedSpeech.h" #import "SDLPrimaryAudioSource.h" +#import "SDLRadioBand.h" +#import "SDLRadioState.h" #import "SDLRPCMessageType.h" #import "SDLRequestType.h" #import "SDLResult.h" @@ -266,6 +285,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLSystemCapabilityType.h" #import "SDLSystemContext.h" #import "SDLTBTState.h" +#import "SDLTemperatureUnit.h" #import "SDLTextAlignment.h" #import "SDLTextFieldName.h" #import "SDLTimerMode.h" @@ -278,6 +298,7 @@ FOUNDATION_EXPORT const unsigned char SmartDeviceLinkVersionString[]; #import "SDLVehicleDataResultCode.h" #import "SDLVehicleDataStatus.h" #import "SDLVehicleDataType.h" +#import "SDLVentilationMode.h" #import "SDLVrCapabilities.h" #import "SDLWarningLightStatus.h" #import "SDLWaypointType.h" |