From 67d2e60991cbc47fdaddae624b06a61512cf82ef Mon Sep 17 00:00:00 2001 From: Kevron Rees Date: Tue, 26 Nov 2013 10:31:04 -0800 Subject: [PATCH] added missing Vehicle.idl Change-Id: I1a92cff6e951833537eb262c05a9f65c5bf8fe51 --- src/Vehicle/Vehicle.idl | 883 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 883 insertions(+) create mode 100644 src/Vehicle/Vehicle.idl diff --git a/src/Vehicle/Vehicle.idl b/src/Vehicle/Vehicle.idl new file mode 100644 index 0000000..75e5435 --- /dev/null +++ b/src/Vehicle/Vehicle.idl @@ -0,0 +1,883 @@ +/** + + +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 values); + +callback SupportedPropertiesCallback = void (sequence 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 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 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 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 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; +}; -- 2.7.4