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);
83 * \brief fetch the current value for 'objectType'
84 * \param objectType is the requested property to be retrieved.
85 * \param successCallback is called with the result of the call
86 * \param errorCallback is called if there is an error
87 * \param zone specify the zone in which this object type is in
89 void getAsync(DOMString objectType, VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCb, optional short zone);
91 /** \brief subscribe to the given property and get callbacks when it changes
92 * \param objectType property to set
93 * \param successCallback callback will be called when the "objectType" changes
94 * \param errorCallback callback if error has been called.
97 void subscribe(DOMString objectType, VehiclePropertyCallback successCallback, optional unsigned short zone, optional VehiclePropertyErrorCallback errorCallback);
100 * \brief set the given objectType to value
101 * \param objectType object type to set
102 * \param value value to set, should contain zone information ie "zone" : 0
103 * \param errorCallback callback if error has been called.
105 void set(DOMString objectType, VehiclePropertyType value, optional VehiclePropertyErrorCallback errorCallback);
108 * \brief get values for a given objectType within a certain past time period between 'startTime' and 'endTime'
109 * \param objectType object type to request
110 * \param zone in which the objectType is located or 0 if no zone.
111 * \param startTime starting period of time.
112 * \param endTime ending period of time.
113 * \param successCallback Callback with the result of the method call
114 * \param errorCallback Callback if an error has occurred.
116 void getHistory(DOMString objectType, unsigned short zone, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
119 * \brief list zones available for a given object type
120 * \param DOMString object type to request, ie "HVAC"
122 sequence<unsigned short> listZones(DOMString objectType);
126 interface VehicleSpeed : VehiclePropertyType {
129 * \brief Must return Vehicle Speed in kilometers per hour.
131 attribute unsigned long vehicleSpeed;
135 interface EngineSpeed : VehiclePropertyType {
138 * \brief Must return Engine Speed in rotations per minute.
140 attribute unsigned long engineSpeed;
144 interface VehiclePowerMode : VehiclePropertyType {
145 const unsigned short VEHICLEPOWERMODE_OFF = 0;
146 const unsigned short VEHICLEPOWERMODE_ACCESSORY1 = 1;
147 const unsigned short VEHICLEPOWERMODE_ACCESSORY2 = 2;
148 const unsigned short VEHICLEPOWERMODE_RUN = 3;
151 * \brief Must return Vehicle Power mode (see VEHICLEPOWERMODE)
153 attribute octet vehiclePowerMode;
157 interface TripMeter : VehiclePropertyType {
160 * \brief Must return trip meters. Changing any items in the array will reset the item's value to '0'.
162 attribute sequence<unsigned long> tripMeters;
166 interface Acceleration : VehiclePropertyType {
169 * \brief Must return acceleration on the "X" axis as 1/1000 G (gravitational force).
171 attribute unsigned long x;
174 * \brief Must return acceleration on the "Y" axis as 1/1000 G (gravitational force).
176 attribute unsigned long y;
179 * \brief Must return acceleration on the "Z" axis as 1/1000 G (gravitational force).
181 attribute unsigned long z;
185 interface Transmission : VehiclePropertyType {
186 const unsigned short TRANSMISSIONPOSITION_NEUTRAL = 0;
187 const unsigned short TRANSMISSIONPOSITION_FIRST = 1;
188 const unsigned short TRANSMISSIONPOSITION_SECOND = 2;
189 const unsigned short TRANSMISSIONPOSITION_THIRD = 3;
190 const unsigned short TRANSMISSIONPOSITION_FORTH = 4;
191 const unsigned short TRANSMISSIONPOSITION_FIFTH = 5;
192 const unsigned short TRANSMISSIONPOSITION_SIXTH = 6;
193 const unsigned short TRANSMISSIONPOSITION_SEVENTH = 7;
194 const unsigned short TRANSMISSIONPOSITION_EIGHTH = 8;
195 const unsigned short TRANSMISSIONPOSITION_NINTH = 9;
196 const unsigned short TRANSMISSIONPOSITION_TENTH = 10;
197 const unsigned short TRANSMISSIONPOSITION_CVT = 64;
198 const unsigned short TRANSMISSIONPOSITION_REVERSE = 128;
199 const unsigned short TRANSMISSIONPOSITION_PARK = 255;
200 const unsigned short TRANSMISSIONMODE_NORMAL = 0;
201 const unsigned short TRANSMISSIONMODE_SPORT = 1;
202 const unsigned short TRANSMISSIONMODE_ECONOMY = 2;
203 const unsigned short TRANSMISSIONMODE_OEMCUSTOM1 = 3;
204 const unsigned short TRANSMISSIONMODE_OEMCUSTOM2 = 4;
207 * \brief Must return transmission gear position (see TRANSMISSIONPOSITION)
209 attribute octet gearPosition;
212 * \brief Must return transmission Mode (see
214 attribute octet mode;
218 interface CruiseControlStatus : VehiclePropertyType {
221 * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false)
223 attribute boolean activated;
226 * \brief Must return target Cruise Control speed in kilometers per hour (kph).
228 attribute unsigned short speed;
232 interface WheelBrake : VehiclePropertyType {
235 * \brief Must return Wheel Brake status: Engaged = true, disengaged = false
237 attribute boolean engaged;
241 interface LightStatus : VehiclePropertyType {
244 * \brief Must return headlight status: on = true, off = false.
246 attribute boolean head;
249 * \brief Must return right turn signal status: on = true, off = false.
251 attribute boolean rightTurn;
254 * \brief Must return left turn signal status: on = true, off = false.
256 attribute boolean leftTurn;
259 * \brief Must return brake signal light status: on = true, off = false.
261 attribute boolean brake;
264 * \brief Must return fog light status: on = true, off = false.
266 attribute boolean fog;
269 * \brief Must return hazard light status: on = true, off = false.
271 attribute boolean hazard;
274 * \brief Must return parking light status: on = true, off = false.
276 attribute boolean parking;
279 * \brief Must return high beam status: on = true, off = false.
281 attribute boolean highBeam;
285 interface InteriorLightStatus : VehiclePropertyType {
288 * \brief Must return passenger interior light status: on = true, off = false
290 attribute boolean passenger;
293 * \brief Must return driver interior light status: on = true, off = false
295 attribute boolean driver;
298 * \brief Must return center interior light status: on = true, off = false
300 attribute boolean center;
304 interface Horn : VehiclePropertyType {
307 * \brief Must return horn status: on = true, off = false
309 attribute boolean on;
313 interface Fuel : VehiclePropertyType {
316 * \brief Must return fuel level as a percentage of fullness.
318 attribute unsigned short level;
321 * \brief Must return estimated fuel range in kilometers.
323 attribute unsigned short range;
325 /** InstantConsumption
326 * \brief Must return instant fuel consumption in milliliters of fuel per second.
328 attribute unsigned short instantConsumption;
331 * \brief Must return instant fuel 'economy' in kilometers per liter of fuel.
333 attribute unsigned short instantEconomy;
336 * \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'
338 attribute unsigned short averageEconomy;
342 interface EngineOil : VehiclePropertyType {
345 * \brief Must return remaining engine oil as percentage of fullness.
347 attribute unsigned short remaining;
350 * \brief Must return Engine Oil Temperature in Celcius.
352 attribute long temperature;
355 * \brief Must return Engine Oil Pressure in kPa.
357 attribute unsigned short pressure;
361 interface Location : VehiclePropertyType {
364 * \brief Must return latitude in Deg.Min (-180, +180)
366 attribute double latitude;
369 * \brief Must return longitude in Deg.Min (-90, +90)
371 attribute double longitude;
374 * \brief Must return altitude in meters above sea-level (0).
376 attribute double altitude;
379 * \brief Must return direction in Degrees (0-360)
381 attribute unsigned short direction;
385 interface ExteriorBrightness : VehiclePropertyType {
387 /** ExteriorBrightness
388 * \brief Must return the brightness outside the vehicle in lux.
390 attribute unsigned long exteriorBrightness;
394 interface Temperature : VehiclePropertyType {
397 * \brief Must return the temperature of the interior of the vehicle in celcius.
399 attribute short interior;
402 * \brief Must return the temperature of the exterior of the vehicle in celcius.
404 attribute short exterior;
408 interface RainSensor : VehiclePropertyType {
411 * \brief Must return level of rain intensity 0: No Rain - 10: Heaviest Rain.
413 attribute unsigned short rainSensor;
417 interface WindshieldWiper : VehiclePropertyType {
418 const unsigned short WIPERSPEED_OFF = 0;
419 const unsigned short WIPERSPEED_SLOWEST= 1;
420 const unsigned short WIPERSPEED_FASTEST = 5;
421 const unsigned short WIPERSPEED_AUTO = 10;
424 * \brief Must return Level of windshield whiper speed (see WIPERSPEED)
426 attribute unsigned short windshieldWiper;
429 dictionary DefrostDictionary {
430 unsigned short window;
435 interface HVAC : VehiclePropertyType {
436 const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;
437 const unsigned short AIRFLOWDIRECTION_FLOORDUCT= 1;
438 const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;
439 const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;
442 * \brief Must return airflow direction. See
444 attribute unsigned short airflowDirection;
447 * \brief Must return speed of the fan (0-7)
449 attribute unsigned short fanSpeed;
451 /** TargetTemperature
452 * \brief Must return target desired temperature in celcius.
454 attribute unsigned short targetTemperature;
457 * \brief Must return air conditioning on (true) / off (false).
459 attribute boolean airConditioning;
462 * \brief Must return air recirculation on (true) / off (false).
464 attribute boolean airRecirculation;
467 * \brief Must return heater on (true) / off (false).
469 attribute boolean heater;
471 /** SteeringWheelHeater
472 * \brief Must return air recirculation on (true) / off (false).
474 attribute boolean steeringWheelHeater;
477 * \brief Must return seat heater status: on (true) / off (false).
479 attribute boolean seatHeater;
482 * \brief Must return seat heater status: on (true) / off (false).
484 attribute boolean seatCooler;
488 interface WindowStatus : VehiclePropertyType {
489 const unsigned short WINDOWLOCATION_DRIVER= 0;
490 const unsigned short WINDOWLOCATION_PASSENGER = 1;
491 const unsigned short WINDOWLOCATION_LEFTREAR = 2;
492 const unsigned short WINDOWLOCATION_RIGHTREAR = 3;
493 const unsigned short WINDOWLOCATION_REAR = 4;
496 * \brief Must return window openness percentage (100% fully open, 0% fully closed)
497 * for the window location see "zone" attribute
499 attribute unsigned short openness;
502 * \brief Must return the defroster status of the window. On = true, Off = false.
504 attribute boolean defrost;
508 interface Sunroof : VehiclePropertyType {
511 * \brief Must return window status for sunroof openness percentage.
513 attribute unsigned short openness;
516 * \brief Must return tilt status for sunroof percentage.
518 attribute unsigned short tilt;
522 interface ConvertibleRoof : VehiclePropertyType {
525 * \brief Must return window status for sunroof openness percentage.
527 attribute unsigned short openness;
531 interface VehicleId : VehiclePropertyType {
534 * \brief MUST return World Manufacturer Identifier (WMI)
535 * WMI is defined by SAE ISO 3780:2009. 3 characters.
537 attribute DOMString WMI;
540 * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
542 attribute DOMString VIN;
546 interface Size : VehiclePropertyType {
549 * \brief MUST return width of vehicle in mm
551 attribute unsigned long width;
554 * \brief MUST return height of vehicle in mm
556 attribute unsigned long height;
559 * \brief MUST return length of vehicle in mm
561 attribute unsigned long length;
565 interface FuelInfo : VehiclePropertyType {
566 const unsigned short FUELTYPE_GASOLINE = 0;
567 const unsigned short FUELTYPE_HIGH_OCTANE= 1;
568 const unsigned short FUELTYPE_DIESEL = 2;
569 const unsigned short FUELTYPE_ELECTRIC = 3;
570 const unsigned short FUELTYPE_HYDROGEN = 4;
571 const unsigned short REFUELPOSITION_LEFT = 0;
572 const unsigned short REFUELPOSITION_RIGHT= 1;
573 const unsigned short REFUELPOSITION_FRONT = 2;
574 const unsigned short REFUELPOSITION_REAR = 3;
577 * \brief MUST return type of fuel. integer 0-4 (see
579 attribute unsigned short type;
582 * \brief MUST return position of refuling (see
584 attribute unsigned short refuelPosition;
588 interface VehicleType : VehiclePropertyType {
589 const unsigned short VEHICLETYPE_SEDAN = 0;
590 const unsigned short VEHICLETYPE_COUPE= 1;
591 const unsigned short VEHICLETYPE_CABRIOLE = 2;
592 const unsigned short VEHICLETYPE_ROADSTER = 3;
593 const unsigned short VEHICLETYPE_SUV = 4;
594 const unsigned short VEHICLETYPE_TRUCK = 5;
597 * \brief MUST return type of Vehicle. Integer 0-5 (see
599 attribute unsigned short type;
603 interface Doors : VehiclePropertyType {
606 * \brief MUST return Number of doors in each row. The index represents the row. Position '0'
607 * represents the first row, '1' the second row etc.
608 * Example a common mini-van may have Doors[0] = 2 doors,
609 * Doors[1] = 1 (side door), Doors[2] = 1 (trunk).
611 attribute sequence<unsigned short> doorsPerRow;
615 interface TransmissionGearType : VehiclePropertyType {
616 const unsigned short TRANSMISSIONGEARTYPE_AUTO=0;
617 const unsigned short TRANSMISSIONGEARTYPE_MANUAL=1;
618 const unsigned short TRANSMISSIONGEARTYPE_CV=2;
620 /** TransmissionGearType
621 * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV). See
623 attribute unsigned short transmissionGearType;
627 interface WheelInformation : VehiclePropertyType {
630 * \brief MUST return Radius of Front Wheel(s) in mm.
632 attribute unsigned short frontWheelRadius;
635 * \brief MUST return Radius of Rear Wheel(s) in mm.
637 attribute unsigned short rearWheelRadius;
640 * \brief MUST return Wheel Track in mm.
642 attribute unsigned long wheelTrack;
645 * \brief MUST return Antilock Brake System status: on = true, off = false.
647 attribute boolean ABS;
651 interface Odometer : VehiclePropertyType {
654 * \brief MUST return Distance traveled in km
656 attribute unsigned long odometer;
660 interface Fluid : VehiclePropertyType {
663 * \brief MUST return Transmission fluid level percentage. 0-100.
665 attribute unsigned short transmission;
668 * \brief MUST return Brake fluid level percentage. 0-100.
670 attribute unsigned short brake;
673 * \brief MUST return Washer fluid level percentage. 0-100.
675 attribute unsigned short washer;
679 interface Battery : VehiclePropertyType {
682 * \brief MUST return battery voltage.
684 attribute double voltage;
687 * \brief MUST return battery current in Amperes
689 attribute double current;
693 interface TirePressure : VehiclePropertyType {
696 * \brief MUST return left front tire pressure in kPa.
698 attribute double leftFront;
701 * \brief MUST return right front tire pressure in kPa.
703 attribute double rightFront;
706 * \brief MUST return left rear tire pressure in kPa.
708 attribute double leftRear;
711 * \brief MUST return right rear tire pressure in kPa.
713 attribute double rightRear;
717 interface TireTemperature : VehiclePropertyType {
720 * \brief MUST return left front tire temperature in Celcius.
722 attribute double leftFront;
725 * \brief MUST return right front tire temperature in Celcius.
727 attribute double rightFront;
730 * \brief MUST return left rear tire temperature in Celcius.
732 attribute double leftRear;
735 * \brief MUST return right rear tire temperature in Celcius.
737 attribute double rightRear;
741 interface SecurityAlert : VehiclePropertyType {
746 attribute boolean securityAlert;
750 interface ParkingBrake : VehiclePropertyType {
753 * must return status of parking brake: Engaged = true, Disengaged = false.
755 attribute boolean parkingBrake;
759 interface ParkingLight : VehiclePropertyType {
762 * must return status of parking light: Engaged = true, Disengaged = false.
764 attribute boolean parkingLight;
768 interface HazardLight : VehiclePropertyType {
771 * must return status of hazard light: Engaged = true, Disengaged = false.
773 attribute boolean hazardLight;
777 interface AntilockBrakingSystem : VehiclePropertyType {
779 /** AntilockBrakingSystem
780 * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
782 attribute boolean antilockBrakingSystem;
786 interface TractionControlSystem : VehiclePropertyType {
788 /** TractionControlSystem
789 * \brief MUST return whether Traction Control System is Off (false) or On (true)
791 attribute boolean tractionControlSystem;
795 interface VehicleTopSpeedLimit : VehiclePropertyType {
797 /** VehicleTopSpeedLimit
798 * \brief MUST returns top rated speed in km/h. 0 = no limit
800 attribute unsigned short vehicleTopSpeedLimit;
804 interface AirbagStatus : VehiclePropertyType {
805 const unsigned short AIRBAGSTATUS_INACTIVE = 0;
806 const unsigned short AIRBAGSTATUS_ACTIVE = 1;
807 const unsigned short AIRBAGSTATUS_DEPLOYED = 2;
810 * \brief MUST return Airbag deployment status (see AIRBAGSTATUS*)
812 attribute unsigned short airbagStatus;
816 interface DoorStatus : VehiclePropertyType {
817 const unsigned short DOORSTATUS_CLOSED = 0;
818 const unsigned short DOORSTATUS_OPEN = 1;
819 const unsigned short DOORSTATUS_AJAR = 2;
822 * \brief MUST returns Door status (byte). See DOORSTATUS_*
824 attribute unsigned short doorStatus;
827 * \brief MUST returns Door status (bool locked = true, unlocked = false).
829 attribute boolean doorLockStatus;
832 * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
833 * Setting this to 'true' will prevent the rear doors from being opened
836 attribute boolean childLockStatus;
840 interface SeatBeltStatus : VehiclePropertyType {
843 * \brief MUST return Seat Belt status (bool: Fasten = true, Unfastened = false)
845 attribute boolean seatBeltStatus;
849 interface OccupantStatus : VehiclePropertyType {
850 const unsigned short OCCUPANTSTATUS_VACANT = 0;
851 const unsigned short OCCUPANTSTATUS_CHILD = 1;
852 const unsigned short OCCUPANTSTATUS_ADULT = 2;
855 * \brief MUST returns Occupant status (byte, see OCCUPANTSTATUS)
857 attribute unsigned short occupantStatus;
861 interface ObstacleDistance : VehiclePropertyType {
862 const unsigned short DISTANCESENSORLOCATION_LEFTFRONT = 0;
863 const unsigned short DISTANCESENSORLOCATION_RIGHTFRONT = 1;
864 const unsigned short DISTANCESENSORLOCATION_LEFTREAR = 2;
865 const unsigned short DISTANCESENSORLOCATION_RIGHTREAR = 3;
866 const unsigned short DISTANCESENSORLOCATION_LEFTBLINDSPOT = 4;
867 const unsigned short DISTANCESENSORLOCATION_RIGHTBLINDSPOT = 5;
870 * \brief MUST returns Distance Sensor distance (Double) in m.
872 attribute double obstacleDistance;
876 interface NightMode : VehiclePropertyType {
879 * \brief MUST return whether or not the system is in NightMode or not. True = Night time, False = Day time
881 attribute boolean nightMode;
885 interface DrivingMode : VehiclePropertyType {
888 * \brief MUST return whether or not the system is in DrivingMode or not. 1 = Driving, 0 = Not Driving
890 attribute unsigned short drivingMode;