// SDLUnsubscribeVehicleData.h
//
#import "SDLRPCRequest.h"
/**
* This function is used to unsubscribe the notifications from the
* subscribeVehicleData function
*
* Function Group: Location, VehicleInfo and DrivingChara
*
* HMILevel needs to be FULL, LIMITED or BACKGROUND
*
*
* @since SmartDeviceLink 2.0
* See SDLSubscribeVehicleData SDLGetVehicleData
*/
NS_ASSUME_NONNULL_BEGIN
@interface SDLUnsubscribeVehicleData : SDLRPCRequest
/**
* Convenience init for unsubscribing to all possible vehicle data items.
*
* @param accelerationPedalPosition Unsubscribe to accelerationPedalPosition
* @param airbagStatus Unsubscribe to airbagStatus
* @param beltStatus Unsubscribe to beltStatus
* @param bodyInformation Unsubscribe to bodyInformation
* @param cloudAppVehicleID Unsubscribe to cloudAppVehicleID
* @param clusterModeStatus Unsubscribe to clusterModeStatus
* @param deviceStatus Unsubscribe to deviceStatus
* @param driverBraking Unsubscribe to driverBraking
* @param eCallInfo Unsubscribe to eCallInfo
* @param electronicParkBrakeStatus Unsubscribe to electronicParkBrakeStatus
* @param emergencyEvent Unsubscribe to emergencyEvent
* @param engineOilLife Unsubscribe to engineOilLife
* @param engineTorque Unsubscribe to engineTorque
* @param externalTemperature Unsubscribe to externalTemperature
* @param fuelLevel Unsubscribe to fuelLevel
* @param fuelLevelState Unsubscribe to fuelLevelState
* @param fuelRange Unsubscribe to fuelRange
* @param gps Unsubscribe to gps
* @param headLampStatus Unsubscribe to headLampStatus
* @param instantFuelConsumption Unsubscribe to instantFuelConsumption
* @param myKey Unsubscribe to myKey
* @param odometer Unsubscribe to odometer
* @param prndl Unsubscribe to prndl
* @param rpm Unsubscribe to rpm
* @param speed Unsubscribe to speed
* @param steeringWheelAngle Unsubscribe to steeringWheelAngle
* @param tirePressure Unsubscribe to tirePressure
* @param turnSignal Unsubscribe to turnSignal
* @param wiperStatus Unsubscribe to wiperStatus
* @return A SDLUnsubscribeVehicleData object
*/
- (instancetype)initWithAccelerationPedalPosition:(BOOL)accelerationPedalPosition airbagStatus:(BOOL)airbagStatus beltStatus:(BOOL)beltStatus bodyInformation:(BOOL)bodyInformation cloudAppVehicleID:(BOOL)cloudAppVehicleID clusterModeStatus:(BOOL)clusterModeStatus deviceStatus:(BOOL)deviceStatus driverBraking:(BOOL)driverBraking eCallInfo:(BOOL)eCallInfo electronicParkBrakeStatus:(BOOL)electronicParkBrakeStatus emergencyEvent:(BOOL)emergencyEvent engineOilLife:(BOOL)engineOilLife engineTorque:(BOOL)engineTorque externalTemperature:(BOOL)externalTemperature fuelLevel:(BOOL)fuelLevel fuelLevelState:(BOOL)fuelLevelState fuelRange:(BOOL)fuelRange gps:(BOOL)gps headLampStatus:(BOOL)headLampStatus instantFuelConsumption:(BOOL)instantFuelConsumption myKey:(BOOL)myKey odometer:(BOOL)odometer prndl:(BOOL)prndl rpm:(BOOL)rpm speed:(BOOL)speed steeringWheelAngle:(BOOL)steeringWheelAngle tirePressure:(BOOL)tirePressure turnSignal:(BOOL)turnSignal wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for unsubscribing from all possible vehicle data items.
*
* @param gps - gps
* @param speed - speed
* @param rpm - rpm
* @param instantFuelConsumption - instantFuelConsumption
* @param fuelRange - fuelRange
* @param externalTemperature - externalTemperature
* @param turnSignal - turnSignal
* @param gearStatus - gearStatus
* @param tirePressure - tirePressure
* @param odometer - odometer
* @param beltStatus - beltStatus
* @param bodyInformation - bodyInformation
* @param deviceStatus - deviceStatus
* @param driverBraking - driverBraking
* @param wiperStatus - wiperStatus
* @param headLampStatus - headLampStatus
* @param engineTorque - engineTorque
* @param accPedalPosition - accPedalPosition
* @param steeringWheelAngle - steeringWheelAngle
* @param engineOilLife - engineOilLife
* @param electronicParkBrakeStatus - electronicParkBrakeStatus
* @param cloudAppVehicleID - cloudAppVehicleID
* @param stabilityControlsStatus - stabilityControlsStatus
* @param eCallInfo - eCallInfo
* @param airbagStatus - airbagStatus
* @param emergencyEvent - emergencyEvent
* @param clusterModeStatus - clusterModeStatus
* @param myKey - myKey
* @param handsOffSteering - handsOffSteering
* @param windowStatus - windowStatus
* @return A SDLUnsubscribeVehicleData object
*/
- (instancetype)initWithGps:(nullable NSNumber *)gps speed:(nullable NSNumber *)speed rpm:(nullable NSNumber *)rpm instantFuelConsumption:(nullable NSNumber *)instantFuelConsumption fuelRange:(nullable NSNumber *)fuelRange externalTemperature:(nullable NSNumber *)externalTemperature turnSignal:(nullable NSNumber *)turnSignal gearStatus:(nullable NSNumber *)gearStatus tirePressure:(nullable NSNumber *)tirePressure odometer:(nullable NSNumber *)odometer beltStatus:(nullable NSNumber *)beltStatus bodyInformation:(nullable NSNumber *)bodyInformation deviceStatus:(nullable NSNumber *)deviceStatus driverBraking:(nullable NSNumber *)driverBraking wiperStatus:(nullable NSNumber *)wiperStatus headLampStatus:(nullable NSNumber *)headLampStatus engineTorque:(nullable NSNumber *)engineTorque accPedalPosition:(nullable NSNumber *)accPedalPosition steeringWheelAngle:(nullable NSNumber *)steeringWheelAngle engineOilLife:(nullable NSNumber *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber *)stabilityControlsStatus eCallInfo:(nullable NSNumber *)eCallInfo airbagStatus:(nullable NSNumber *)airbagStatus emergencyEvent:(nullable NSNumber *)emergencyEvent clusterModeStatus:(nullable NSNumber *)clusterModeStatus myKey:(nullable NSNumber *)myKey handsOffSteering:(nullable NSNumber *)handsOffSteering windowStatus:(nullable NSNumber *)windowStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:gearStatus:tirePressure:odometer:beltStatus:bodyInformation:deviceStatus:driverBraking:wiperStatus:headLampStatus:engineTorque:accPedalPosition:steeringWheelAngle:engineOilLife:electronicParkBrakeStatus:cloudAppVehicleID:stabilityControlsStatus:eCallInfo:airbagStatus:emergencyEvent:clusterModeStatus:myKey:windowStatus:handsOffSteering:seatOccupancy: instead");
/**
* Convenience init for unsubscribing from all possible vehicle data items.
*
* @param gps - gps
* @param speed - speed
* @param rpm - rpm
* @param instantFuelConsumption - instantFuelConsumption
* @param fuelRange - fuelRange
* @param climateData - climateData
* @param turnSignal - turnSignal
* @param gearStatus - gearStatus
* @param tirePressure - tirePressure
* @param odometer - odometer
* @param beltStatus - beltStatus
* @param bodyInformation - bodyInformation
* @param deviceStatus - deviceStatus
* @param driverBraking - driverBraking
* @param wiperStatus - wiperStatus
* @param headLampStatus - headLampStatus
* @param engineTorque - engineTorque
* @param accPedalPosition - accPedalPosition
* @param steeringWheelAngle - steeringWheelAngle
* @param engineOilLife - engineOilLife
* @param electronicParkBrakeStatus - electronicParkBrakeStatus
* @param cloudAppVehicleID - cloudAppVehicleID
* @param stabilityControlsStatus - stabilityControlsStatus
* @param eCallInfo - eCallInfo
* @param airbagStatus - airbagStatus
* @param emergencyEvent - emergencyEvent
* @param clusterModeStatus - clusterModeStatus
* @param myKey - myKey
* @param windowStatus - windowStatus
* @param handsOffSteering - handsOffSteering
* @param seatOccupancy - seatOccupancy
* @return A SDLUnsubscribeVehicleData object
*/
- (instancetype)initWithGps:(nullable NSNumber *)gps speed:(nullable NSNumber *)speed rpm:(nullable NSNumber *)rpm instantFuelConsumption:(nullable NSNumber *)instantFuelConsumption fuelRange:(nullable NSNumber *)fuelRange climateData:(nullable NSNumber *)climateData turnSignal:(nullable NSNumber *)turnSignal gearStatus:(nullable NSNumber *)gearStatus tirePressure:(nullable NSNumber *)tirePressure odometer:(nullable NSNumber *)odometer beltStatus:(nullable NSNumber *)beltStatus bodyInformation:(nullable NSNumber *)bodyInformation deviceStatus:(nullable NSNumber *)deviceStatus driverBraking:(nullable NSNumber *)driverBraking wiperStatus:(nullable NSNumber *)wiperStatus headLampStatus:(nullable NSNumber *)headLampStatus engineTorque:(nullable NSNumber *)engineTorque accPedalPosition:(nullable NSNumber *)accPedalPosition steeringWheelAngle:(nullable NSNumber *)steeringWheelAngle engineOilLife:(nullable NSNumber *)engineOilLife electronicParkBrakeStatus:(nullable NSNumber *)electronicParkBrakeStatus cloudAppVehicleID:(nullable NSNumber *)cloudAppVehicleID stabilityControlsStatus:(nullable NSNumber *)stabilityControlsStatus eCallInfo:(nullable NSNumber *)eCallInfo airbagStatus:(nullable NSNumber *)airbagStatus emergencyEvent:(nullable NSNumber *)emergencyEvent clusterModeStatus:(nullable NSNumber *)clusterModeStatus myKey:(nullable NSNumber *)myKey windowStatus:(nullable NSNumber *)windowStatus handsOffSteering:(nullable NSNumber *)handsOffSteering seatOccupancy:(nullable NSNumber *)seatOccupancy;
/**
* See GearStatus
*
* @since SDL 7.0
*/
@property (strong, nonatomic, nullable) NSNumber *gearStatus;
/**
* If true, unsubscribes from GPS
*/
@property (strong, nonatomic, nullable) NSNumber *gps;
/**
* If true, unsubscribes from Speed
*/
@property (strong, nonatomic, nullable) NSNumber *speed;
/**
* If true, unsubscribes from RPM
*/
@property (strong, nonatomic, nullable) NSNumber *rpm;
/**
* If true, unsubscribes from Fuel Level
*/
@property (strong, nonatomic, nullable) NSNumber *fuelLevel __deprecated_msg("use fuelRange instead on 7.0+ RPC version connections");
/**
* If true, unsubscribes from Fuel Level State
*/
@property (strong, nonatomic, nullable) NSNumber *fuelLevel_State __deprecated_msg("use fuelRange instead on 7.0+ RPC version connections");
/**
* If true, unsubscribes from Fuel Range
*/
@property (strong, nonatomic, nullable) NSNumber *fuelRange;
/**
* If true, unsubscribes from Instant Fuel Consumption
*/
@property (strong, nonatomic, nullable) NSNumber *instantFuelConsumption;
/**
* See ClimateData
*
* @added in SmartDeviceLink 7.1.0
*/
@property (nullable, strong, nonatomic) NSNumber *climateData;
/**
* The external temperature in degrees celsius. This parameter is deprecated starting RPC Spec 7.1, please see climateData.
*
* @deprecated in SmartDeviceLink 7.1.0
* @added in SmartDeviceLink 2.0.0
*/
@property (nullable, strong, nonatomic) NSNumber *externalTemperature __deprecated_msg("Use climateData instead on 7.1+ RPC version connections");
/**
* See PRNDL. This parameter is deprecated and it is now covered in `gearStatus`
*
* @deprecated
* @since SDL 7.0
*/
@property (strong, nonatomic, nullable) NSNumber *prndl __deprecated_msg("use gearStatus instead on 7.0+ RPC version connections");
/**
* If true, unsubscribes from Tire Pressure
*/
@property (strong, nonatomic, nullable) NSNumber *tirePressure;
/**
* If true, unsubscribes from Odometer
*/
@property (strong, nonatomic, nullable) NSNumber *odometer;
/**
* If true, unsubscribes from Belt Status
*/
@property (strong, nonatomic, nullable) NSNumber *beltStatus;
/**
* If true, unsubscribes from Body Information
*/
@property (strong, nonatomic, nullable) NSNumber *bodyInformation;
/**
* If true, unsubscribes from Device Status
*/
@property (strong, nonatomic, nullable) NSNumber *deviceStatus;
/**
* If true, unsubscribes from Driver Braking
*/
@property (strong, nonatomic, nullable) NSNumber *driverBraking;
/**
* See WindowStatus
*
* @since SDL 7.0
*/
@property (strong, nonatomic, nullable) NSNumber *windowStatus;
/**
* If true, unsubscribes from Wiper Status
*/
@property (strong, nonatomic, nullable) NSNumber *wiperStatus;
/**
* To indicate whether driver hands are off the steering wheel
*/
@property (strong, nonatomic, nullable) NSNumber *handsOffSteering;
/**
* If true, unsubscribes from Head Lamp Status
*/
@property (strong, nonatomic, nullable) NSNumber *headLampStatus;
/**
* If true, unsubscribes from Engine Oil Life
*/
@property (strong, nonatomic, nullable) NSNumber *engineOilLife;
/**
* If true, unsubscribes from Engine Torque
*/
@property (strong, nonatomic, nullable) NSNumber *engineTorque;
/**
* If true, unsubscribes from Acc Pedal Position
*/
@property (strong, nonatomic, nullable) NSNumber *accPedalPosition;
/**
* See StabilityControlsStatus
*/
@property (nullable, strong, nonatomic) NSNumber *stabilityControlsStatus;
/**
* If true, unsubscribes from Steering Wheel Angle data
*/
@property (strong, nonatomic, nullable) NSNumber *steeringWheelAngle;
/**
* If true, unsubscribes from eCallInfo
*/
@property (strong, nonatomic, nullable) NSNumber *eCallInfo;
/**
* If true, unsubscribes from Airbag Status
*/
@property (strong, nonatomic, nullable) NSNumber *airbagStatus;
/**
* If true, unsubscribes from Emergency Event
*/
@property (strong, nonatomic, nullable) NSNumber *emergencyEvent;
/**
* If true, unsubscribes from Cluster Mode Status
*/
@property (strong, nonatomic, nullable) NSNumber *clusterModeStatus;
/**
* If true, unsubscribes from My Key
*/
@property (strong, nonatomic, nullable) NSNumber *myKey;
/**
A boolean value. If true, unsubscribes to the Electronic Parking Brake Status
*/
@property (strong, nonatomic, nullable) NSNumber *electronicParkBrakeStatus;
/**
A boolean value. If true, unsubscribes to the Turn Signal
*/
@property (strong, nonatomic, nullable) NSNumber *turnSignal;
/**
A boolean value. If true, unsubscribes to the Cloud App Vehicle ID
*/
@property (strong, nonatomic, nullable) NSNumber *cloudAppVehicleID;
/**
Sets the OEM custom vehicle data state for any given OEM custom vehicle data name.
@param vehicleDataName The name of the OEM custom vehicle data item.
@param vehicleDataState A boolean value. If true, requests an unsubscribes of the OEM custom vehicle data item.
Added SmartDeviceLink 6.0
*/
- (void)setOEMCustomVehicleData:(NSString *)vehicleDataName withVehicleDataState:(BOOL)vehicleDataState NS_SWIFT_NAME(setOEMCustomVehicleData(name:state:));
/**
Gets the OEM custom vehicle data state for any given OEM custom vehicle data name.
@param vehicleDataName The name of the OEM custom vehicle data item to unsubscribe for.
@return A boolean value indicating if an unsubscribe request will occur for the OEM custom vehicle data item.
Added SmartDeviceLink 6.0
*/
- (nullable NSNumber *)getOEMCustomVehicleData:(NSString *)vehicleDataName;
/**
* See SeatOccupancy
*
* @added in SmartDeviceLink 7.1.0
*/
@property (nullable, strong, nonatomic) NSNumber *seatOccupancy;
@end
NS_ASSUME_NONNULL_END