added parking and environment properties
[profile/ivi/automotive-message-broker.git] / plugins / dbus / maintenance.h
1 #ifndef _MAINTENANCE_H_
2 #define _MAINTENANCE_H_
3
4
5 #include "dbusplugin.h"
6 #include "abstractdbusinterface.h"
7 #include "abstractroutingengine.h"
8
9
10 class OdometerProperty: public DBusSink
11 {
12 public:
13         OdometerProperty(AbstractRoutingEngine* re, GDBusConnection* connection)
14                 :DBusSink("org.automotive.odometer","/org/automotive/maintenance/odometer", re, connection, map<string, string>())
15         {
16                 wantProperty<uint>(VehicleProperty::Odometer,"Odometer", "i", AbstractProperty::Read);
17
18                 supportedChanged(re->supported());
19         }
20 };
21
22 class BatteryProperty: public DBusSink
23 {
24 public:
25         BatteryProperty(AbstractRoutingEngine* re, GDBusConnection* connection)
26                 :DBusSink("org.automotive.battery","/org/automotive/maintenance/battery", re, connection, map<string, string>())
27         {
28                 wantProperty<double>(VehicleProperty::BatteryVoltage,"Voltage", "d", AbstractProperty::Read);
29                 wantProperty<double>(VehicleProperty::BatteryCurrent,"Current", "d", AbstractProperty::Read);
30                 supportedChanged(re->supported());
31         }
32 };
33
34
35 class TirePressureProperty: public DBusSink
36 {
37 public:
38         TirePressureProperty(AbstractRoutingEngine* re, GDBusConnection* connection)
39                 :DBusSink("org.automotive.tirePressure","/org/automotive/maintenance/tirePressure", re, connection, map<string, string>())
40         {
41                 wantProperty<double>(VehicleProperty::TirePressureLeftFront,"LeftFront", "d", AbstractProperty::Read);
42                 wantProperty<double>(VehicleProperty::TirePressureRightFront,"RightFront", "d", AbstractProperty::Read);
43                 wantProperty<double>(VehicleProperty::TirePressureLeftRear,"LeftRear", "d", AbstractProperty::Read);
44                 wantProperty<double>(VehicleProperty::TirePressureRightRear,"RightRear", "d", AbstractProperty::Read);
45                 supportedChanged(re->supported());
46         }
47 };
48
49 class TireTemperatureProperty: public DBusSink
50 {
51 public:
52         TireTemperatureProperty(AbstractRoutingEngine* re, GDBusConnection* connection)
53                 :DBusSink("org.automotive.tireTemperature","/org/automotive/maintenance/tireTemperature", re, connection, map<string, string>())
54         {
55                 wantProperty<double>(VehicleProperty::TireTemperatureLeftFront,"LeftFront", "d", AbstractProperty::Read);
56                 wantProperty<double>(VehicleProperty::TireTemperatureRightFront,"RightFront", "d", AbstractProperty::Read);
57                 wantProperty<double>(VehicleProperty::TireTemperatureLeftRear,"LeftRear", "d", AbstractProperty::Read);
58                 wantProperty<double>(VehicleProperty::TireTemperatureRightRear,"RightRear", "d", AbstractProperty::Read);
59                 supportedChanged(re->supported());
60         }
61 };
62
63 #endif