--- /dev/null
+/**
+
+
+Details.
+
+\def-api-feature http://tizen.org/api/vehicle
+\brief Allows access to the vehicle API
+
+
+*/
+
+
+[NoInterfaceObject]
+interface VehicleManagerObject {
+ readonly attribute Vehicle vehicle;
+};
+Tizen implements VehicleManagerObject;
+
+
+[NoInterfaceObject]
+interface VehiclePropertyType: Event {
+ /** Time
+ * \brief time at which the vehicle generated the property
+ **/
+ 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;
+
+ /** code
+ * MUST return error code.
+ **/
+ attribute unsigned short code;
+
+ /** message
+ * MUST return error message
+ **/
+ attribute DOMString message;
+};
+
+callback VehiclePropertyCallback = void (VehiclePropertyType value);
+
+callback VehiclePropertyErrorCallback = void (VehiclePropertyError error);
+
+callback VehiclePropertyListCallback = void (sequence<VehiclePropertyType> values);
+
+callback SupportedPropertiesCallback = void (sequence<DOMString> properties);
+
+
+[NoInterfaceObject]
+interface Vehicle {
+
+ const unsigned short ZONE_None = 0;
+ const unsigned short ZONE_Front = 1;
+ const unsigned short ZONE_Middle = 0x10;
+ const unsigned short ZONE_Right = 0x100;
+ const unsigned short ZONE_Left = 0x1000;
+ const unsigned short ZONE_Rear = 0x10000;
+ const unsigned short ZONE_Center = 0x10000;
+
+ /**
+ * \brief returns supported object types
+ **/
+ sequence<DOMString> supported();
+
+ /**
+ * \brief fetch the current value for 'objectType'.
+ * \param objectType is the requested property to be retrieved.
+ * \param zone specify the zone in which this object type is in
+ * \return object representing the requested 'objectType'
+ **/
+ any get(DOMString objectType, optional short zone);
+
+ /** \brief subscribe to the given property and get callbacks when it changes
+ * \param objectType property to set
+ * \param successCallback callback will be called when the "objectType" changes
+ * \param errorCallback callback if error has been called.
+ **/
+
+ void subscribe(DOMString objectType, VehiclePropertyCallback successCallback, optional unsigned short zone, optional VehiclePropertyErrorCallback errorCallback);
+
+ /**
+ * \brief set the given objectType to value
+ * \param objectType object type to set
+ * \param value value to set, should contain zone information ie "zone" : 0
+ * \param errorCallback callback if error has been called.
+ **/
+ void set(DOMString objectType, VehiclePropertyType value, optional VehiclePropertyErrorCallback errorCallback);
+
+ /**
+ * \brief get values for a given objectType within a certain past time period between 'startTime' and 'endTime'
+ * \param objectType object type to request
+ * \param zone in which the objectType is located or 0 if no zone.
+ * \param startTime starting period of time.
+ * \param endTime ending period of time.
+ * \param successCallback Callback with the result of the method call
+ * \param errorCallback Callback if an error has occurred.
+ **/
+ void getHistory(DOMString objectType, unsigned short zone, Date startTime, Date endTime, VehiclePropertyListCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);
+
+ sequence<unsigned integer> listZones(DOMString objectType);
+};
+
+[NoInterfaceObject]
+interface VehicleSpeed : VehiclePropertyType {
+
+ /** VehicleSpeed
+ * \brief Must return Vehicle Speed in kilometers per hour.
+ **/
+ attribute unsigned long vehicleSpeed;
+};
+
+[NoInterfaceObject]
+interface EngineSpeed : VehiclePropertyType {
+
+ /** EngineSpeed
+ * \brief Must return Engine Speed in rotations per minute.
+ **/
+ 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;
+
+ /** VehiclePowerMode
+ * \brief Must return Vehicle Power mode (see VEHICLEPOWERMODE)
+ **/
+ attribute octet vehiclePowerMode;
+};
+
+[NoInterfaceObject]
+interface TripMeter : VehiclePropertyType {
+
+ /** TripMeters
+ * \brief Must return trip meters. Changing any items in the array will reset the item's value to '0'.
+ **/
+ attribute sequence<unsigned long> tripMeters;
+};
+
+[NoInterfaceObject]
+interface Acceleration : VehiclePropertyType {
+
+ /** X
+ * \brief Must return acceleration on the "X" axis as 1/1000 G (gravitational force).
+ **/
+ attribute unsigned long x;
+
+ /** Y
+ * \brief Must return acceleration on the "Y" axis as 1/1000 G (gravitational force).
+ **/
+ attribute unsigned long y;
+
+ /** Z
+ * \brief Must return acceleration on the "Z" axis as 1/1000 G (gravitational force).
+ **/
+ 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;
+
+ /** GearPosition
+ * \brief Must return transmission gear position (see TRANSMISSIONPOSITION)
+ **/
+ attribute octet gearPosition;
+
+ /** Mode
+ * \brief Must return transmission Mode (see
+ **/
+ attribute octet mode;
+};
+
+[NoInterfaceObject]
+interface CruiseControlStatus : VehiclePropertyType {
+
+ /** Activated
+ * \brief Must return whether or not the Cruise Control system is active (true) or inactive (false)
+ **/
+ attribute boolean activated;
+
+ /** Speed
+ * \brief Must return target Cruise Control speed in kilometers per hour (kph).
+ **/
+ attribute unsigned short speed;
+};
+
+[NoInterfaceObject]
+interface WheelBrake : VehiclePropertyType {
+
+ /** Engaged
+ * \brief Must return Wheel Brake status: Engaged = true, disengaged = false
+ **/
+ attribute boolean engaged;
+};
+
+[NoInterfaceObject]
+interface LightStatus : VehiclePropertyType {
+
+ /** Head
+ * \brief Must return headlight status: on = true, off = false.
+ **/
+ attribute boolean head;
+
+ /** RightTurn
+ * \brief Must return right turn signal status: on = true, off = false.
+ **/
+ attribute boolean rightTurn;
+
+ /** LeftTurn
+ * \brief Must return left turn signal status: on = true, off = false.
+ **/
+ attribute boolean leftTurn;
+
+ /** Brake
+ * \brief Must return brake signal light status: on = true, off = false.
+ **/
+ attribute boolean brake;
+
+ /** Fog
+ * \brief Must return fog light status: on = true, off = false.
+ **/
+ attribute boolean fog;
+
+ /** Hazard
+ * \brief Must return hazard light status: on = true, off = false.
+ **/
+ attribute boolean hazard;
+
+ /** Parking
+ * \brief Must return parking light status: on = true, off = false.
+ **/
+ attribute boolean parking;
+
+ /** HighBeam
+ * \brief Must return high beam status: on = true, off = false.
+ **/
+ attribute boolean highBeam;
+};
+
+[NoInterfaceObject]
+interface InteriorLightStatus : VehiclePropertyType {
+
+ /** Passenger
+ * \brief Must return passenger interior light status: on = true, off = false
+ **/
+ attribute boolean passenger;
+
+ /** Driver
+ * \brief Must return driver interior light status: on = true, off = false
+ **/
+ attribute boolean driver;
+
+ /** Center
+ * \brief Must return center interior light status: on = true, off = false
+ **/
+ attribute boolean center;
+};
+
+[NoInterfaceObject]
+interface Horn : VehiclePropertyType {
+
+ /** On
+ * \brief Must return horn status: on = true, off = false
+ **/
+ attribute boolean on;
+};
+
+[NoInterfaceObject]
+interface Fuel : VehiclePropertyType {
+
+ /** Level
+ * \brief Must return fuel level as a percentage of fullness.
+ **/
+ attribute unsigned short level;
+
+ /** Range
+ * \brief Must return estimated fuel range in kilometers.
+ **/
+ attribute unsigned short range;
+
+ /** InstantConsumption
+ * \brief Must return instant fuel consumption in milliliters of fuel per second.
+ **/
+ attribute unsigned short instantConsumption;
+
+ /** InstantEconomy
+ * \brief Must return instant fuel 'economy' in kilometers per liter of fuel.
+ **/
+ attribute unsigned short instantEconomy;
+
+ /** AverageEconomy
+ * \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'
+ **/
+ attribute unsigned short averageEconomy;
+};
+
+[NoInterfaceObject]
+interface EngineOil : VehiclePropertyType {
+
+ /** Remaining
+ * \brief Must return remaining engine oil as percentage of fullness.
+ **/
+ attribute unsigned short remaining;
+
+ /** Temperature
+ * \brief Must return Engine Oil Temperature in Celcius.
+ **/
+ attribute long temperature;
+
+ /** Pressure
+ * \brief Must return Engine Oil Pressure in kPa.
+ **/
+ attribute unsigned short pressure;
+};
+
+[NoInterfaceObject]
+interface Location : VehiclePropertyType {
+
+ /** Latitude
+ * \brief Must return latitude in Deg.Min (-180, +180)
+ **/
+ attribute double latitude;
+
+ /** Longitude
+ * \brief Must return longitude in Deg.Min (-90, +90)
+ **/
+ attribute double longitude;
+
+ /** Altitude
+ * \brief Must return altitude in meters above sea-level (0).
+ **/
+ attribute double altitude;
+
+ /** Direction
+ * \brief Must return direction in Degrees (0-360)
+ **/
+ attribute unsigned short direction;
+};
+
+[NoInterfaceObject]
+interface ExteriorBrightness : VehiclePropertyType {
+
+ /** ExteriorBrightness
+ * \brief Must return the brightness outside the vehicle in lux.
+ **/
+ attribute unsigned long exteriorBrightness;
+};
+
+[NoInterfaceObject]
+interface Temperature : VehiclePropertyType {
+
+ /** Interior
+ * \brief Must return the temperature of the interior of the vehicle in celcius.
+ **/
+ attribute short interior;
+
+ /** Exterior
+ * \brief Must return the temperature of the exterior of the vehicle in celcius.
+ **/
+ attribute short exterior;
+};
+
+[NoInterfaceObject]
+interface RainSensor : VehiclePropertyType {
+
+ /** RainSensor
+ * \brief Must return level of rain intensity 0: No Rain - 10: Heaviest Rain.
+ **/
+ 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;
+
+ /** WindshieldWiper
+ * \brief Must return Level of windshield whiper speed (see WIPERSPEED)
+ **/
+ attribute unsigned short windshieldWiper;
+};
+
+dictionary DefrostDictionary {
+ unsigned short window;
+ boolean defrost;
+};
+
+[NoInterfaceObject]
+interface HVAC : VehiclePropertyType {
+ const unsigned short AIRFLOWDIRECTION_FRONTPANEL = 0;
+ const unsigned short AIRFLOWDIRECTION_FLOORDUCT= 1;
+ const unsigned short AIRFLOWDIRECTION_FRONT = 0x02;
+ const unsigned short AIRFLOWDIRECTION_DEFROSTER = 0x04;
+
+ /** AirflowDirection
+ * \brief Must return airflow direction. See
+ **/
+ attribute unsigned short airflowDirection;
+
+ /** FanSpeed
+ * \brief Must return speed of the fan (0-7)
+ **/
+ attribute unsigned short fanSpeed;
+
+ /** TargetTemperature
+ * \brief Must return target desired temperature in celcius.
+ **/
+ attribute unsigned short targetTemperature;
+
+ /** AirConditioning
+ * \brief Must return air conditioning on (true) / off (false).
+ **/
+ attribute boolean airConditioning;
+
+ /** AirRecirculation
+ * \brief Must return air recirculation on (true) / off (false).
+ **/
+ attribute boolean airRecirculation;
+
+ /** Heater
+ * \brief Must return heater on (true) / off (false).
+ **/
+ attribute boolean heater;
+
+ /** Defrost
+ * \brief Must return the defrost status of all windows equiped with defrosters. This will return a dictionary of DefrostDictionary that represents
+ * \brief each window and its defrost status.
+ **/
+ attribute DefrostDictionary defrost;
+
+ /** SteeringWheelHeater
+ * \brief Must return air recirculation on (true) / off (false).
+ **/
+ attribute boolean steeringWheelHeater;
+
+ /** SeatHeater
+ * \brief Must return seat heater status: on (true) / off (false).
+ **/
+ attribute boolean seatHeater;
+
+ /** SeatCooler
+ * \brief Must return seat heater status: on (true) / off (false).
+ **/
+ 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;
+
+ /** WindowStatus
+ * \brief Must return window status for each window location. object returned is a
+ * dictionary { unsigned short windowlocation, unsigned short percentage opened }
+ **/
+ attribute object WindowStatus;
+};
+
+[NoInterfaceObject]
+interface Sunroof : VehiclePropertyType {
+
+ /** Openness
+ * \brief Must return window status for sunroof openness percentage.
+ **/
+ attribute unsigned short openness;
+
+ /** Tilt
+ * \brief Must return tilt status for sunroof percentage.
+ **/
+ attribute unsigned short tilt;
+};
+
+[NoInterfaceObject]
+interface ConvertibleRoof : VehiclePropertyType {
+
+ /** Openness
+ * \brief Must return window status for sunroof openness percentage.
+ **/
+ attribute unsigned short openness;
+};
+
+[NoInterfaceObject]
+interface VehicleId : VehiclePropertyType {
+
+ /** WMI
+ * \brief MUST return World Manufacturer Identifier (WMI)
+ * WMI is defined by SAE ISO 3780:2009. 3 characters.
+ **/
+ attribute DOMString WMI;
+
+ /** VIN
+ * \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.
+ **/
+ attribute DOMString VIN;
+};
+
+[NoInterfaceObject]
+interface Size : VehiclePropertyType {
+
+ /** Width
+ * \brief MUST return width of vehicle in mm
+ **/
+ attribute unsigned long width;
+
+ /** Height
+ * \brief MUST return height of vehicle in mm
+ **/
+ attribute unsigned long height;
+
+ /** Length
+ * \brief MUST return length of vehicle in mm
+ **/
+ 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;
+
+ /** Type
+ * \brief MUST return type of fuel. integer 0-4 (see
+ **/
+ attribute unsigned short type;
+
+ /** RefuelPosition
+ * \brief MUST return position of refuling (see
+ **/
+ 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;
+
+ /** Type
+ * \brief MUST return type of Vehicle. Integer 0-5 (see
+ **/
+ attribute unsigned short type;
+};
+
+[NoInterfaceObject]
+interface Doors : VehiclePropertyType {
+
+ /** DoorsPerRow
+ * \brief MUST 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).
+ **/
+ attribute sequence<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;
+
+ /** TransmissionGearType
+ * \brief MUST return transmission gear type of either Automatic, Manual or Constant Variable (CV). See
+ **/
+ attribute unsigned short transmissionGearType;
+};
+
+[NoInterfaceObject]
+interface WheelInformation : VehiclePropertyType {
+
+ /** FrontWheelRadius
+ * \brief MUST return Radius of Front Wheel(s) in mm.
+ **/
+ attribute unsigned short frontWheelRadius;
+
+ /** RearWheelRadius
+ * \brief MUST return Radius of Rear Wheel(s) in mm.
+ **/
+ attribute unsigned short rearWheelRadius;
+
+ /** WheelTrack
+ * \brief MUST return Wheel Track in mm.
+ **/
+ attribute unsigned long wheelTrack;
+
+ /** ABS
+ * \brief MUST return Antilock Brake System status: on = true, off = false.
+ **/
+ attribute boolean ABS;
+};
+
+[NoInterfaceObject]
+interface Odometer : VehiclePropertyType {
+
+ /** Odometer
+ * \brief MUST return Distance traveled in km
+ **/
+ attribute unsigned long odometer;
+};
+
+[NoInterfaceObject]
+interface Fluid : VehiclePropertyType {
+
+ /** Transmission
+ * \brief MUST return Transmission fluid level percentage. 0-100.
+ **/
+ attribute unsigned short transmission;
+
+ /** Brake
+ * \brief MUST return Brake fluid level percentage. 0-100.
+ **/
+ attribute unsigned short brake;
+
+ /** Washer
+ * \brief MUST return Washer fluid level percentage. 0-100.
+ **/
+ attribute unsigned short washer;
+};
+
+[NoInterfaceObject]
+interface Battery : VehiclePropertyType {
+
+ /** Voltage
+ * \brief MUST return battery voltage.
+ **/
+ attribute double voltage;
+
+ /** Current
+ * \brief MUST return battery current in Amperes
+ **/
+ attribute double current;
+};
+
+[NoInterfaceObject]
+interface TirePressure : VehiclePropertyType {
+
+ /** LeftFront
+ * \brief MUST return left front tire pressure in kPa.
+ **/
+ attribute double leftFront;
+
+ /** RightFront
+ * \brief MUST return right front tire pressure in kPa.
+ **/
+ attribute double rightFront;
+
+ /** LeftRear
+ * \brief MUST return left rear tire pressure in kPa.
+ **/
+ attribute double leftRear;
+
+ /** RightRear
+ * \brief MUST return right rear tire pressure in kPa.
+ **/
+ attribute double rightRear;
+};
+
+[NoInterfaceObject]
+interface TireTemperature : VehiclePropertyType {
+
+ /** LeftFront
+ * \brief MUST return left front tire temperature in Celcius.
+ **/
+ attribute double leftFront;
+
+ /** RightFront
+ * \brief MUST return right front tire temperature in Celcius.
+ **/
+ attribute double rightFront;
+
+ /** LeftRear
+ * \brief MUST return left rear tire temperature in Celcius.
+ **/
+ attribute double leftRear;
+
+ /** RightRear
+ * \brief MUST return right rear tire temperature in Celcius.
+ **/
+ attribute double rightRear;
+};
+
+[NoInterfaceObject]
+interface SecurityAlert : VehiclePropertyType {
+
+ /** SecurityAlert
+ * \brief MUST return
+ **/
+ attribute boolean securityAlert;
+};
+
+[NoInterfaceObject]
+interface ParkingBrake : VehiclePropertyType {
+
+ /** ParkingBrake
+ * must return status of parking brake: Engaged = true, Disengaged = false.
+ **/
+ attribute boolean parkingBrake;
+};
+
+[NoInterfaceObject]
+interface ParkingLight : VehiclePropertyType {
+
+ /** ParkingLight
+ * must return status of parking light: Engaged = true, Disengaged = false.
+ **/
+ attribute boolean parkingLight;
+};
+
+[NoInterfaceObject]
+interface HazardLight : VehiclePropertyType {
+
+ /** HazardLight
+ * must return status of hazard light: Engaged = true, Disengaged = false.
+ **/
+ attribute boolean hazardLight;
+};
+
+[NoInterfaceObject]
+interface AntilockBrakingSystem : VehiclePropertyType {
+
+ /** AntilockBrakingSystem
+ * \brief MUST return whether Antilock Braking System is Idle (false) or Engaged (true)
+ **/
+ attribute boolean antilockBrakingSystem;
+};
+
+[NoInterfaceObject]
+interface TractionControlSystem : VehiclePropertyType {
+
+ /** TractionControlSystem
+ * \brief MUST return whether Traction Control System is Off (false) or On (true)
+ **/
+ attribute boolean tractionControlSystem;
+};
+
+[NoInterfaceObject]
+interface VehicleTopSpeedLimit : VehiclePropertyType {
+
+ /** VehicleTopSpeedLimit
+ * \brief MUST returns top rated speed in km/h. 0 = no limit
+ **/
+ attribute unsigned short vehicleTopSpeedLimit;
+};
+
+[NoInterfaceObject]
+interface AirbagStatus : VehiclePropertyType {
+ const unsigned short AIRBAGLOCATION_DRIVER = 0;
+ const unsigned short AIRBAGLOCATION_PASSENGER= 1;
+ const unsigned short AIRBAGLOCATION_LEFTSIDE = 2;
+ const unsigned short AIRBAGLOCATION_RIGHTSIDE = 3;
+ const unsigned short AIRBAGSTATUS_INACTIVE = 0;
+ const unsigned short AIRBAGSTATUS_ACTIVE = 1;
+ const unsigned short AIRBAGSTATUS_DEPLOYED = 2;
+
+ /** AirbagStatus
+ * \brief MUST returns a dictionary of Airbag (byte) and Status (byte) (see
+ **/
+ attribute object airbagStatus;
+};
+
+[NoInterfaceObject]
+interface DoorStatus : VehiclePropertyType {
+ const unsigned short DOORLOCATION_DRIVER= 0;
+ const unsigned short DOORLOCATION_PASSENGER = 1;
+ const unsigned short DOORLOCATION_LEFTREAR = 2;
+ const unsigned short DOORLOCATION_RIGHTREAR = 3;
+ const unsigned short DOORLOCATION_TRUNK = 4;
+ const unsigned short DOORLOCATION_FUELCAP = 5;
+ const unsigned short DOORLOCATION_HOOD = 6;
+ const unsigned short DOORSTATUS_CLOSED = 0;
+ const unsigned short DOORSTATUS_OPEN = 1;
+ const unsigned short DOORSTATUS_AJAR = 2;
+
+ /** DoorStatus
+ * \brief MUST returns dictionary of Door (byte) and Status (byte). See
+ **/
+ attribute object doorStatus;
+
+ /** DoorLockStatus
+ * \brief MUST returns dictionary of Door (byte) and Status (bool locked = true, unlocked = false). See
+ **/
+ attribute object doorLockStatus;
+
+ /** ChildLockStatus
+ * \brief MUST returns Child lock status of rear doors. active = true, inactive = false.
+ * Setting this to 'true' will prevent the rear doors from being opened
+ * from the inside.
+ **/
+ attribute boolean childLockStatus;
+};
+
+[NoInterfaceObject]
+interface SeatBeltStatus : VehiclePropertyType {
+ const unsigned short SEATBELTLOCATION_DRIVER= 0;
+ const unsigned short SEATBELTLOCATION_MIDDLEFRONT = 1;
+ const unsigned short SEATBELTLOCATION_PASSENGER = 2;
+ const unsigned short SEATBELTLOCATION_LEFTREAR = 3;
+ const unsigned short SEATBELTLOCATION_MIDDLEREAR = 4;
+ const unsigned short SEATBELTLOCATION_RIGHTREAR = 5;
+
+ /** SeatBeltStatus
+ * \brief MUST returns dictionary of Seat Belt (byte, see SEATBELTLOCATION) and Status (bool: Fasten = true, Unfastened = false)
+ **/
+ attribute object seatBeltStatus;
+};
+
+[NoInterfaceObject]
+interface OccupantStatus : VehiclePropertyType {
+ const unsigned short OCCUPANTLOCATION_DRIVER = 0;
+ const unsigned short OCCUPANTLOCATION_FRONTMIDDLE = 1;
+ const unsigned short OCCUPANTLOCATION_PASSENGER= 2;
+ const unsigned short OCCUPANTLOCATION_LEFTREAR = 3;
+ const unsigned short OCCUPANTLOCATION_MIDDLEREAR = 4;
+ const unsigned short OCCUPANTLOCATION_RIGHTREAR = 5;
+ const unsigned short OCCUPANTSTATUS_VACANT = 0;
+ const unsigned short OCCUPANTSTATUS_CHILD = 1;
+ const unsigned short OCCUPANTSTATUS_ADULT = 2;
+
+ /** OccupantStatus
+ * \brief MUST returns dictionary of Occupant (byte see OCCUPANTLOCATION) and Status (byte, see
+ **/
+ attribute object 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;
+
+ /** ObstacleDistance
+ * \brief MUST returns dictionary of Distance Sensor (byte, see DISTANCESENSORLOCATION) and distance (double) in m.
+ **/
+ attribute object obstacleDistance;
+};