Vehicle API

Allows access to the vehicle API.

Table of Contents


Summary of Interfaces and Methods

Interface Method
VehicleManagerObject
Vehicle DOMString[] supported();
any get(DOMString objectType, optional short zone);
void getAsync(DOMString objectType, VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback, optional short zone);
void subscribe(DOMString objectType, VehiclePropertyCallback successCallback, optional unsigned short zone, optional VehiclePropertyErrorCallback errorCallback);
void set(DOMString objectType, object value, optional VehiclePropertyErrorCallback errorCallback);
void getHistory(DOMString objectType, unsigned short zone, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
unsigned short[] listZones(DOMString objectType);
VehiclePropertyType
VehiclePropertyError
VehicleSpeed
EngineSpeed
VehiclePowerMode
TripMeter
Acceleration
Transmission
CruiseControlStatus
WheelBrake
LightStatus
InteriorLightStatus
Horn
Fuel
EngineOil
Location
ExteriorBrightness
Temperature
RainSensor
WindshieldWiper
HVAC
WindowStatus
Sunroof
ConvertibleRoof
VehicleId
Size
FuelInfo
VehicleType
Doors
TransmissionGearType
WheelInformation
Odometer
Fluid
Battery
TirePressure
TireTemperature
SecurityAlert
ParkingBrake
ParkingLight
HazardLight
AntilockBrakingSystem
TractionControlSystem
VehicleTopSpeedLimit
AirbagStatus
DoorStatus
SeatBeltStatus
OccupantStatus
ObstacleDistance
NightMode
DrivingMode
VehiclePropertyCallback
VehiclePropertyErrorCallback
VehiclePropertyListCallback
SupportedPropertiesCallback
DefrostDictionary

1. Interfaces

1.1. VehicleManagerObject

This interface defines what is instantiated by the Tizen object by the Tizen Platform. There will be a tizen.vehicle object that allows access to the functionality of the Vehicle API.
[NoInterfaceObject] interface VehicleManagerObject {
    readonly attribute Vehicle vehicle;
};
Tizen implements VehicleManagerObject;

1.2. Vehicle

The Vehicle interface defines access to vehicle functionality.
[NoInterfaceObject] interface Vehicle {

    const unsigned short ZONE_None = 0;

    const unsigned short ZONE_Front = 0x01;

    const unsigned short ZONE_Middle = 0x02;

    const unsigned short ZONE_Right = 0x04;

    const unsigned short ZONE_Left = 0x08;

    const unsigned short ZONE_Rear = 0x10;

    const unsigned short ZONE_Center = 0x20;

    DOMString[] supported();

    any get(DOMString objectType, optional short zone);

    void getAsync(DOMString objectType, VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback, optional short zone);

    void subscribe(DOMString objectType, VehiclePropertyCallback successCallback, optional unsigned short zone, optional VehiclePropertyErrorCallback errorCallback);

    void set(DOMString objectType, object value, optional VehiclePropertyErrorCallback errorCallback);

    void getHistory(DOMString objectType, unsigned short zone, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);

    unsigned short[] listZones(DOMString objectType);
};

Constants

  • ZONE_None
    It defines a vehicle property zone that represents all direction zones.
  • ZONE_Front
    It defines a vehicle property zone that represents the front zone.
  • ZONE_Middle
    It defines a vehicle property zone that represents the middle zone.
  • ZONE_Right
    It defines a vehicle property zone that represents the right zone.
  • ZONE_Left
    It defines a vehicle property zone that represents the left zone.
  • ZONE_Rear
    It defines a vehicle property zone that represents the rear zone.
  • ZONE_Center
    It defines a vehicle property zone that represents the center zone.

Methods

supported
Returns supported vehicle property types.
DOMString[] supported();

Return value:

A vehicle property type array.
get
Fetches the current value for the vehicle property type.
any get(DOMString objectType, optional short zone);

Parameters:

  • objectType: The requested vehicle property type to be retrieved, i.e., "NightMode".
  • zone[optional]: The specific zone in which the vehicle property type is in.

Return value:

A vehicle property value object.
getAsync
Asynchronously fetches the current value for the vehicle property type.
void getAsync(DOMString objectType, VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback, optional short zone);

Parameters:

  • objectType: The requested vehicle property type to be retrieved, i.e., "Horn".
  • VehiclePropertyCallback: The method to call when the requested vehicle property type is valid.
  • errorCallback[optional]: The method to call when an error occurs.
  • zone[optional]: The specific zone in which the vehicle property type is in.
subscribe
Subscribes to the given property and get callbacks when it changes.
void subscribe(DOMString objectType, VehiclePropertyCallback successCallback, optional unsigned short zone, optional VehiclePropertyErrorCallback errorCallback);

Parameters:

  • objectType: The requested vehicle property type to be retrieved, i.e., "Transmission".
  • successCallback: The method to call when the requested vehicle property value is changed.
  • zone[optional]: The specific zone in which the vehicle property type is in.
  • errorCallback[optional]: The method to call when an error occurs.
set
Sets value for the given object type.
void set(DOMString objectType, object value, optional VehiclePropertyErrorCallback errorCallback);

Parameters:

  • objectType: The vehicle property type to be set, i.e., "EngineSpeed".
  • value: The vehicle property value to be set, that contains zone information i.e., "Zone": 0.
  • errorCallback[optional]: The method to call when an error occurs.
getHistory
Gets values for a given objectType within a certain past time period between 'startTime' and 'endTime'.
void getHistory(DOMString objectType, unsigned short zone, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);

Parameters:

  • objectType: The requested vehicle property type to be retrieved, i.e., "VehicleSpeed".
  • zone: The specific zone in which the vehicle type is located or 0 if no zone.
  • startTime: Starting period of time.
  • endTime: Ending period of time.
  • successCallback: Callback with the result of the method call.
  • errorCallback[optional]: The method to call when an error occurs.
listZones
Lists zones available for a given object type.
unsigned short[] listZones(DOMString objectType);

Parameters:

  • objectType: The requested vehicle property type to be retrieved, i.e., "HVAC".

Return value:

An array.

1.3. VehiclePropertyType

The interface defines vehicle property type.
[NoInterfaceObject] interface VehiclePropertyType : Event {

    attribute DOMTimeStamp time;

    attribute short zone;

    attribute DOMString source;

};

Attributes

  • DOMTimeStamp time
    An attribute to set time of generating the vehicle property.
  • short zone
    An attribute to set zone of the vehicle property. By default, this attribute is set to 0.
  • DOMString source
    An attribute to set source of the vehicle property. By default, this attribute is set to 0.

1.4. VehiclePropertyError

The interface defines vehicle property error code and message.
[NoInterfaceObject] interface VehiclePropertyError {

    const unsigned short PERMISSION_DENIED = 1;

    const unsigned short PROPERTY_UNAVAILABLE = 2;

    const unsigned short TIMEOUT = 3;

    const unsigned short UNKNOWN = 10;

    attribute unsigned short code;

    attribute DOMString message;

};

Constants

  • PERMISSION_DENIED
    It defines an error code of no accessing permissions.
  • PROPERTY_UNAVAILABLE
    It defines an error code of unsupported property.
  • TIMEOUT
    It defines an error code of accessing timeout.
  • UNKNOWN
    It defines an error code of unknown errors.

Attributes

  • unsigned short code
    An attribute to return an error code from PERMISSION_DENIED, PROPERTY_UNAVAILABLE, TIMEOUT and UNKNOWN.
  • DOMString time
    An attribute to return error message.

1.5. VehicleSpeed

The interface defines vehicle speed of vehicle property type.
[NoInterfaceObject] interface VehicleSpeed : VehiclePropertyType {

    attribute unsigned long vehicleSpeed;

};

Attributes

  • unsigned long vehicleSpeed
    An attribute to return vehicle speed in kilometers per hour.

1.6. EngineSpeed

The interface defines engine speed of vehicle property type.
[NoInterfaceObject] interface EngineSpeed : VehiclePropertyType {

    attribute unsigned long engineSpeed;

};

Attributes

  • unsigned long engineSpeed
    An attribute to return engine speed in rotations per minute.

1.7. VehiclePowerMode

The interface defines vehicle power mode of vehicle property type.
[NoInterfaceObject] interface VehiclePowerMode : VehiclePropertyType {

    const unsigned short VEHICLEPOWERMODE_OFF = 0;

    const unsigned short VEHICLEPOWERMODE_ACCESSORY1 = 1;

    const unsigned short VEHICLEPOWERMODE_ACCESSORY2 = 2;

    const unsigned short VEHICLEPOWERMODE_RUN = 3;

    attribute octet vehiclePowerMode;

};

Constants

  • VEHICLEPOWERMODE_OFF
    It defines a vehicle power mode that represents off mode.
  • VEHICLEPOWERMODE_ACCESSORY1
    It defines a vehicle power mode that represents accessory1 mode.
  • VEHICLEPOWERMODE_ACCESSORY2
    It defines a vehicle power mode that represents accessory2 mode.
  • VEHICLEPOWERMODE_RUN
    It defines a vehicle power mode that represents run mode.

Attributes

  • octet vehiclePowerMode
    An attribute to return vehicle power mode (see VEHICLEPOWERMODE Constants).

1.8. TripMeter

The interface defines trip meter of vehicle property type.
[NoInterfaceObject] interface TripMeter : VehiclePropertyType {

    attribute unsigned long[] tripMeters;

};

Attributes

  • unsigned long[] tripMeters
    An attribute to return trip meters. Changing any items in the array will reset the item's value to '0'.

1.9. Acceleration

The interface defines acceleration of vehicle property type.
[NoInterfaceObject] interface Acceleration : VehiclePropertyType {

    attribute unsigned long x;

    attribute unsigned long y;

    attribute unsigned long z;

};

Attributes

  • unsigned long x
    An attribute to return acceleration on the "X" axis as 1/1000 G (gravitational force).
  • unsigned long y
    An attribute to return acceleration on the "Y" axis as 1/1000 G (gravitational force).
  • unsigned long z
    An attribute to return acceleration on the "Z" axis as 1/1000 G (gravitational force).

1.10. Transmission

The interface defines transmission of vehicle property type.
[NoInterfaceObject] interface Transmission : VehiclePropertyType {

    const unsigned short TRANSMISSIONPOSITION_NEUTRAL = 0;

    const unsigned short TRANSMISSIONPOSITION_FIRST = 1;

    const unsigned short TRANSMISSIONPOSITION_SECOND = 2;

    const unsigned short TRANSMISSIONPOSITION_THIRD = 3;

    const unsigned short TRANSMISSIONPOSITION_FORTH = 4;

    const unsigned short TRANSMISSIONPOSITION_FIFTH = 5;

    const unsigned short TRANSMISSIONPOSITION_SIXTH = 6;

    const unsigned short TRANSMISSIONPOSITION_SEVENTH = 7;

    const unsigned short TRANSMISSIONPOSITION_EIGHTH = 8;

    const unsigned short TRANSMISSIONPOSITION_NINTH = 9;

    const unsigned short TRANSMISSIONPOSITION_TENTH = 10;

    const unsigned short TRANSMISSIONPOSITION_CVT = 64;

    const unsigned short TRANSMISSIONPOSITION_REVERSE = 128;

    const unsigned short TRANSMISSIONPOSITION_PARK = 255;

    const unsigned short TRANSMISSIONMODE_NORMAL = 0;

    const unsigned short TRANSMISSIONMODE_SPORT = 1;

    const unsigned short TRANSMISSIONMODE_ECONOMY = 2;

    const unsigned short TRANSMISSIONMODE_OEMCUSTOM1 = 3;

    const unsigned short TRANSMISSIONMODE_OEMCUSTOM2 = 4;

    attribute octet gearPosition;

    attribute octet mode;

};

Constants

  • TRANSMISSIONPOSITION_NEUTRAL
    It defines a transmission position that is neutral position.
  • TRANSMISSIONPOSITION_FIRST
    It defines a transmission position that is first position.
  • TRANSMISSIONPOSITION_SECOND
    It defines a transmission position that is second position.
  • TRANSMISSIONPOSITION_THIRD
    It defines a transmission position that is third position.
  • TRANSMISSIONPOSITION_FORTH
    It defines a transmission position that is forth position.
  • TRANSMISSIONPOSITION_FIFTH
    It defines a transmission position that is fifth position.
  • TRANSMISSIONPOSITION_SIXTH
    It defines a transmission position that is sixth position.
  • TRANSMISSIONPOSITION_SEVENTH
    It defines a transmission position that is seventh position.
  • TRANSMISSIONPOSITION_EIGHTH
    It defines a transmission position that is eighth position.
  • TRANSMISSIONPOSITION_NINTH
    It defines a transmission position that is ninth position.
  • TRANSMISSIONPOSITION_TENTH
    It defines a transmission position that is tenth position.
  • TRANSMISSIONPOSITION_CVT
    It defines a transmission position that is cvt position.
  • TRANSMISSIONPOSITION_REVERSE
    It defines a transmission position that is reverse position.
  • TRANSMISSIONPOSITION_PARK
    It defines a transmission position that is park position.
  • TRANSMISSIONMODE_NORMAL
    It defines a transmission mode that represents normal mode.
  • TRANSMISSIONMODE_SPORT
    It defines a transmission mode that represents sport mode.
  • TRANSMISSIONMODE_ECONOMY
    It defines a transmission mode that represents economy mode.
  • TRANSMISSIONMODE_OEMCUSTOM1
    It defines a transmission mode that represents oemcustom1 mode.
  • TRANSMISSIONMODE_OEMCUSTOM2
    It defines a transmission mode that represents oemcustom2 mode.

Attributes

  • octet gearPosition
    An attribute to return transmission gear position (see TRANSMISSIONPOSITION Constants).
  • octet mode
    An attribute to return transmission mode (see TRANSMISSIONMODE Constants).

1.11. CruiseControlStatus

The interface defines cruise control status of vehicle property type.
[NoInterfaceObject] interface CruiseControlStatus : VehiclePropertyType {

    attribute boolean activated;

    attribute unsigned short speed;

};

Attributes

  • boolean activated
    An attribute to return whether or not the cruise control system is active (true) or inactive (false).
  • unsigned short speed
    An attribute to return target cruise control speed in kilometers per hour (kph).

1.12. WheelBrake

The interface defines wheel brake of vehicle property type.
[NoInterfaceObject] interface WheelBrake : VehiclePropertyType {

    attribute boolean engaged;

};

Attributes

  • boolean engaged
    An attribute to return wheel brake status, engaged (true) or disengaged (false).

1.13. LightStatus

The interface defines light status of vehicle property type.
[NoInterfaceObject] interface LightStatus : VehiclePropertyType {

    attribute boolean head;

    attribute boolean rightTurn;

    attribute boolean leftTurn;

    attribute boolean brake;

    attribute boolean fog;

    attribute boolean hazard;

    attribute boolean parking;

    attribute boolean highBeam;

};

Attributes

  • boolean head
    An attribute to return headlight status, on (true) or off (false).
  • boolean rightTurn
    An attribute to return right turn signal status, on (true) or off (false).
  • boolean leftTurn
    An attribute to return left turn signal status, on (true) or off (false).
  • boolean brake
    An attribute to return brake signal light status, on (true) or off (false).
  • boolean fog
    An attribute to return fog light status, on (true) or off (false).
  • boolean hazard
    An attribute to return hazard light status, on (true) or off (false).
  • boolean parking
    An attribute to return parking light status, on (true) or off (false).
  • boolean highBeam
    An attribute to return high beam status, on (true) or off (false).

1.14. InteriorLightStatus

The interface defines interior light status of vehicle property type.
[NoInterfaceObject] interface InteriorLightStatus : VehiclePropertyType {

    attribute boolean passenger;

    attribute boolean driver;

    attribute boolean center;

};

Attributes

  • boolean passenger
    An attribute to return passenger interior light status, on (true) or off (false).
  • boolean driver
    An attribute to return driver interior light status, on (true) or off (false).
  • boolean center
    An attribute to return center interior light status, on (true) or off (false).

1.15. Horn

The interface defines horn of vehicle property type.
[NoInterfaceObject] interface Horn : VehiclePropertyType {

    attribute boolean on;

};

Attributes

  • boolean on
    An attribute to return horn status, on (true) or off (false).

1.16. Fuel

The interface defines fuel of vehicle property type.
[NoInterfaceObject] interface Fuel : VehiclePropertyType {

    attribute unsigned short level;

    attribute unsigned short range;

    attribute unsigned short instantConsumption;

    attribute unsigned short instantEconomy;

    attribute unsigned short averageEconomy;

};

Attributes

  • unsigned short level
    An attribute to return fuel level as a percentage of fullness.
  • unsigned short range
    An attribute to return estimated fuel range in kilometers.
  • unsigned short instantConsumption
    An attribute to return instant fuel consumption in milliliters of fuel per second.
  • unsigned short instantEconomy
    An attribute to return instant fuel economy in kilometers per liter of fuel.
  • unsigned short averageEconomy
    An attribute to return average fuel economy in kilometers per liter of fuel since last reset. Setting this to any value should reset the counter to 0.

1.17. EngineOil

The interface defines engine oil of vehicle property type.
[NoInterfaceObject] interface EngineOil : VehiclePropertyType {

    attribute unsigned short remaining;

    attribute long temperature;

    attribute unsigned short pressure;

};

Attributes

  • unsigned short remaining
    An attribute to return remaining engine oil as percentage of fullness.
  • long temperature
    An attribute to return engine oil temperature in Celcius.
  • unsigned short pressure
    An attribute to return engine oil pressure in kpa.

1.18. Location

The interface defines location of vehicle property type.
[NoInterfaceObject] interface Location : VehiclePropertyType {

    attribute double latitude;

    attribute double longitude;

    attribute double altitude;

    attribute unsigned short direction;

};

Attributes

  • double latitude
    An attribute to return latitude in Deg.Min (-180, +180).
  • double longitude
    An attribute to return longitude in Deg.Min (-90, +90).
  • double altitude
    An attribute to return altitude in meters above sea-level (0).
  • unsigned short direction
    An attribute to return direction in Degrees (0-360).

1.19. ExteriorBrightness

The interface defines exterior brightness of vehicle property type.
[NoInterfaceObject] interface ExteriorBrightness : VehiclePropertyType {

    attribute unsigned long exteriorBrightness;

};

Attributes

  • unsigned long exteriorBrightness
    An attribute to return the brightness outside the vehicle in lux.

1.20. Temperature

The interface defines temperature of vehicle property type.
[NoInterfaceObject] interface Temperature : VehiclePropertyType {

    attribute short interior;

    attribute short exterior;

};

Attributes

  • short interior
    An attribute to return the temperature of the interior of the vehicle in celcius.
  • short exterior
    An attribute to return the temperature of the exterior of the vehicle in celcius.

1.21. RainSensor

The interface defines rain sensor of vehicle property type.
[NoInterfaceObject] interface RainSensor : VehiclePropertyType {

    attribute unsigned short rainSensor;

};

Attributes

  • unsigned short rainSensor
    An attribute to return level of rain intensity, 0: No Rain - 10: Heaviest Rain.

1.22. WindshieldWiper

The interface defines windshield wiper of vehicle property type.
[NoInterfaceObject] interface WindshieldWiper : VehiclePropertyType {

    const unsigned short WIPERSPEED_OFF = 0;

    const unsigned short WIPERSPEED_SLOWEST = 1;

    const unsigned short WIPERSPEED_FASTEST = 5;

    const unsigned short WIPERSPEED_AUTO = 10;

    attribute unsigned short windshieldWiper;

};

Constants

  • WIPERSPEED_OFF
    It defines the windshield wiper speed that is off status.
  • WIPERSPEED_SLOWEST
    It defines the windshield wiper speed that is slowest status.
  • WIPERSPEED_FASTEST
    It defines the windshield wiper speed that is fastest status.
  • WIPERSPEED_AUTO
    It defines the windshield wiper speed that is auto status.

Attributes

  • unsigned short windshieldWiper
    An attribute to return Level of windshield whiper speed (see WIPERSPEED Constants).

1.23. HVAC

The interface defines HVAC of vehicle property type.
[NoInterfaceObject] interface HVAC : VehiclePropertyType {

    const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;

    const unsigned short AIRFLOWDIRECTION_FLOORDUCT = 0x01;

    const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;

    const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;

    attribute unsigned short airflowDirection;

    attribute unsigned short fanSpeed;

    attribute unsigned short targetTemperature;

    attribute boolean airConditioning;

    attribute boolean airRecirculation;

    attribute boolean heater;

    attribute boolean steeringWheelHeater;

    attribute boolean seatHeater;

    attribute boolean seatCooler;

};

Constants

  • AIRFLOWDIRECTION_FRONTPANEL
    It defines an air flow direction that is front panel direction.
  • AIRFLOWDIRECTION_FLOORDUCT
    It defines an air flow direction that is floor duct panel direction.
  • AIRFLOWDIRECTION_FRONT
    It defines an air flow direction that is front direction.
  • AIRFLOWDIRECTION_DEFROSTER
    It defines an air flow direction that is defroster direction.

Attributes

  • unsigned short airflowDirection
    An attribute to return airflow direction (See AIRFLOWDIRECTION Constants).
  • unsigned short fanSpeed
    An attribute to return speed of the fan (0-7).
  • unsigned short targetTemperature
    An attribute to return target desired temperature in celcius.
  • boolean targetTemperature
    An attribute to return air conditioning, on (true) or off (false).
  • boolean airConditioning
    An attribute to return air recirculation, on (true) or off (false).
  • boolean heater
    An attribute to return heater status, on (true) or off (false).
  • boolean steeringWheelHeater
    An attribute to return steering wheel heater, on (true) or off (false).
  • boolean seatHeater
    An attribute to return seat heater status:, on (true) or off (false).
  • boolean seatCooler
    An attribute to return seat cooler status:, on (true) or off (false).

1.24. WindowStatus

The interface defines window status of vehicle property type.
[NoInterfaceObject] interface WindowStatus : VehiclePropertyType {

    const unsigned short WINDOWLOCATION_DRIVER = 0;

    const unsigned short WINDOWLOCATION_PASSENGER = 1;

    const unsigned short WINDOWLOCATION_LEFTREAR = 2;

    const unsigned short WINDOWLOCATION_RIGHTREAR = 3;

    const unsigned short WINDOWLOCATION_REAR = 4;

    attribute unsigned short openness;

    attribute boolean defrost;

};

Constants

  • WINDOWLOCATION_DRIVER
    It defines the window location that is driver zone.
  • WINDOWLOCATION_PASSENGER
    It defines the window location that is passenger zone.
  • WINDOWLOCATION_LEFTREAR
    It defines the window location that is left rear zone.
  • WINDOWLOCATION_RIGHTREAR
    It defines the window location that is right rear zone.
  • WINDOWLOCATION_REAR
    It defines the window location that is rear zone.

Attributes

  • unsigned short openness
    An attribute to return window openness percentage (100% fully open, 0% fully closed) for the window location (see WINDOWLOCATION Constants).
  • boolean defrost
    An attribute to return the defroster status of the window, on (true) or off (false).

1.25. Sunroof

The interface defines sunroof of vehicle property type.
[NoInterfaceObject] interface Sunroof : VehiclePropertyType {

    attribute unsigned short openness;

    attribute unsigned short tilt;

};

Attributes

  • unsigned short openness
    An attribute to return window status for sunroof openness percentage.
  • unsigned short tilt
    An attribute to return tilt status for sunroof percentage.

1.26. ConvertibleRoof

The interface defines convertible roof of vehicle property type.
[NoInterfaceObject] interface ConvertibleRoof : VehiclePropertyType {

    attribute unsigned short openness;

};

Attributes

  • unsigned short openness
    An attribute to return window status for sunroof openness percentage.

1.27. VehicleId

The interface defines vehicle id of vehicle property type.
[NoInterfaceObject] interface VehicleId : VehiclePropertyType {

    attribute DOMString WMI;

    attribute DOMString VIN;

};

Attributes

  • DOMString WMI
    An attribute to return World Manufacturer Identifier (WMI) is defined by SAE ISO 3780:2009.
  • DOMString VIN
    An attribute to return Vehicle Identification Number (VIN) is defined by ISO 3779.

1.28. Size

The interface defines size of vehicle property type.
[NoInterfaceObject] interface Size : VehiclePropertyType {

    attribute unsigned long width;

    attribute unsigned long height;

    attribute unsigned long length;

};

Attributes

  • unsigned long width
    An attribute to return width of vehicle in mm.
  • unsigned long height
    An attribute to return height of vehicle in mm.
  • unsigned long length
    An attribute to return length of vehicle in mm.

1.29. FuelInfo

The interface defines fuel information of vehicle property type.
[NoInterfaceObject] interface FuelInfo : VehiclePropertyType {

    const unsigned short FUELTYPE_GASOLINE = 0;

    const unsigned short FUELTYPE_HIGH_OCTANE = 1;

    const unsigned short FUELTYPE_DIESEL = 2;

    const unsigned short FUELTYPE_ELECTRIC = 3;

    const unsigned short FUELTYPE_HYDROGEN = 4;

    const unsigned short REFUELPOSITION_LEFT = 0;

    const unsigned short REFUELPOSITION_RIGHT = 1;

    const unsigned short REFUELPOSITION_FRONT = 2;

    const unsigned short REFUELPOSITION_REAR = 3;

    attribute unsigned short type;

    attribute unsigned short refuelPosition;

};

Constants

  • FUELTYPE_GASOLINE
    It defines the gasoline fuel type.
  • FUELTYPE_HIGH_OCTANE
    It defines the high octane fuel type.
  • FUELTYPE_DIESEL
    It defines the diesel fuel type.
  • FUELTYPE_ELECTRIC
    It defines the electric fuel type.
  • FUELTYPE_HYDROGEN
    It defines the hydrogen fuel type.
  • REFUELPOSITION_LEFT
    It defines the left refuel position.
  • REFUELPOSITION_RIGHT
    It defines the right refuel position.
  • REFUELPOSITION_FRONT
    It defines the front refuel position.
  • REFUELPOSITION_REAR
    It defines the rear refuel position.

Attributes

  • unsigned short type
    An attribute to return type of fuel (see FUELTYPE Constants).
  • unsigned short refuelPosition
    An attribute to return position of refuling (see REFUELPOSITION Constants).

1.30. VehicleType

The interface defines vehicle type of vehicle property type.
[NoInterfaceObject] interface VehicleType : VehiclePropertyType {

    const unsigned short VEHICLETYPE_SEDAN = 0;

    const unsigned short VEHICLETYPE_COUPE = 1;

    const unsigned short VEHICLETYPE_CABRIOLE = 2;

    const unsigned short VEHICLETYPE_ROADSTER = 3;

    const unsigned short VEHICLETYPE_SUV = 4;

    const unsigned short VEHICLETYPE_TRUCK = 5;

    attribute unsigned short type;

};

Constants

  • VEHICLETYPE_SEDAN
    It defines the sedan vehicle type.
  • VEHICLETYPE_COUPE
    It defines the coupe vehicle type.
  • VEHICLETYPE_CABRIOLE
    It defines the cabriole vehicle type.
  • VEHICLETYPE_ROADSTER
    It defines the roadster vehicle type.
  • VEHICLETYPE_SUV
    It defines the suv vehicle type.
  • VEHICLETYPE_TRUCK
    It defines the truck vehicle type.

Attributes

  • unsigned short type
    An attribute to return type of vehicle (see VEHICLETYPE Constants).

1.31. Doors

The interface defines doors of vehicle property type.
[NoInterfaceObject] interface Doors : VehiclePropertyType {

    attribute unsigned short[] doorsPerRow;

};

Attributes

  • unsigned short[] doorsPerRow
    An attribute to return number of doors in each row.
    The index represents the row. Position '0' represents the first row, '1' the second row etc. Example a common mini-van may have Doors[0] = 2 doors, Doors[1] = 1 (side door), Doors[2] = 1 (trunk).

1.32. TransmissionGearType

The interface defines transmission gear type of vehicle property type.
[NoInterfaceObject] interface TransmissionGearType : VehiclePropertyType {

    const unsigned short TRANSMISSIONGEARTYPE_AUTO = 0;

    const unsigned short TRANSMISSIONGEARTYPE_MANUAL = 1;

    const unsigned short TRANSMISSIONGEARTYPE_CV = 2;

    attribute unsigned short transmissionGearType;

};

Constants

  • TRANSMISSIONGEARTYPE_AUTO
    It defines the auto transmission gear type.
  • TRANSMISSIONGEARTYPE_MANUAL
    It defines the manual transmission gear type.
  • TRANSMISSIONGEARTYPE_CV
    It defines the cv transmission gear type.

Attributes

  • unsigned short transmissionGearType
    An attribute to return transmission gear type (see TRANSMISSIONGEARTYPE Constants).

1.33. WheelInformation

The interface defines wheel information of vehicle property type.
[NoInterfaceObject] interface WheelInformation : VehiclePropertyType {

    attribute unsigned short frontWheelRadius;

    attribute unsigned short rearWheelRadius;

    attribute unsigned long wheelTrack;

    attribute boolean ABS;

};

Attributes

  • unsigned short frontWheelRadius
    An attribute to return radius of front wheel(s) in mm.
  • unsigned short rearWheelRadius
    An attribute to return Radius of Rear Wheel(s) in mm.
  • unsigned short wheelTrack
    An attribute to return Wheel Track in mm.
  • boolean ABS
    An attribute to return Antilock Brake System status, on (true) or off (false).

1.34. Odometer

The interface defines odometer of vehicle property type.
[NoInterfaceObject] interface Odometer : VehiclePropertyType {

    attribute unsigned long odometer;

};

Attributes

  • unsigned long odometer
    An attribute to return Distance traveled in km.

1.35. Fluid

The interface defines fluid of vehicle property type.
[NoInterfaceObject] interface Fluid : VehiclePropertyType {

    attribute unsigned short transmission;

    attribute unsigned short brake;

    attribute unsigned short washer;

};

Attributes

  • unsigned short transmission
    An attribute to return transmission fluid level percentage (0 - 100).
  • unsigned short brake
    An attribute to return brake fluid level percentage (0 - 100).
  • unsigned short washer
    An attribute to return washer fluid level percentage (0 - 100).

1.36. Battery

The interface defines battery of vehicle property type.
[NoInterfaceObject] interface Battery : VehiclePropertyType {

    attribute double voltage;

    attribute double current;

};

Attributes

  • double voltage
    An attribute to return battery voltage.
  • double current
    An attribute to return battery current in amperes.

1.37. TirePressure

The interface defines tire pressure of vehicle property type.
[NoInterfaceObject] interface TirePressure : VehiclePropertyType {

    attribute double leftFront;

    attribute double rightFront;

    attribute double leftRear;

    attribute double rightRear;

};

Attributes

  • double leftFront
    An attribute to return left front tire pressure in kpa.
  • double rightFront
    An attribute to return right front tire pressure in kpa.
  • double leftRear
    An attribute to return left rear tire pressure in kpa.
  • double rightRear
    An attribute to return right rear tire pressure in kpa.

1.38. TireTemperature

The interface defines tire temperature of vehicle property type.
[NoInterfaceObject] interface TireTemperature : VehiclePropertyType {

    attribute double leftFront;

    attribute double rightFront;

    attribute double leftRear;

    attribute double rightRear;

};

Attributes

  • double leftFront
    An attribute to return left front tire temperature in celcius.
  • double rightFront
    An attribute to return right front tire temperature in celcius.
  • double leftRear
    An attribute to return left rear tire temperature in celcius.
  • double rightRear
    An attribute to return right rear tire temperature in celcius.

1.39. SecurityAlert

The interface defines security alert of vehicle property type.
[NoInterfaceObject] interface SecurityAlert : VehiclePropertyType {

    attribute boolean securityAlert;

};

Attributes

  • boolean securityAlert
    An attribute to return security alert status.

1.40. ParkingBrake

The interface defines parking brake of vehicle property type.
[NoInterfaceObject] interface ParkingBrake : VehiclePropertyType {

    attribute boolean parkingBrake;

};

Attributes

  • boolean parkingBrake
    An attribute to return status of parking brake, engaged (true) or disengaged (false).

1.41. ParkingLight

The interface defines parking light of vehicle property type.
[NoInterfaceObject] interface ParkingLight : VehiclePropertyType {

    attribute boolean parkingLight;

};

Attributes

  • boolean parkingLight
    An attribute to return status of parking light, engaged (true) or disengaged (false).

1.42. HazardLight

The interface defines hazard light of vehicle property type.
[NoInterfaceObject] interface HazardLight : VehiclePropertyType {

    attribute boolean hazardLight;

};

Attributes

  • boolean hazardLight
    An attribute to return status of hazard light, engaged (true) or disengaged (false).

1.43. AntilockBrakingSystem

The interface defines antilock braking system of vehicle property type.
[NoInterfaceObject] interface AntilockBrakingSystem : VehiclePropertyType {

    attribute boolean antilockBrakingSystem;

};

Attributes

  • boolean antilockBrakingSystem
    An attribute to return whether Antilock Braking System is idle (false) or engaged (true).

1.44. TractionControlSystem

The interface defines traction control system of vehicle property type.
[NoInterfaceObject] interface TractionControlSystem : VehiclePropertyType {

    attribute boolean tractionControlSystem;

};

Attributes

  • boolean tractionControlSystem
    An attribute to return whether Traction Control System is off (false) or on (true).

1.45. VehicleTopSpeedLimit

The interface defines vehicle top speed limit of vehicle property type.
[NoInterfaceObject] interface VehicleTopSpeedLimit : VehiclePropertyType {

    attribute unsigned short vehicleTopSpeedLimit;

};

Attributes

  • unsigned short vehicleTopSpeedLimit
    An attribute to returns top rated speed in km/h (0 = no limit).

1.46. AirbagStatus

The interface defines airbag status of vehicle property type.
[NoInterfaceObject] interface AirbagStatus : VehiclePropertyType {

    const unsigned short AIRBAGSTATUS_INACTIVE = 0;

    const unsigned short AIRBAGSTATUS_ACTIVE = 1;

    const unsigned short AIRBAGSTATUS_DEPLOYED = 2;

    attribute unsigned short airbagStatus;

};

Constants

  • AIRBAGSTATUS_INACTIVE
    It defines the inactive airbag status.
  • AIRBAGSTATUS_ACTIVE
    It defines the active airbag status.
  • AIRBAGSTATUS_DEPLOYED
    It defines the deployed airbag status.

Attributes

  • unsigned short airbagStatus
    An attribute to return Airbag deployment status (see AIRBAGSTATUS Constants).

1.47. DoorStatus

The interface defines door status of vehicle property type.
[NoInterfaceObject] interface DoorStatus : VehiclePropertyType {

    const unsigned short DOORSTATUS_CLOSED = 0;

    const unsigned short DOORSTATUS_OPEN = 1;

    const unsigned short DOORSTATUS_AJAR = 2;

    attribute unsigned short doorStatus;

    attribute boolean doorLockStatus;

    attribute boolean childLockStatus;

};

Constants

  • DOORSTATUS_CLOSED
    It defines the closed door status.
  • DOORSTATUS_OPEN
    It defines the open door status.
  • DOORSTATUS_AJAR
    It defines the ajar door status.

Attributes

  • unsigned short doorStatus
    An attribute to returns door status (see DOORSTATUS Constants).
  • boolean doorLockStatus
    An attribute to returns door status, locked (true) or unlocked (false).
  • boolean childLockStatus
    An attribute to returns child lock status of rear doors, active (true) or inactive (false). Setting this to 'true' will prevent the rear doors from being opened from the inside.

1.48. SeatBeltStatus

The interface defines seat belt status of vehicle property type.
[NoInterfaceObject] interface SeatBeltStatus : VehiclePropertyType {

    attribute boolean seatBeltStatus;

};

Attributes

  • boolean seatBeltStatus
    An attribute to return seat belt status, fasten (true) or unfastened (false).

1.49. OccupantStatus

The interface defines occupant status of vehicle property type.
[NoInterfaceObject] interface OccupantStatus : VehiclePropertyType {

    const unsigned short OCCUPANTSTATUS_VACANT = 0;

    const unsigned short OCCUPANTSTATUS_CHILD = 1;

    const unsigned short OCCUPANTSTATUS_ADULT = 2;

    attribute unsigned short occupantStatus;

};

Constants

  • OCCUPANTSTATUS_VACANT
    It defines the vacant occupant status.
  • OCCUPANTSTATUS_CHILD
    It defines the child occupant status.
  • OCCUPANTSTATUS_ADULT
    It defines the adult occupant status.

Attributes

  • unsigned short occupantStatus
    An attribute to returns occupant status (see OCCUPANTSTATUS Constants).

1.50. ObstacleDistance

The interface defines obstacle distance of vehicle property type.
[NoInterfaceObject] interface ObstacleDistance : VehiclePropertyType {

    const unsigned short DISTANCESENSORLOCATION_LEFTFRONT = 0;

    const unsigned short DISTANCESENSORLOCATION_RIGHTFRONT = 1;

    const unsigned short DISTANCESENSORLOCATION_LEFTREAR = 2;

    const unsigned short DISTANCESENSORLOCATION_RIGHTREAR = 3;

    const unsigned short DISTANCESENSORLOCATION_LEFTBLINDSPOT = 4;

    const unsigned short DISTANCESENSORLOCATION_RIGHTBLINDSPOT = 5;

    attribute double obstacleDistance;

};

Constants

  • DISTANCESENSORLOCATION_LEFTFRONT
    It defines the left front distance sensor location.
  • DISTANCESENSORLOCATION_RIGHTFRONT
    It defines the right front distance sensor location.
  • DISTANCESENSORLOCATION_LEFTREAR
    It defines the left rear distance sensor location.
  • DISTANCESENSORLOCATION_RIGHTREAR
    It defines the right rear distance sensor location.
  • DISTANCESENSORLOCATION_LEFTBLINDSPOT
    It defines the left blind spot distance sensor location.
  • DISTANCESENSORLOCATION_RIGHTBLINDSPOT
    It defines the right blind spot distance sensor location.

Attributes

  • double obstacleDistance
    An attribute to return distance sensor distance in m.

1.51. NightMode

The interface defines night mode of vehicle property type.
[NoInterfaceObject] interface NightMode : VehiclePropertyType {

    attribute boolean nightMode;

};

Attributes

  • boolean nightMode
    An attribute to return whether or not the system is in night mode (true). False is day mode.

1.52. DrivingMode

The interface defines driving mode of vehicle property type.
[NoInterfaceObject] interface DrivingMode : VehiclePropertyType {

    attribute unsigned short drivingMode;

};

Attributes

  • unsigned short drivingMode
    An attribute to return whether or not the system is in driving mode(1). 0 represents no driving mode.

1.53. VehiclePropertyCallback

This interface specified a success callback that is invoked when vehicle propery type is valid.
[Callback=FunctionOnly, NoInterfaceObject] interface VehiclePropertyCallback {

    void onsuccess(VehiclePropertyType value);

};

Methods

onsuccess
The callback function used to return a property value. Called when vehicle propery type is valid.
void onsuccess(VehiclePropertyType value);

Parameters:

  • value: A VehiclePropertyType object.

1.54. VehiclePropertyErrorCallback

This interface specified a failure callback that is invoked when any errors are happened.
[Callback=FunctionOnly, NoInterfaceObject] interface VehiclePropertyErrorCallback {

    void onfailure(VehiclePropertyError error);

};

Methods

onsuccess
The callback function used to return reference error code and message. Called when any errors are happened.
void onfailure(VehiclePropertyError error);

Parameters:

  • error: A VehiclePropertyError object.

1.55. VehiclePropertyListCallback

This interface specified a success callback that is invoked when vehicle propery type is valid.
[Callback=FunctionOnly, NoInterfaceObject] interface VehiclePropertyListCallback {

    void onsuccess(VehiclePropertyType[] values);

};

Methods

onsuccess
The callback function used to return VehiclePropertyType value list. Called when vehicle propery type is valid.
 void onsuccess(VehiclePropertyType[] values);

Parameters:

  • values: A VehiclePropertyType value list.

1.56. SupportedPropertiesCallback

This interface specified a success callback that is invoked.
[Callback=FunctionOnly, NoInterfaceObject] interface SupportedPropertiesCallback {

    void onsuccess(DOMString[] properties);

};

Methods

onsuccess
The callback function used to return supported properties.
void onsuccess(DOMString[] properties);

Parameters:

  • properties: A string array.

1.57. DefrostDictionary

A dictionary that is used for creating defrost items.
dictionary DefrostDictionary {

    unsigned short window;

    boolean defrost;

};

2. Full WebIDL

module Vehicle {

    [NoInterfaceObject] interface VehicleManagerObject {
        readonly attribute Vehicle vehicle;
    };

    Tizen implements VehicleManagerObject;

    [NoInterfaceObject] interface Vehicle {

        const unsigned short ZONE_None = 0;

        const unsigned short ZONE_Front = 0x01;

        const unsigned short ZONE_Middle = 0x02;

        const unsigned short ZONE_Right = 0x04;

        const unsigned short ZONE_Left = 0x08;

        const unsigned short ZONE_Rear = 0x10;

        const unsigned short ZONE_Center = 0x20;

        DOMString[] supported();

        any get(DOMString objectType, optional short zone);

        void getAsync(DOMString objectType, VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback, optional short zone);

        void subscribe(DOMString objectType, VehiclePropertyCallback successCallback, optional unsigned short zone, optional VehiclePropertyErrorCallback errorCallback);

        void set(DOMString objectType, object value, optional VehiclePropertyErrorCallback errorCallback);

        void getHistory(DOMString objectType, unsigned short zone, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);

        unsigned short[] listZones(DOMString objectType);
    };

    [NoInterfaceObject] interface VehiclePropertyType : Event {

        attribute DOMTimeStamp time;

        attribute short zone;

        attribute DOMString source;

    };

    [NoInterfaceObject] interface VehiclePropertyError {

        const unsigned short PERMISSION_DENIED = 1;

        const unsigned short PROPERTY_UNAVAILABLE = 2;

        const unsigned short TIMEOUT = 3;

        const unsigned short UNKNOWN = 10;

        attribute unsigned short code;

        attribute DOMString message;

    };

    [NoInterfaceObject] interface VehicleSpeed : VehiclePropertyType {

        attribute unsigned long vehicleSpeed;

    };

    [NoInterfaceObject] interface EngineSpeed : VehiclePropertyType {

        attribute unsigned long engineSpeed;

    };

    [NoInterfaceObject] interface VehiclePowerMode : VehiclePropertyType {

        const unsigned short VEHICLEPOWERMODE_OFF = 0;

        const unsigned short VEHICLEPOWERMODE_ACCESSORY1 = 1;

        const unsigned short VEHICLEPOWERMODE_ACCESSORY2 = 2;

        const unsigned short VEHICLEPOWERMODE_RUN = 3;

        attribute octet vehiclePowerMode;

    };

    [NoInterfaceObject] interface TripMeter : VehiclePropertyType {

        attribute unsigned long[] tripMeters;

    };

    [NoInterfaceObject] interface Acceleration : VehiclePropertyType {

        attribute unsigned long x;

        attribute unsigned long y;

        attribute unsigned long z;

    };

    [NoInterfaceObject] interface Transmission : VehiclePropertyType {

        const unsigned short TRANSMISSIONPOSITION_NEUTRAL = 0;

        const unsigned short TRANSMISSIONPOSITION_FIRST = 1;

        const unsigned short TRANSMISSIONPOSITION_SECOND = 2;

        const unsigned short TRANSMISSIONPOSITION_THIRD = 3;

        const unsigned short TRANSMISSIONPOSITION_FORTH = 4;

        const unsigned short TRANSMISSIONPOSITION_FIFTH = 5;

        const unsigned short TRANSMISSIONPOSITION_SIXTH = 6;

        const unsigned short TRANSMISSIONPOSITION_SEVENTH = 7;

        const unsigned short TRANSMISSIONPOSITION_EIGHTH = 8;

        const unsigned short TRANSMISSIONPOSITION_NINTH = 9;

        const unsigned short TRANSMISSIONPOSITION_TENTH = 10;

        const unsigned short TRANSMISSIONPOSITION_CVT = 64;

        const unsigned short TRANSMISSIONPOSITION_REVERSE = 128;

        const unsigned short TRANSMISSIONPOSITION_PARK = 255;

        const unsigned short TRANSMISSIONMODE_NORMAL = 0;

        const unsigned short TRANSMISSIONMODE_SPORT = 1;

        const unsigned short TRANSMISSIONMODE_ECONOMY = 2;

        const unsigned short TRANSMISSIONMODE_OEMCUSTOM1 = 3;

        const unsigned short TRANSMISSIONMODE_OEMCUSTOM2 = 4;

        attribute octet gearPosition;

        attribute octet mode;

    };

    [NoInterfaceObject] interface WheelBrake : VehiclePropertyType {

        attribute boolean engaged;

    };

    [NoInterfaceObject] interface LightStatus : VehiclePropertyType {

        attribute boolean head;

        attribute boolean rightTurn;

        attribute boolean leftTurn;

        attribute boolean brake;

        attribute boolean fog;

        attribute boolean hazard;

        attribute boolean parking;

        attribute boolean highBeam;

    };

    [NoInterfaceObject] interface InteriorLightStatus : VehiclePropertyType {

        attribute boolean passenger;

        attribute boolean driver;

        attribute boolean center;

    };

    [NoInterfaceObject] interface Horn : VehiclePropertyType {

        attribute boolean on;

    };

    [NoInterfaceObject] interface Fuel : VehiclePropertyType {

        attribute unsigned short level;

        attribute unsigned short range;

        attribute unsigned short instantConsumption;

        attribute unsigned short instantEconomy;

        attribute unsigned short averageEconomy;

    };

    [NoInterfaceObject] interface EngineOil : VehiclePropertyType {

        attribute unsigned short remaining;

        attribute long temperature;

        attribute unsigned short pressure;

    };

    [NoInterfaceObject] interface Location : VehiclePropertyType {

        attribute double latitude;

        attribute double longitude;

        attribute double altitude;

        attribute unsigned short direction;

    };

    [NoInterfaceObject] interface ExteriorBrightness : VehiclePropertyType {

        attribute unsigned long exteriorBrightness;

    };

    [NoInterfaceObject] interface Temperature : VehiclePropertyType {

        attribute short interior;

        attribute short  exterior;

    };

    [NoInterfaceObject] interface RainSensor : VehiclePropertyType {

        attribute unsigned short rainSensor;

    };

    [NoInterfaceObject] interface WindshieldWiper : VehiclePropertyType {

        const unsigned short WIPERSPEED_OFF = 0;

        const unsigned short WIPERSPEED_SLOWEST = 1;

        const unsigned short WIPERSPEED_FASTEST = 5;

        const unsigned short WIPERSPEED_AUTO = 10;

        attribute unsigned short windshieldWiper;

    };

    [NoInterfaceObject] interface HVAC : VehiclePropertyType {

        const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;

        const unsigned short AIRFLOWDIRECTION_FLOORDUCT = 0x01;

        const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;

        const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;

        attribute unsigned short airflowDirection;

        attribute unsigned short fanSpeed;

        attribute unsigned short targetTemperature;

        attribute boolean airConditioning;

        attribute boolean airRecirculation;

        attribute boolean heater;

        attribute boolean steeringWheelHeater;

        attribute boolean seatHeater;

        attribute boolean seatCooler;

    };

    [NoInterfaceObject] interface WindowStatus : VehiclePropertyType {

        const unsigned short WINDOWLOCATION_DRIVER = 0;

        const unsigned short WINDOWLOCATION_PASSENGER = 1;

        const unsigned short WINDOWLOCATION_LEFTREAR = 2;

        const unsigned short WINDOWLOCATION_RIGHTREAR = 3;

        const unsigned short WINDOWLOCATION_REAR = 4;

        attribute unsigned short openness;

        attribute boolean defrost;

    };

    [NoInterfaceObject] interface Sunroof : VehiclePropertyType {

        attribute unsigned short openness;

        attribute unsigned short tilt;

    };

    [NoInterfaceObject] interface ConvertibleRoof : VehiclePropertyType {

        attribute unsigned short openness;

    };

    [NoInterfaceObject] interface VehicleId : VehiclePropertyType {

        attribute DOMString WMI;

        attribute DOMString VIN;

    };

    [NoInterfaceObject] interface Size : VehiclePropertyType {

        attribute unsigned long width;

        attribute unsigned long height;

        attribute unsigned long length;

    };

    [NoInterfaceObject] interface FuelInfo : VehiclePropertyType {

        const unsigned short FUELTYPE_GASOLINE = 0;

        const unsigned short FUELTYPE_HIGH_OCTANE = 1;

        const unsigned short FUELTYPE_DIESEL = 2;

        const unsigned short FUELTYPE_ELECTRIC = 3;

        const unsigned short FUELTYPE_HYDROGEN = 4;

        const unsigned short REFUELPOSITION_LEFT = 0;

        const unsigned short REFUELPOSITION_RIGHT = 1;

        const unsigned short REFUELPOSITION_FRONT = 2;

        const unsigned short REFUELPOSITION_REAR = 3;

        attribute unsigned short type;

        attribute unsigned short refuelPosition;

    };

    [NoInterfaceObject] interface VehicleType : VehiclePropertyType {

        const unsigned short VEHICLETYPE_SEDAN = 0;

        const unsigned short VEHICLETYPE_COUPE = 1;

        const unsigned short VEHICLETYPE_CABRIOLE = 2;

        const unsigned short VEHICLETYPE_ROADSTER = 3;

        const unsigned short VEHICLETYPE_SUV = 4;

        const unsigned short VEHICLETYPE_TRUCK = 5;

        attribute unsigned short type;

    };

    [NoInterfaceObject] interface Doors : VehiclePropertyType {

        attribute unsigned short[] doorsPerRow;

    };

    [NoInterfaceObject] interface TransmissionGearType : VehiclePropertyType {

        const unsigned short TRANSMISSIONGEARTYPE_AUTO = 0;

        const unsigned short TRANSMISSIONGEARTYPE_MANUAL = 1;

        const unsigned short TRANSMISSIONGEARTYPE_CV = 2;

        attribute unsigned short transmissionGearType;

    };

    [NoInterfaceObject] interface WheelInformation : VehiclePropertyType {

         attribute unsigned short frontWheelRadius;

         attribute unsigned short rearWheelRadius;

         attribute unsigned long wheelTrack;

         attribute boolean ABS;

    };

    [NoInterfaceObject] interface Odometer : VehiclePropertyType {

         attribute unsigned long odometer;

    };

    [NoInterfaceObject] interface Fluid : VehiclePropertyType {

        attribute unsigned short transmission;

        attribute unsigned short brake;

        attribute unsigned short washer;

    };

    [NoInterfaceObject] interface Battery : VehiclePropertyType {

        attribute double voltage;

        attribute double current;

    };

    [NoInterfaceObject] interface TirePressure : VehiclePropertyType {

         attribute double leftFront;

         attribute double rightFront;

         attribute double leftRear;

         attribute double rightRear;

    };

    [NoInterfaceObject] interface TireTemperature : VehiclePropertyType {

        attribute double leftFront;

        attribute double rightFront;

        attribute double leftRear;

        attribute double rightRear;

    };

    [NoInterfaceObject] interface SecurityAlert : VehiclePropertyType {

        attribute boolean securityAlert;

    };

    [NoInterfaceObject] interface ParkingBrake : VehiclePropertyType {

        attribute boolean parkingBrake;

    };

    [NoInterfaceObject] interface ParkingLight : VehiclePropertyType {

        attribute boolean parkingLight;

    };

    [NoInterfaceObject] interface HazardLight : VehiclePropertyType {

        attribute boolean hazardLight;

    };

    [NoInterfaceObject] interface AntilockBrakingSystem : VehiclePropertyType {

        attribute boolean antilockBrakingSystem;

    };

    [NoInterfaceObject] interface TractionControlSystem : VehiclePropertyType {

        attribute boolean tractionControlSystem;

    };

    [NoInterfaceObject] interface VehicleTopSpeedLimit : VehiclePropertyType {

        attribute unsigned short vehicleTopSpeedLimit;

    };

    [NoInterfaceObject] interface AirbagStatus : VehiclePropertyType {

        const unsigned short AIRBAGSTATUS_INACTIVE = 0;

        const unsigned short AIRBAGSTATUS_ACTIVE = 1;

        const unsigned short AIRBAGSTATUS_DEPLOYED = 2;

        attribute unsigned short airbagStatus;

    };

    [NoInterfaceObject] interface DoorStatus : VehiclePropertyType {

        const unsigned short DOORSTATUS_CLOSED = 0;

        const unsigned short DOORSTATUS_OPEN = 1;

        const unsigned short DOORSTATUS_AJAR = 2;

        attribute unsigned short doorStatus;

        attribute boolean doorLockStatus;

        attribute boolean childLockStatus;

    };

    [NoInterfaceObject] interface SeatBeltStatus : VehiclePropertyType {

        attribute boolean seatBeltStatus;

    };

    [NoInterfaceObject] interface OccupantStatus : VehiclePropertyType {

        const unsigned short OCCUPANTSTATUS_VACANT = 0;

        const unsigned short OCCUPANTSTATUS_CHILD = 1;

        const unsigned short OCCUPANTSTATUS_ADULT = 2;

        attribute unsigned short occupantStatus;

    };

    [NoInterfaceObject] interface ObstacleDistance : VehiclePropertyType {

        const unsigned short DISTANCESENSORLOCATION_LEFTFRONT = 0;

        const unsigned short DISTANCESENSORLOCATION_RIGHTFRONT = 1;

        const unsigned short DISTANCESENSORLOCATION_LEFTREAR = 2;

        const unsigned short DISTANCESENSORLOCATION_RIGHTREAR = 3;

        const unsigned short DISTANCESENSORLOCATION_LEFTBLINDSPOT = 4;

        const unsigned short DISTANCESENSORLOCATION_RIGHTBLINDSPOT = 5;

        attribute double obstacleDistance;

    };

    [NoInterfaceObject] interface NightMode : VehiclePropertyType {

        attribute boolean nightMode;

    };

    [NoInterfaceObject] interface DrivingMode : VehiclePropertyType {

        attribute unsigned short drivingMode;

    };

    [Callback=FunctionOnly, NoInterfaceObject] interface VehiclePropertyCallback {

        void onsuccess(VehiclePropertyType value);

    };

    [Callback=FunctionOnly, NoInterfaceObject] interface VehiclePropertyErrorCallback {

        void onfailure(VehiclePropertyError error);

    };

    [Callback=FunctionOnly, NoInterfaceObject] interface VehiclePropertyListCallback {

        void onsuccess(VehiclePropertyType[] values);

    };

    [Callback=FunctionOnly, NoInterfaceObject] interface SupportedPropertiesCallback {

        void onsuccess(DOMString[] properties);

    };

    dictionary DefrostDictionary {

        unsigned short window;

        boolean defrost;

    };
};