// SDLGetVehicleData.h // #import "SDLRPCRequest.h" /** * Requests current values of specific published vehicle data items. * * Function Group: Location, VehicleInfo and DrivingChara * HMILevel needs to be FULL, LIMITED or BACKGROUND * Since SmartDeviceLink 2.0 * See SDLSubscribeVehicleData, SDLUnsubscribeVehicleData */ NS_ASSUME_NONNULL_BEGIN @interface SDLGetVehicleData : SDLRPCRequest /** * Convenience init for getting data for all possible vehicle data items. * * @param accelerationPedalPosition Get accelerationPedalPosition data * @param airbagStatus Get airbagStatus data * @param beltStatus Get beltStatus data * @param bodyInformation Get bodyInformation data * @param cloudAppVehicleID Get cloudAppVehicleID data * @param clusterModeStatus Get clusterModeStatus data * @param deviceStatus Get deviceStatus data * @param driverBraking Get driverBraking data * @param eCallInfo Get eCallInfo data * @param electronicParkBrakeStatus Get electronicParkBrakeStatus data * @param emergencyEvent Get emergencyEvent data * @param engineOilLife Get engineOilLife data * @param engineTorque Get engineTorque data * @param externalTemperature Get externalTemperature data * @param fuelLevel Get fuelLevel data * @param fuelLevelState Get fuelLevelState data * @param fuelRange Get fuelRange data * @param gps Get gps data * @param headLampStatus Get headLampStatus data * @param instantFuelConsumption Get instantFuelConsumption data * @param myKey Get myKey data * @param odometer Get odometer data * @param prndl Get prndl data * @param rpm Get rpm data * @param speed Get speed data * @param steeringWheelAngle Get steeringWheelAngle data * @param tirePressure Get tirePressure data * @param turnSignal Get turnSignal data * @param vin Get vin data * @param wiperStatus Get wiperStatus data * @return A SDLGetVehicleData 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 vin:(BOOL)vin wiperStatus:(BOOL)wiperStatus __deprecated_msg("Use initWithGps:speed:rpm:instantFuelConsumption:fuelRange:climateData:turnSignal:vin: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 getting data for 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 vin - vin * @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 SDLGetVehicleData 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 vin:(nullable NSNumber *)vin 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:vin: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 getting data for 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 vin - vin * @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 * @param seatOccupancy - seatOccupancy */ - (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 vin:(nullable NSNumber *)vin 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; /** * A boolean value. If true, requests GPS data. */ @property (nullable, strong, nonatomic) NSNumber *gps; /** * A boolean value. If true, requests Speed data. */ @property (nullable, strong, nonatomic) NSNumber *speed; /** * A boolean value. If true, requests RPM data. */ @property (nullable, strong, nonatomic) NSNumber *rpm; /** * A boolean value. If true, requests Fuel Level data. */ @property (strong, nonatomic, nullable) NSNumber *fuelLevel __deprecated_msg("use fuelRange instead on 7.0+ RPC version connections"); /** * A boolean value. If true, requests Fuel Level State data. */ @property (strong, nonatomic, nullable) NSNumber *fuelLevel_State __deprecated_msg("use fuelRange instead on 7.0+ RPC version connections"); /** * A boolean value. If true, requests Fuel Range data. */ @property (nullable, strong, nonatomic) NSNumber *fuelRange; /** * A boolean value. If true, requests Instant Fuel Consumption data. */ @property (nullable, strong, nonatomic) 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"); /** * A boolean value. If true, requests the Vehicle Identification Number. */ @property (nullable, strong, nonatomic) NSNumber *vin; /** * 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"); /** * A boolean value. If true, requests Tire Pressure data. */ @property (nullable, strong, nonatomic) NSNumber *tirePressure; /** * A boolean value. If true, requests Odometer data. */ @property (nullable, strong, nonatomic) NSNumber *odometer; /** * A boolean value. If true, requests Belt Status data. */ @property (nullable, strong, nonatomic) NSNumber *beltStatus; /** * A boolean value. If true, requests Body Information data. */ @property (nullable, strong, nonatomic) NSNumber *bodyInformation; /** * A boolean value. If true, requests Device Status data. */ @property (nullable, strong, nonatomic) NSNumber *deviceStatus; /** * A boolean value. If true, requests Driver Braking data. */ @property (nullable, strong, nonatomic) NSNumber *driverBraking; /** * See WindowStatus * * @since SDL 7.0 */ @property (strong, nonatomic, nullable) NSNumber *windowStatus; /** * A boolean value. If true, requests Wiper Status data. */ @property (nullable, strong, nonatomic) NSNumber *wiperStatus; /** * To indicate whether driver hands are off the steering wheel */ @property (strong, nonatomic, nullable) NSNumber *handsOffSteering; /** * A boolean value. If true, requests Head Lamp Status data. */ @property (nullable, strong, nonatomic) NSNumber *headLampStatus; /** * A boolean value. If true, requests Engine Oil Life data. */ @property (strong, nonatomic, nullable) NSNumber *engineOilLife; /** * A boolean value. If true, requests Engine Torque data. */ @property (nullable, strong, nonatomic) NSNumber *engineTorque; /** * A boolean value. If true, requests Acc Pedal Position data. */ @property (nullable, strong, nonatomic) NSNumber *accPedalPosition; /** * A boolean value. If true, requests Steering Wheel Angle data. */ @property (nullable, strong, nonatomic) NSNumber *steeringWheelAngle; /** * A boolean value. If true, requests Emergency Call Info data. */ @property (nullable, strong, nonatomic) NSNumber *eCallInfo; /** * A boolean value. If true, requests Air Bag Status data. */ @property (nullable, strong, nonatomic) NSNumber *airbagStatus; /** * A boolean value. If true, requests Emergency Event (if it occurred) data. */ @property (nullable, strong, nonatomic) NSNumber *emergencyEvent; /** * A boolean value. If true, requests Cluster Mode Status data. */ @property (nullable, strong, nonatomic) NSNumber *clusterModeStatus; /** * A boolean value. If true, requests MyKey data. */ @property (nullable, strong, nonatomic) NSNumber *myKey; /** A boolean value. If true, requests Electronic Parking Brake status data. */ @property (nullable, strong, nonatomic) NSNumber *electronicParkBrakeStatus; /** A boolean value. If true, requests Turn Signal data. */ @property (nullable, strong, nonatomic) NSNumber *turnSignal; /** A boolean value. If true, requests the Cloud App Vehicle ID. */ @property (nullable, strong, nonatomic) NSNumber *cloudAppVehicleID; /** A boolean value. If true, requests StabilityControlsStatus data. */ @property (nullable, strong, nonatomic) NSNumber *stabilityControlsStatus; /** 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 the OEM custom vehicle data item. Added in SmartDeviceLink 6.0 */ - (void)setOEMCustomVehicleData:(NSString *)vehicleDataName withVehicleDataState:(BOOL)vehicleDataState NS_SWIFT_NAME(setOEMCustomVehicleData(name:state:)); /** Gets the OEM custom vehicle data value for any given OEM custom vehicle data name. @param vehicleDataName The name of the OEM custom vehicle data item. @return The state of an OEM custom vehicle data item for the given vehicle data name. Added in 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