summaryrefslogtreecommitdiff
path: root/plugins/dbus/amb.idl
blob: d84736d49e8a08bfb551a019d4a12d0387f23de6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
Tizen implements VehicleObject; 

callback VehiclePropertyCallback = void (VehiclePropertyType value); 

callback VehiclePropertyErrorCallback = void (VehiclePropertyError error); 

callback VehiclePropertyListCallback = void (sequence<VehiclePropertyType> values); 

/**


Details. 

\def-api-feature http://tizen.org/api/vehicle 
\brief Allows access to the vehicle API 


*/

module Vehicle {
[NoInterfaceObject]
interface VehicleSpeed : VehiclePropertyType  { 
	readonly attribute unsigned short VehicleSpeed;
};

[NoInterfaceObject]
interface EngineSpeed : VehiclePropertyType  { 
	readonly attribute unsigned short EngineSpeed;
};

[NoInterfaceObject]
interface VehiclePowerMode : VehiclePropertyType  { 
	readonly attribute octet VehiclePowerMode;
};

[NoInterfaceObject]
interface TripMeter : VehiclePropertyType  { 
	 attribute unsigned short TripMeterA;
	 attribute unsigned short TripMeterB;
	 attribute unsigned short TripMeterC;
};

[NoInterfaceObject]
interface Acceleration : VehiclePropertyType  { 
	readonly attribute unsigned short X;
	readonly attribute unsigned short Y;
	readonly attribute unsigned short Z;
};

[NoInterfaceObject]
interface Transmission : VehiclePropertyType  { 
	readonly attribute octet ShiftPosition;
	readonly attribute octet GearPosition;
	readonly attribute octet Mode;
};

[NoInterfaceObject]
interface CruiseControlStatus : VehiclePropertyType  { 
	readonly attribute boolean Activated;
	readonly attribute unsigned short Speed;
};

[NoInterfaceObject]
interface WheelBrake : VehiclePropertyType  { 
	readonly attribute boolean Engaged;
};

[NoInterfaceObject]
interface LightStatus : VehiclePropertyType  { 
	readonly attribute boolean Head;
	readonly attribute boolean RightTurn;
	readonly attribute boolean LeftTurn;
	readonly attribute boolean Brake;
	readonly attribute boolean Fog;
	readonly attribute boolean Hazard;
	readonly attribute boolean Parking;
	readonly attribute boolean HighBeam;
};

[NoInterfaceObject]
interface InteriorLightStatus : VehiclePropertyType  { 
	readonly attribute boolean Passenger;
	readonly attribute boolean Driver;
	readonly attribute boolean Center;
};

[NoInterfaceObject]
interface Horn : VehiclePropertyType  { 
	readonly attribute boolean On;
};

[NoInterfaceObject]
interface Fuel : VehiclePropertyType  { 
	readonly attribute unsigned short Level;
	readonly attribute unsigned short Range;
	readonly attribute unsigned short InstantConsumption;
	readonly attribute unsigned short InstantEconomy;
	 attribute unsigned short AverageEconomy;
};

[NoInterfaceObject]
interface EngineOil : VehiclePropertyType  { 
	readonly attribute unsigned short Remaining;
	readonly attribute long Temperature;
	readonly attribute unsigned short Pressure;
};

[NoInterfaceObject]
interface Location : VehiclePropertyType  { 
	readonly attribute double Latitude;
	readonly attribute double Longitude;
	readonly attribute double Altitude;
	readonly attribute unsigned short Direction;
};

[NoInterfaceObject]
interface ExteriorBrightness : VehiclePropertyType  { 

	/**  ExteriorBrightness
	 *   Must return Exterior Brightness in lux.    
	 **/
	readonly attribute unsigned long ExteriorBrightness;
};

[NoInterfaceObject]
interface VehicleId : VehiclePropertyType  { 

	/**  WMI
	 *   \brief MUST return World Manufacturer Identifier (WMI)    
	 *   WMI is defined by SAE ISO 3780:2009.  3 characters.    
	 **/
	readonly attribute DOMString WMI;

