6 \def-api-feature http://tizen.org/api/vehicle
7 \brief Allows access to the vehicle API
14 interface VehicleManagerObject {
15 readonly attribute Vehicle vehicle;
17 Tizen implements VehicleManagerObject;
21 interface VehiclePropertyType {
23 * \brief time at which the vehicle generated the property
25 attribute DOMTimeStamp time;
27 attribute DOMString source;
31 interface VehiclePropertyError {
32 const unsigned short PERMISSION_DENIED = 1;
33 const unsigned short PROPERTY_UNAVAILABLE = 2;
34 const unsigned short TIMEOUT = 3;
35 const unsigned short UNKNOWN = 10;
38 * MUST return error code.
40 attribute unsigned short code;
43 * MUST return error message
45 attribute DOMString message;
48 callback VehiclePropertyCallback = void (VehiclePropertyType value);
50 callback VehiclePropertyErrorCallback = void (VehiclePropertyError error);
52 callback VehiclePropertyListCallback = void (sequence<VehiclePropertyType> values);
54 callback SupportedPropertiesCallback = void (sequence<DOMString> properties);
60 const unsigned short ZONE_None = 0;
61 const unsigned short ZONE_Front = 0x01;
62 const unsigned short ZONE_Middle = 0x02;
63 const unsigned short ZONE_Right = 0x04;
64 const unsigned short ZONE_Left = 0x08;
65 const unsigned short ZONE_Rear = 0x10;
66 const unsigned short ZONE_Center = 0x20;
69 * \brief returns supported object types
71 sequence<DOMString> supported();
74 * \brief fetch the current value for 'objectType'.
75 * \param objectType is the requested property to be retrieved.
76 * \param zone specify the zone in which this object type is in
77 * \return object representing the requested 'objectType'
79 any get(DOMString objectType, optional short zone);
81 /** \brief subscribe to the given property and get callbacks when it changes
82 * \param objectType property to set
83 * \param successCallback callback will be called when the "objectType" changes
84 * \param errorCallback callback if error has been called.
87 void subscribe(DOMString objectType, VehiclePropertyCallback successCallback, optional unsigned short zone, optional VehiclePropertyErrorCallback errorCallback);
90 * \brief set the given objectType to value
91 * \param objectType object type to set
92 * \param value value to set, should contain zone information ie "zone" : 0
93 * \param errorCallback callback if error has been called.
95 void set(DOMString objectType, VehiclePropertyType value, optional VehiclePropertyErrorCallback errorCallback);
98 * \brief get values for a given objectType within a certain past time period between 'startTime' and 'endTime'
99 * \param objectType object type to request
100 * \param zone in which the objectType is located or 0 if no zone.
101 * \param startTime starting period of time.
102 * \param endTime ending period of time.
103 * \param successCallback Callback with the result of the method call
104 * \param errorCallback Callback if an error has occurred.
106 void getHistory(DOMString objectType, unsigned short zone, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
109 * \brief list zones available for a given object type
110 * \param DOMString object type to request, ie "HVAC"
112 sequence<unsigned short> listZones(DOMString objectType);
116 interface VehicleSpeed : VehiclePropertyType {
119 * \brief Must return Vehicle Speed in kilometers per hour.
121 attribute unsigned long vehicleSpeed;
125 interface EngineSpeed : VehiclePropertyType {
128 * \brief Must return Engine Speed in rotations per minute.
130 attribute unsigned long engineSpeed;
134 interface VehiclePowerMode : VehiclePropertyType {
135 const unsigned short VEHICLEPOWERMODE_OFF = 0;
136 const unsigned short VEHICLEPOWERMODE_ACCESSORY1 = 1;
137 const unsigned short VEHICLEPOWERMODE_ACCESSORY2 = 2;
138 const unsigned short VEHICLEPOWERMODE_RUN = 3;
141 * \brief Must return Vehicle Power mode (see VEHICLEPOWERMODE)
143 attribute octet vehiclePowerMode;
147 interface TripMeter : VehiclePropertyType {
150 * \brief Must return trip meters. Changing any items in the array will reset the item's value to '0'.
152 attribute sequence<unsigned long> tripMeters;
156 interface Acceleration : VehiclePropertyType {
159 * \brief Must return acceleration on the "X" axis as 1/1000 G (gravitational force).
161 attribute unsigned long x;
164 * \brief Must return acceleration on the "Y" axis as 1/1000 G (gravitational force).
166 attribute unsigned long y;
169 * \brief Must return acceleration on the "Z" axis as 1/1000 G (gravitational force).
171 attribute unsigned long z;
175 interface Transmission : VehiclePropertyType {
176 const unsigned short TRANSMISSIONPOSITION_NEUTRAL = 0;
177 const unsigned short TRANSMISSIONPOSITION_FIRST = 1;
178 const unsigned short TRANSMISSIONPOSITION_SECOND = 2;
179 const unsigned short TRANSMISSIONPOSITION_THIRD = 3;
180 const unsigned short TRANSMISSIONPOSITION_FORTH = 4;
181 const unsigned short TRANSMISSIONPOSITION_FIFTH = 5;
182 const unsigned short TRANSMISSIONPOSITION_SIXTH = 6;
183 const unsigned short TRANSMISSIONPOSITION_SEVENTH = 7;
184 const unsigned short TRANSMISSIONPOSITION_EIGHTH = 8;
185 const unsigned short TRANSMISSIONPOSITION_NINTH = 9;
186 const unsigned short TRANSMISSIONPOSITION_TENTH = 10;
187 const unsigned short TRANSMISSIONPOSITION_CVT = 64;
188 const unsigned short TRANSMISSIONPOSITION_REVERSE = 128;
189 const unsigned short TRANSMISSIONPOSITION_PARK = 255;
190 const unsigned short TRANSMISSIONMODE_NORMAL = 0;
191 const unsigned short TRANSMISSIONMODE_SPORT = 1;
192 const unsigned short TRANSMISSIONMODE_ECONOMY = 2;
193 const unsigned short TRANSMISSIONMODE_OEMCUSTOM1 = 3;
194 const unsigned short TRANSMISSIONMODE_OEMCUSTOM2 = 4;
197 * \brief Must return transmission gear position (see TRANSMISSIONPOSITION)
199 attribute octet gearPosition;
202 * \brief Must return transmission Mode (see
204 attribute octet mode;
208 interface CruiseControlStatus : VehiclePropertyType {
211 * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false)
213 attribute boolean activated;
216 * \brief Must return target Cruise Control speed in kilometers per hour (kph).
218 attribute unsigned short speed;
222 interface WheelBrake : VehiclePropertyType {
225 * \brief Must return Wheel Brake status: Engaged = true, disengaged = false
227 attribute boolean engaged;
231 interface LightStatus : VehiclePropertyType {
234 * \brief Must return headlight status: on = true, off = false.
236 attribute boolean head;
239 * \brief Must return right turn signal status: on = true, off = false.
241 attribute boolean rightTurn;
244 * \brief Must return left turn signal status: on = true, off = false.
246 attribute boolean leftTurn;
249 * \brief Must return brake signal light status: on = true, off = false.
251 attribute boolean brake;
254 * \brief Must return fog light status: on = true, off = false.
256 attribute boolean fog;
259 * \brief Must return hazard light status: on = true, off = false.
261 attribute boolean hazard;
264 * \brief Must return parking light status: on = true, off = false.
266 attribute boolean parking;
269 * \brief Must return high beam status: on = true, off = false.
271 attribute boolean highBeam;
275 interface InteriorLightStatus : VehiclePropertyType {
278 * \brief Must return passenger interior light status: on = true, off = false
280 attribute boolean passenger;
283 * \brief Must return driver interior light status: on = true, off = false
285 attribute boolean driver;
288 * \brief Must return center interior light status: on = true, off = false
290 attribute boolean center;
294 interface Horn : VehiclePropertyType {
297 * \brief Must return horn status: on = true, off = false
299 attribute boolean on;
303 interface Fuel : VehiclePropertyType {
306 * \brief Must return fuel level as a percentage of fullness.
308 attribute unsigned short level;
311 * \brief Must return estimated fuel range in kilometers.
313 attribute unsigned short range;
315 /** InstantConsumption
316 * \brief Must return instant fuel consumption in milliliters of fuel per second.
318 attribute unsigned short instantConsumption;
321 * \brief Must return instant fuel 'economy' in kilometers per liter of fuel.
323 attribute unsigned short instantEconomy;
326 * \brief Must return average fuel 'economy' in kilometers per liter of fuel since last reset. Setting this to any value should reset the counter to '0'
328 attribute unsigned short averageEconomy;
332 interface EngineOil : VehiclePropertyType {
335 * \brief Must return remaining engine oil as percentage of fullness.
337 attribute unsigned short remaining;
340 * \brief Must return Engine Oil Temperature in Celcius.
342 attribute long temperature;
345 * \brief Must return Engine Oil Pressure in kPa.
347 attribute unsigned short pressure;
351 interface Location : VehiclePropertyType {
354 * \brief Must return latitude in Deg.Min (-180, +180)
356 attribute double latitude;
359 * \brief Must return longitude in Deg.Min (-90, +90)
361 attribute double longitude;
364 * \brief Must return altitude in meters above sea-level (0).
366 attribute double altitude;
369 * \brief Must return direction in Degrees (0-360)
371 attribute unsigned short direction;
375 interface ExteriorBrightness : VehiclePropertyType {
377 /** ExteriorBrightness
378 * \brief Must return the brightness outside the vehicle in lux.
380 attribute unsigned long exteriorBrightness;
384 interface Temperature : VehiclePropertyType {
387 * \brief Must return the temperature of the interior of the vehicle in celcius.
389 attribute short interior;
392 * \brief Must return the temperature of the exterior of the vehicle in celcius.
394 attribute short exterior;
398 interface RainSensor : VehiclePropertyType {
401 * \brief Must return level of rain intensity 0: No Rain - 10: Heaviest Rain.
403 attribute unsigned short rainSensor;
407 interface WindshieldWiper : VehiclePropertyType {
408 const unsigned short WIPERSPEED_OFF = 0;
409 const unsigned short WIPERSPEED_SLOWEST= 1;
410 const unsigned short WIPERSPEED_FASTEST = 5;
411 const unsigned short WIPERSPEED_AUTO = 10;
414 * \brief Must return Level of windshield whiper speed (see WIPERSPEED)
416 attribute unsigned short windshieldWiper;
419 dictionary DefrostDictionary {
420 unsigned short window;
425 interface HVAC : VehiclePropertyType {
426 const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;
427 const unsigned short AIRFLOWDIRECTION_FLOORDUCT= 1;
428 const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;
429 const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;
432 * \brief Must return airflow direction. See
434 attribute unsigned short airflowDirection;
437 * \brief Must return speed of the fan (0-7)
439 attribute unsigned short fanSpeed;
441 /** TargetTemperature
442 * \brief Must return target desired temperature in celcius.
444 attribute unsigned short targetTemperature;
447 * \brief Must return air conditioning on (true) / off (false).
449 attribute boolean airConditioning;
452 * \brief Must return air recirculation on (true) / off (false).
454 attribute boolean airRecirculation;
457 * \brief Must return heater on (true) / off (false).
459 attribute boolean heater;
461 /** SteeringWheelHeater
462 * \brief Must return air recirculation on (true) / off (false).
464 attribute boolean steeringWheelHeater;
467 * \brief Must return seat heater status: on (true) / off (false).
469 attribute boolean seatHeater;
472 * \brief Must return seat heater status: on (true) / off (false).
474 attribute boolean seatCooler;
478 interface WindowStatus : VehiclePropertyType {
479 const unsigned short WINDOWLOCATION_DRIVER= 0;
480 const unsigned short WINDOWLOCATION_PASSENGER = 1;
481 const unsigned short WINDOWLOCATION_LEFTREAR = 2;
482 const unsigned short WINDOWLOCATION_RIGHTREAR = 3;
483 const unsigned short WINDOWLOCATION_REAR = 4;
486 * \brief Must return window openness percentage (100% fully open, 0% fully closed)
487 * for the window location see "zone" attribute
489 attribute unsigned short openness;
492 * \brief Must return the defroster status of the window. On = true, Off = false.
494 attribute boolean defrost;
498 interface Sunroof : VehiclePropertyType {
501 * \brief Must return window status for sunroof openness percentage.
503 attribute unsigned short openness;
506 * \brief Must return tilt status for sunroof percentage.
508 attribute unsigned short tilt;
512 interface ConvertibleRoof : VehiclePropertyType {
515 * \brief Must return window status for sunroof openness percentage.
517 attribute unsigned short openness;
521 interface VehicleId : VehiclePropertyType {
524 * \brief MUST return World Manufacturer Identifier (WMI)
525 * WMI is defined by SAE ISO 3780:2009. 3 characters.
527 attribute DOMString WMI;
530 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
532 attribute DOMString VIN;
536 interface Size : VehiclePropertyType {
539 * \brief MUST return width of vehicle in mm
541 attribute unsigned long width;
544 * \brief MUST return height of vehicle in mm
546 attribute unsigned long height;
549 * \brief MUST return length of vehicle in mm
551 attribute unsigned long length;
555 interface FuelInfo : VehiclePropertyType {
556 const unsigned short FUELTYPE_GASOLINE = 0;
557 const unsigned short FUELTYPE_HIGH_OCTANE= 1;
558 const unsigned short FUELTYPE_DIESEL = 2;
559 const unsigned short FUELTYPE_ELECTRIC = 3;
560 const unsigned short FUELTYPE_HYDROGEN = 4;
561 const unsigned short REFUELPOSITION_LEFT = 0;
562 const unsigned short REFUELPOSITION_RIGHT= 1;
563 const unsigned short REFUELPOSITION_FRONT = 2;
564 const unsigned short REFUELPOSITION_REAR = 3;
567 * \brief MUST return type of fuel. integer 0-4 (see
569 attribute unsigned short type;
572 * \brief MUST return position of refuling (see
574 attribute unsigned short refuelPosition;
578 interface VehicleType : VehiclePropertyType {
579 const unsigned short VEHICLETYPE_SEDAN = 0;
580 const unsigned short VEHICLETYPE_COUPE= 1;
581 const unsigned short VEHICLETYPE_CABRIOLE = 2;
582 const unsigned short VEHICLETYPE_ROADSTER = 3;
583 const unsigned short VEHICLETYPE_SUV = 4;
584 const unsigned short VEHICLETYPE_TRUCK = 5;
587 * \brief MUST return type of Vehicle. Integer 0-5 (see
589 attribute unsigned short type;
593 interface Doors : VehiclePropertyType {
596 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
597 * represents the first row, '1' the second row etc.
598 * Example a common mini-van may have Doors[0] = 2 doors,
599 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
601 attribute sequence<unsigned short> doorsPerRow;
605 interface TransmissionGearType : VehiclePropertyType {
606 const unsigned short TRANSMISSIONGEARTYPE_AUTO=0;
607 const unsigned short TRANSMISSIONGEARTYPE_MANUAL=1;
608 const unsigned short TRANSMISSIONGEARTYPE_CV=2;
610 /** TransmissionGearType
611 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV). See
613 attribute unsigned short transmissionGearType;
617 interface WheelInformation : VehiclePropertyType {
620 * \brief MUST return Radius of Front Wheel(s) in mm.
622 attribute unsigned short frontWheelRadius;
625 * \brief MUST return Radius of Rear Wheel(s) in mm.
627 attribute unsigned short rearWheelRadius;
630 * \brief MUST return Wheel Track in mm.
632 attribute unsigned long wheelTrack;
635 * \brief MUST return Antilock Brake System status: on = true, off = false.
637 attribute boolean ABS;
641 interface Odometer : VehiclePropertyType {
644 * \brief MUST return Distance traveled in km
646 attribute unsigned long odometer;
650 interface Fluid : VehiclePropertyType {
653 * \brief MUST return Transmission fluid level percentage. 0-100.
655 attribute unsigned short transmission;
658 * \brief MUST return Brake fluid level percentage. 0-100.
660 attribute unsigned short brake;
663 * \brief MUST return Washer fluid level percentage. 0-100.
665 attribute unsigned short washer;
669 interface Battery : VehiclePropertyType {
672 * \brief MUST return battery voltage.
674 attribute double voltage;
677 * \brief MUST return battery current in Amperes
679 attribute double current;
683 interface TirePressure : VehiclePropertyType {
686 * \brief MUST return left front tire pressure in kPa.
688 attribute double leftFront;
691 * \brief MUST return right front tire pressure in kPa.
693 attribute double rightFront;
696 * \brief MUST return left rear tire pressure in kPa.
698 attribute double leftRear;
701 * \brief MUST return right rear tire pressure in kPa.
703 attribute double rightRear;
707 interface TireTemperature : VehiclePropertyType {
710 * \brief MUST return left front tire temperature in Celcius.
712 attribute double leftFront;
715 * \brief MUST return right front tire temperature in Celcius.
717 attribute double rightFront;
720 * \brief MUST return left rear tire temperature in Celcius.
722 attribute double leftRear;
725 * \brief MUST return right rear tire temperature in Celcius.
727 attribute double rightRear;
731 interface SecurityAlert : VehiclePropertyType {
736 attribute boolean securityAlert;
740 interface ParkingBrake : VehiclePropertyType {
743 * must return status of parking brake: Engaged = true, Disengaged = false.
745 attribute boolean parkingBrake;
749 interface ParkingLight : VehiclePropertyType {
752 * must return status of parking light: Engaged = true, Disengaged = false.
754 attribute boolean parkingLight;
758 interface HazardLight : VehiclePropertyType {
761 * must return status of hazard light: Engaged = true, Disengaged = false.
763 attribute boolean hazardLight;
767 interface AntilockBrakingSystem : VehiclePropertyType {
769 /** AntilockBrakingSystem
770 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
772 attribute boolean antilockBrakingSystem;
776 interface TractionControlSystem : VehiclePropertyType {
778 /** TractionControlSystem
779 * \brief MUST return whether Traction Control System is Off (false) or On (true)
781 attribute boolean tractionControlSystem;
785 interface VehicleTopSpeedLimit : VehiclePropertyType {
787 /** VehicleTopSpeedLimit
788 * \brief MUST returns top rated speed in km/h. 0 = no limit
790 attribute unsigned short vehicleTopSpeedLimit;
794 interface AirbagStatus : VehiclePropertyType {
795 const unsigned short AIRBAGSTATUS_INACTIVE = 0;
796 const unsigned short AIRBAGSTATUS_ACTIVE = 1;
797 const unsigned short AIRBAGSTATUS_DEPLOYED = 2;
800 * \brief MUST return Airbag deployment status (see AIRBAGSTATUS*)
802 attribute unsigned short airbagStatus;
806 interface DoorStatus : VehiclePropertyType {
807 const unsigned short DOORSTATUS_CLOSED = 0;
808 const unsigned short DOORSTATUS_OPEN = 1;
809 const unsigned short DOORSTATUS_AJAR = 2;
812 * \brief MUST returns Door status (byte). See DOORSTATUS_*
814 attribute unsigned short doorStatus;
817 * \brief MUST returns Door status (bool locked = true, unlocked = false).
819 attribute boolean doorLockStatus;
822 * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
823 * Setting this to 'true' will prevent the rear doors from being opened
826 attribute boolean childLockStatus;
830 interface SeatBeltStatus : VehiclePropertyType {
833 * \brief MUST return Seat Belt status (bool: Fasten = true, Unfastened = false)
835 attribute boolean seatBeltStatus;
839 interface OccupantStatus : VehiclePropertyType {
840 const unsigned short OCCUPANTSTATUS_VACANT = 0;
841 const unsigned short OCCUPANTSTATUS_CHILD = 1;
842 const unsigned short OCCUPANTSTATUS_ADULT = 2;
845 * \brief MUST returns Occupant status (byte, see OCCUPANTSTATUS)
847 attribute unsigned short occupantStatus;
851 interface ObstacleDistance : VehiclePropertyType {
852 const unsigned short DISTANCESENSORLOCATION_LEFTFRONT = 0;
853 const unsigned short DISTANCESENSORLOCATION_RIGHTFRONT = 1;
854 const unsigned short DISTANCESENSORLOCATION_LEFTREAR = 2;
855 const unsigned short DISTANCESENSORLOCATION_RIGHTREAR = 3;
856 const unsigned short DISTANCESENSORLOCATION_LEFTBLINDSPOT = 4;
857 const unsigned short DISTANCESENSORLOCATION_RIGHTBLINDSPOT = 5;
860 * \brief MUST returns Distance Sensor distance (Double) in m.
862 attribute double obstacleDistance;
866 interface NightMode : VehiclePropertyType {
869 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
871 attribute boolean nightMode;
875 interface DrivingMode : VehiclePropertyType {
878 * \brief MUST return whether or not the system is in DrivingMode or not. 1 = Driving, 0 = Not Driving
880 attribute unsigned short drivingMode;