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: Event {
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 = 1;
62 const unsigned short ZONE_Middle = 0x10;
63 const unsigned short ZONE_Right = 0x100;
64 const unsigned short ZONE_Left = 0x1000;
65 const unsigned short ZONE_Rear = 0x10000;
66 const unsigned short ZONE_Center = 0x10000;
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);
110 interface VehicleSpeed : VehiclePropertyType {
113 * \brief Must return Vehicle Speed in kilometers per hour.
115 attribute unsigned long vehicleSpeed;
119 interface EngineSpeed : VehiclePropertyType {
122 * \brief Must return Engine Speed in rotations per minute.
124 attribute unsigned long engineSpeed;
128 interface VehiclePowerMode : VehiclePropertyType {
129 const unsigned short VEHICLEPOWERMODE_OFF = 0;
130 const unsigned short VEHICLEPOWERMODE_ACCESSORY1 = 1;
131 const unsigned short VEHICLEPOWERMODE_ACCESSORY2 = 2;
132 const unsigned short VEHICLEPOWERMODE_RUN = 3;
135 * \brief Must return Vehicle Power mode (see VEHICLEPOWERMODE)
137 attribute octet vehiclePowerMode;
141 interface TripMeter : VehiclePropertyType {
144 * \brief Must return trip meters. Changing any items in the array will reset the item's value to '0'.
146 attribute sequence<unsigned long> tripMeters;
150 interface Acceleration : VehiclePropertyType {
153 * \brief Must return acceleration on the "X" axis as 1/1000 G (gravitational force).
155 attribute unsigned long x;
158 * \brief Must return acceleration on the "Y" axis as 1/1000 G (gravitational force).
160 attribute unsigned long y;
163 * \brief Must return acceleration on the "Z" axis as 1/1000 G (gravitational force).
165 attribute unsigned long z;
169 interface Transmission : VehiclePropertyType {
170 const unsigned short TRANSMISSIONPOSITION_NEUTRAL = 0;
171 const unsigned short TRANSMISSIONPOSITION_FIRST = 1;
172 const unsigned short TRANSMISSIONPOSITION_SECOND = 2;
173 const unsigned short TRANSMISSIONPOSITION_THIRD = 3;
174 const unsigned short TRANSMISSIONPOSITION_FORTH = 4;
175 const unsigned short TRANSMISSIONPOSITION_FIFTH = 5;
176 const unsigned short TRANSMISSIONPOSITION_SIXTH = 6;
177 const unsigned short TRANSMISSIONPOSITION_SEVENTH = 7;
178 const unsigned short TRANSMISSIONPOSITION_EIGHTH = 8;
179 const unsigned short TRANSMISSIONPOSITION_NINTH = 9;
180 const unsigned short TRANSMISSIONPOSITION_TENTH = 10;
181 const unsigned short TRANSMISSIONPOSITION_CVT = 64;
182 const unsigned short TRANSMISSIONPOSITION_REVERSE = 128;
183 const unsigned short TRANSMISSIONPOSITION_PARK = 255;
184 const unsigned short TRANSMISSIONMODE_NORMAL = 0;
185 const unsigned short TRANSMISSIONMODE_SPORT = 1;
186 const unsigned short TRANSMISSIONMODE_ECONOMY = 2;
187 const unsigned short TRANSMISSIONMODE_OEMCUSTOM1 = 3;
188 const unsigned short TRANSMISSIONMODE_OEMCUSTOM2 = 4;
191 * \brief Must return transmission gear position (see TRANSMISSIONPOSITION)
193 attribute octet gearPosition;
196 * \brief Must return transmission Mode (see
198 attribute octet mode;
202 interface CruiseControlStatus : VehiclePropertyType {
205 * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false)
207 attribute boolean activated;
210 * \brief Must return target Cruise Control speed in kilometers per hour (kph).
212 attribute unsigned short speed;
216 interface WheelBrake : VehiclePropertyType {
219 * \brief Must return Wheel Brake status: Engaged = true, disengaged = false
221 attribute boolean engaged;
225 interface LightStatus : VehiclePropertyType {
228 * \brief Must return headlight status: on = true, off = false.
230 attribute boolean head;
233 * \brief Must return right turn signal status: on = true, off = false.
235 attribute boolean rightTurn;
238 * \brief Must return left turn signal status: on = true, off = false.
240 attribute boolean leftTurn;
243 * \brief Must return brake signal light status: on = true, off = false.
245 attribute boolean brake;
248 * \brief Must return fog light status: on = true, off = false.
250 attribute boolean fog;
253 * \brief Must return hazard light status: on = true, off = false.
255 attribute boolean hazard;
258 * \brief Must return parking light status: on = true, off = false.
260 attribute boolean parking;
263 * \brief Must return high beam status: on = true, off = false.
265 attribute boolean highBeam;
269 interface InteriorLightStatus : VehiclePropertyType {
272 * \brief Must return passenger interior light status: on = true, off = false
274 attribute boolean passenger;
277 * \brief Must return driver interior light status: on = true, off = false
279 attribute boolean driver;
282 * \brief Must return center interior light status: on = true, off = false
284 attribute boolean center;
288 interface Horn : VehiclePropertyType {
291 * \brief Must return horn status: on = true, off = false
293 attribute boolean on;
297 interface Fuel : VehiclePropertyType {
300 * \brief Must return fuel level as a percentage of fullness.
302 attribute unsigned short level;
305 * \brief Must return estimated fuel range in kilometers.
307 attribute unsigned short range;
309 /** InstantConsumption
310 * \brief Must return instant fuel consumption in milliliters of fuel per second.
312 attribute unsigned short instantConsumption;
315 * \brief Must return instant fuel 'economy' in kilometers per liter of fuel.
317 attribute unsigned short instantEconomy;
320 * \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'
322 attribute unsigned short averageEconomy;
326 interface EngineOil : VehiclePropertyType {
329 * \brief Must return remaining engine oil as percentage of fullness.
331 attribute unsigned short remaining;
334 * \brief Must return Engine Oil Temperature in Celcius.
336 attribute long temperature;
339 * \brief Must return Engine Oil Pressure in kPa.
341 attribute unsigned short pressure;
345 interface Location : VehiclePropertyType {
348 * \brief Must return latitude in Deg.Min (-180, +180)
350 attribute double latitude;
353 * \brief Must return longitude in Deg.Min (-90, +90)
355 attribute double longitude;
358 * \brief Must return altitude in meters above sea-level (0).
360 attribute double altitude;
363 * \brief Must return direction in Degrees (0-360)
365 attribute unsigned short direction;
369 interface ExteriorBrightness : VehiclePropertyType {
371 /** ExteriorBrightness
372 * \brief Must return the brightness outside the vehicle in lux.
374 attribute unsigned long exteriorBrightness;
378 interface Temperature : VehiclePropertyType {
381 * \brief Must return the temperature of the interior of the vehicle in celcius.
383 attribute short interior;
386 * \brief Must return the temperature of the exterior of the vehicle in celcius.
388 attribute short exterior;
392 interface RainSensor : VehiclePropertyType {
395 * \brief Must return level of rain intensity 0: No Rain - 10: Heaviest Rain.
397 attribute unsigned short rainSensor;
401 interface WindshieldWiper : VehiclePropertyType {
402 const unsigned short WIPERSPEED_OFF = 0;
403 const unsigned short WIPERSPEED_SLOWEST= 1;
404 const unsigned short WIPERSPEED_FASTEST = 5;
405 const unsigned short WIPERSPEED_AUTO = 10;
408 * \brief Must return Level of windshield whiper speed (see WIPERSPEED)
410 attribute unsigned short windshieldWiper;
413 dictionary DefrostDictionary {
414 unsigned short window;
419 interface HVAC : VehiclePropertyType {
420 const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;
421 const unsigned short AIRFLOWDIRECTION_FLOORDUCT= 1;
422 const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;
423 const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;
426 * \brief Must return airflow direction. See
428 attribute unsigned short airflowDirection;
431 * \brief Must return speed of the fan (0-7)
433 attribute unsigned short fanSpeed;
435 /** TargetTemperature
436 * \brief Must return target desired temperature in celcius.
438 attribute unsigned short targetTemperature;
441 * \brief Must return air conditioning on (true) / off (false).
443 attribute boolean airConditioning;
446 * \brief Must return air recirculation on (true) / off (false).
448 attribute boolean airRecirculation;
451 * \brief Must return heater on (true) / off (false).
453 attribute boolean heater;
456 * \brief Must return the defrost status of all windows equiped with defrosters. This will return a dictionary of DefrostDictionary that represents
457 * \brief each window and its defrost status.
459 attribute DefrostDictionary defrost;
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 status for each window location. object returned is a
487 * dictionary { unsigned short windowlocation, unsigned short percentage opened }
489 attribute object WindowStatus;
493 interface Sunroof : VehiclePropertyType {
496 * \brief Must return window status for sunroof openness percentage.
498 attribute unsigned short openness;
501 * \brief Must return tilt status for sunroof percentage.
503 attribute unsigned short tilt;
507 interface ConvertibleRoof : VehiclePropertyType {
510 * \brief Must return window status for sunroof openness percentage.
512 attribute unsigned short openness;
516 interface VehicleId : VehiclePropertyType {
519 * \brief MUST return World Manufacturer Identifier (WMI)
520 * WMI is defined by SAE ISO 3780:2009. 3 characters.
522 attribute DOMString WMI;
525 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
527 attribute DOMString VIN;
531 interface Size : VehiclePropertyType {
534 * \brief MUST return width of vehicle in mm
536 attribute unsigned long width;
539 * \brief MUST return height of vehicle in mm
541 attribute unsigned long height;
544 * \brief MUST return length of vehicle in mm
546 attribute unsigned long length;
550 interface FuelInfo : VehiclePropertyType {
551 const unsigned short FUELTYPE_GASOLINE = 0;
552 const unsigned short FUELTYPE_HIGH_OCTANE= 1;
553 const unsigned short FUELTYPE_DIESEL = 2;
554 const unsigned short FUELTYPE_ELECTRIC = 3;
555 const unsigned short FUELTYPE_HYDROGEN = 4;
556 const unsigned short REFUELPOSITION_LEFT = 0;
557 const unsigned short REFUELPOSITION_RIGHT= 1;
558 const unsigned short REFUELPOSITION_FRONT = 2;
559 const unsigned short REFUELPOSITION_REAR = 3;
562 * \brief MUST return type of fuel. integer 0-4 (see
564 attribute unsigned short type;
567 * \brief MUST return position of refuling (see
569 attribute unsigned short refuelPosition;
573 interface VehicleType : VehiclePropertyType {
574 const unsigned short VEHICLETYPE_SEDAN = 0;
575 const unsigned short VEHICLETYPE_COUPE= 1;
576 const unsigned short VEHICLETYPE_CABRIOLE = 2;
577 const unsigned short VEHICLETYPE_ROADSTER = 3;
578 const unsigned short VEHICLETYPE_SUV = 4;
579 const unsigned short VEHICLETYPE_TRUCK = 5;
582 * \brief MUST return type of Vehicle. Integer 0-5 (see
584 attribute unsigned short type;
588 interface Doors : VehiclePropertyType {
591 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
592 * represents the first row, '1' the second row etc.
593 * Example a common mini-van may have Doors[0] = 2 doors,
594 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
596 attribute sequence<unsigned short> doorsPerRow;
600 interface TransmissionGearType : VehiclePropertyType {
601 const unsigned short TRANSMISSIONGEARTYPE_AUTO=0;
602 const unsigned short TRANSMISSIONGEARTYPE_MANUAL=1;
603 const unsigned short TRANSMISSIONGEARTYPE_CV=2;
605 /** TransmissionGearType
606 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV). See
608 attribute unsigned short transmissionGearType;
612 interface WheelInformation : VehiclePropertyType {
615 * \brief MUST return Radius of Front Wheel(s) in mm.
617 attribute unsigned short frontWheelRadius;
620 * \brief MUST return Radius of Rear Wheel(s) in mm.
622 attribute unsigned short rearWheelRadius;
625 * \brief MUST return Wheel Track in mm.
627 attribute unsigned long wheelTrack;
630 * \brief MUST return Antilock Brake System status: on = true, off = false.
632 attribute boolean ABS;
636 interface Odometer : VehiclePropertyType {
639 * \brief MUST return Distance traveled in km
641 attribute unsigned long odometer;
645 interface Fluid : VehiclePropertyType {
648 * \brief MUST return Transmission fluid level percentage. 0-100.
650 attribute unsigned short transmission;
653 * \brief MUST return Brake fluid level percentage. 0-100.
655 attribute unsigned short brake;
658 * \brief MUST return Washer fluid level percentage. 0-100.
660 attribute unsigned short washer;
664 interface Battery : VehiclePropertyType {
667 * \brief MUST return battery voltage.
669 attribute double voltage;
672 * \brief MUST return battery current in Amperes
674 attribute double current;
678 interface TirePressure : VehiclePropertyType {
681 * \brief MUST return left front tire pressure in kPa.
683 attribute double leftFront;
686 * \brief MUST return right front tire pressure in kPa.
688 attribute double rightFront;
691 * \brief MUST return left rear tire pressure in kPa.
693 attribute double leftRear;
696 * \brief MUST return right rear tire pressure in kPa.
698 attribute double rightRear;
702 interface TireTemperature : VehiclePropertyType {
705 * \brief MUST return left front tire temperature in Celcius.
707 attribute double leftFront;
710 * \brief MUST return right front tire temperature in Celcius.
712 attribute double rightFront;
715 * \brief MUST return left rear tire temperature in Celcius.
717 attribute double leftRear;
720 * \brief MUST return right rear tire temperature in Celcius.
722 attribute double rightRear;
726 interface SecurityAlert : VehiclePropertyType {
731 attribute boolean securityAlert;
735 interface ParkingBrake : VehiclePropertyType {
738 * must return status of parking brake: Engaged = true, Disengaged = false.
740 attribute boolean parkingBrake;
744 interface ParkingLight : VehiclePropertyType {
747 * must return status of parking light: Engaged = true, Disengaged = false.
749 attribute boolean parkingLight;
753 interface HazardLight : VehiclePropertyType {
756 * must return status of hazard light: Engaged = true, Disengaged = false.
758 attribute boolean hazardLight;
762 interface AntilockBrakingSystem : VehiclePropertyType {
764 /** AntilockBrakingSystem
765 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
767 attribute boolean antilockBrakingSystem;
771 interface TractionControlSystem : VehiclePropertyType {
773 /** TractionControlSystem
774 * \brief MUST return whether Traction Control System is Off (false) or On (true)
776 attribute boolean tractionControlSystem;
780 interface VehicleTopSpeedLimit : VehiclePropertyType {
782 /** VehicleTopSpeedLimit
783 * \brief MUST returns top rated speed in km/h. 0 = no limit
785 attribute unsigned short vehicleTopSpeedLimit;
789 interface AirbagStatus : VehiclePropertyType {
790 const unsigned short AIRBAGLOCATION_DRIVER = 0;
791 const unsigned short AIRBAGLOCATION_PASSENGER= 1;
792 const unsigned short AIRBAGLOCATION_LEFTSIDE = 2;
793 const unsigned short AIRBAGLOCATION_RIGHTSIDE = 3;
794 const unsigned short AIRBAGSTATUS_INACTIVE = 0;
795 const unsigned short AIRBAGSTATUS_ACTIVE = 1;
796 const unsigned short AIRBAGSTATUS_DEPLOYED = 2;
799 * \brief MUST returns a dictionary of Airbag (byte) and Status (byte) (see
801 attribute object airbagStatus;
805 interface DoorStatus : VehiclePropertyType {
806 const unsigned short DOORLOCATION_DRIVER= 0;
807 const unsigned short DOORLOCATION_PASSENGER = 1;
808 const unsigned short DOORLOCATION_LEFTREAR = 2;
809 const unsigned short DOORLOCATION_RIGHTREAR = 3;
810 const unsigned short DOORLOCATION_TRUNK = 4;
811 const unsigned short DOORLOCATION_FUELCAP = 5;
812 const unsigned short DOORLOCATION_HOOD = 6;
813 const unsigned short DOORSTATUS_CLOSED = 0;
814 const unsigned short DOORSTATUS_OPEN = 1;
815 const unsigned short DOORSTATUS_AJAR = 2;
818 * \brief MUST returns dictionary of Door (byte) and Status (byte). See
820 attribute object doorStatus;
823 * \brief MUST returns dictionary of Door (byte) and Status (bool locked = true, unlocked = false). See
825 attribute object doorLockStatus;
828 * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
829 * Setting this to 'true' will prevent the rear doors from being opened
832 attribute boolean childLockStatus;
836 interface SeatBeltStatus : VehiclePropertyType {
837 const unsigned short SEATBELTLOCATION_DRIVER= 0;
838 const unsigned short SEATBELTLOCATION_MIDDLEFRONT = 1;
839 const unsigned short SEATBELTLOCATION_PASSENGER = 2;
840 const unsigned short SEATBELTLOCATION_LEFTREAR = 3;
841 const unsigned short SEATBELTLOCATION_MIDDLEREAR = 4;
842 const unsigned short SEATBELTLOCATION_RIGHTREAR = 5;
845 * \brief MUST returns dictionary of Seat Belt (byte, see SEATBELTLOCATION) and Status (bool: Fasten = true, Unfastened = false)
847 attribute object seatBeltStatus;
851 interface OccupantStatus : VehiclePropertyType {
852 const unsigned short OCCUPANTLOCATION_DRIVER = 0;
853 const unsigned short OCCUPANTLOCATION_FRONTMIDDLE = 1;
854 const unsigned short OCCUPANTLOCATION_PASSENGER= 2;
855 const unsigned short OCCUPANTLOCATION_LEFTREAR = 3;
856 const unsigned short OCCUPANTLOCATION_MIDDLEREAR = 4;
857 const unsigned short OCCUPANTLOCATION_RIGHTREAR = 5;
858 const unsigned short OCCUPANTSTATUS_VACANT = 0;
859 const unsigned short OCCUPANTSTATUS_CHILD = 1;
860 const unsigned short OCCUPANTSTATUS_ADULT = 2;
863 * \brief MUST returns dictionary of Occupant (byte see OCCUPANTLOCATION) and Status (byte, see
865 attribute object occupantStatus;
869 interface ObstacleDistance : VehiclePropertyType {
870 const unsigned short DISTANCESENSORLOCATION_LEFTFRONT = 0;
871 const unsigned short DISTANCESENSORLOCATION_RIGHTFRONT = 1;
872 const unsigned short DISTANCESENSORLOCATION_LEFTREAR = 2;
873 const unsigned short DISTANCESENSORLOCATION_RIGHTREAR = 3;
874 const unsigned short DISTANCESENSORLOCATION_LEFTBLINDSPOT = 4;
875 const unsigned short DISTANCESENSORLOCATION_RIGHTBLINDSPOT = 5;
878 * \brief MUST returns dictionary of Distance Sensor (byte, see DISTANCESENSORLOCATION) and distance (double) in m.
880 attribute object obstacleDistance;