	/**  VIN
	 *   \brief MUST return Vehicle Identification Number (VIN) as defined by ISO 3779. 17 characters.    
	 **/
	readonly attribute DOMString VIN;
};

[NoInterfaceObject]
interface Size : VehiclePropertyType  { 

	/**  Width
	 *   \brief MUST return width of vehicle in mm    
	 **/
	readonly attribute unsigned long Width;

	/**  Height
	 *   \brief MUST return height of vehicle in mm    
	 **/
	readonly attribute unsigned long Height;

	/**  Length
	 *   \brief MUST return length of vehicle in mm    
	 **/
	readonly 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 
	 **/
	readonly attribute unsigned short Type;

	/**  RefuelPosition
	 *   \brief MUST return position of refuling (see 
	 **/
	readonly 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 
	 **/
	readonly 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).    
	 **/
	readonly 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 
	 **/
	readonly attribute unsigned short TransmissionGearType;
};

[NoInterfaceObject]
interface WheelInformation : VehiclePropertyType  { 

	/**  FrontWheelRadius
	 *   \brief MUST return Radius of Front Wheel(s) in mm.    
	 **/
	readonly attribute unsigned short FrontWheelRadius;

	/**  RearWheelRadius
	 *   \brief MUST return Radius of Rear Wheel(s) in mm.    
	 **/
	readonly attribute unsigned short RearWheelRadius;

	/**  WheelTrack
	 *   \brief MUST return Wheel Track in mm.    
	 **/
	readonly attribute unsigned long WheelTrack;
};

[NoInterfaceObject]
interface Odometer : VehiclePropertyType  { 
	readonly attribute unsigned long Odometer;
};

[NoInterfaceObject]
interface Battery : VehiclePropertyType  { 
	readonly attribute double Voltage;
	readonly attribute double Current;
};

[NoInterfaceObject]
interface TirePressure : VehiclePropertyType  { 
	readonly attribute double LeftFront;
	readonly attribute double RightFront;
	readonly attribute double LeftRear;
	readonly attribute double RightRear;
};

[NoInterfaceObject]
interface TireTemperature : VehiclePropertyType  { 
	readonly attribute double LeftFront;
	readonly attribute double RightFront;
	readonly attribute double LeftRear;
	readonly attribute double RightRear;
};

[NoInterfaceObject]
interface SecurityAlert : VehiclePropertyType  { 
	readonly attribute boolean SecurityAlert;
};

[NoInterfaceObject]
interface ParkingBrake : VehiclePropertyType  { 
	readonly attribute boolean ParkingBrake;
};

[NoInterfaceObject]
interface ParkingLight : VehiclePropertyType  { 
	readonly attribute boolean ParkingLight;
};

[NoInterfaceObject]
interface HazardLight : VehiclePropertyType  { 
	readonly attribute boolean HazardLight;
};

[NoInterfaceObject]
interface VehicleObject  { 
	readonly attribute Vehicle ;
};

[NoInterfaceObject]
interface VehiclePropertyType  { 
	readonly attribute Date timeStamp;
};

[NoInterfaceObject]
interface VehiclePropertyError   { 
	const unsigned short PERMISSION_DENIED = 1; 
	const unsigned short PROPERTY_UNAVAILABLE = 2; 
	const unsigned short TIMEOUT = 3; 

	/**  code
	 *   MUST return error code. 
	 **/
	readonly attribute unsigned short code;

	/**  message
	 *   MUST return error message 
	 **/
	readonly attribute DOMString message;
};

[NoInterfaceObject]
interface Vehicle  { 
	sequence<DOMString> getSupported();  
	get(DOMString property, VehiclePropertyCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);  
	set(DOMString property, VehiclePropertyType value, optional SuccessCallback successCallback, optional VehiclePropertyErrorCallback errorCallback);  
	getHistory(DOMString property, Date startTime, Date endTime, VehicleHistoryListCallback successCallback, VehiclePropertyErrorCallback errorCallback);  
};

};