1 #ifndef DRIVINGSAFETY_H_
2 #define DRIVINGSAFETY_H_
4 #include "dbusplugin.h"
5 #include "abstractdbusinterface.h"
6 #include "abstractroutingengine.h"
8 class AntilockBrakingSystemProperty: public DBusSink
11 AntilockBrakingSystemProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
12 :DBusSink("AntilockBrakingSystem", re, connection, map<string, string>())
14 /// TODO: Deprecated. Remove in 0.14
15 wantPropertyVariant(VehicleProperty::AntilockBrakingSystem, "AntilockBrakingSystem", AbstractProperty::Read);
16 wantPropertyVariant(VehicleProperty::AntilockBrakingSystem, "Engaged", AbstractProperty::Read);
17 wantPropertyVariant(VehicleProperty::AntilockBrakingSystemEnabled, "Enabled", AbstractProperty::Read);
21 class TractionControlSystemProperty: public DBusSink
24 TractionControlSystemProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
25 :DBusSink("TractionControlSystem", re, connection, map<string, string>())
27 /// TODO: Deprecated. Remove in 0.14
28 wantPropertyVariant(VehicleProperty::TractionControlSystem, "TractionControlSystem", AbstractProperty::Read);
29 wantPropertyVariant(VehicleProperty::TractionControlSystemEnabled, "Enabled", AbstractProperty::Read);
30 wantPropertyVariant(VehicleProperty::TractionControlSystem, "Engaged", AbstractProperty::Read);
35 class VehicleTopSpeedLimitProperty: public DBusSink
38 VehicleTopSpeedLimitProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
39 :DBusSink("VehicleTopSpeedLimit", re, connection, map<string, string>())
41 /// TODO: Deprecated. Remove in 0.14
42 wantPropertyVariant(VehicleProperty::VehicleTopSpeedLimit, "VehicleTopSpeedLimit", AbstractProperty::Read);
43 wantPropertyVariant(VehicleProperty::VehicleTopSpeedLimit, "Speed", AbstractProperty::Read);
47 class AirbagStatusProperty: public DBusSink
50 AirbagStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
51 :DBusSink("AirbagStatus", re, connection, map<string, string>())
53 /// TODO: Deprecated in 0.14
54 wantPropertyVariant(VehicleProperty::AirbagStatus, "AirbagStatus", AbstractProperty::Read);
55 wantPropertyVariant(VehicleProperty::AirbagActivated, "AirbagActivated", AbstractProperty::Read);
56 wantPropertyVariant(VehicleProperty::AirbagDeployed, "AirbagDeployed", AbstractProperty::Read);
60 /// TODO: deprecated. remove in 0.14
61 class DoorStatusProperty: public DBusSink
64 DoorStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
65 :DBusSink("DoorStatus", re, connection, map<string, string>())
68 wantPropertyVariant(VehicleProperty::DoorStatus, "DoorStatus", AbstractProperty::Read);
70 wantPropertyVariant(VehicleProperty::DoorLockStatus, "DoorLockStatus", AbstractProperty::Read);
72 ///TODO: Deprecated in 0.14
73 wantPropertyVariant(VehicleProperty::ChildLockStatus, "ChildLockStatus", AbstractProperty::Read);
77 class DoorProperty: public DBusSink
80 DoorProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
81 :DBusSink("Door", re, connection, map<string, string>())
84 wantPropertyVariant(VehicleProperty::DoorStatusW3C, "Status", AbstractProperty::Read);
86 wantPropertyVariant(VehicleProperty::DoorLockStatus, "Lock", AbstractProperty::ReadWrite);
88 ///TODO: Deprecated in 0.14
89 wantPropertyVariant(VehicleProperty::ChildLockStatus, "ChildLock", AbstractProperty::Read);
93 /// TODO: Deprecated in 0.14
94 class SeatBeltStatusProperty: public DBusSink
97 SeatBeltStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
98 :DBusSink("SeatBelt", re, connection, map<string, string>())
100 wantPropertyVariant(VehicleProperty::SeatBeltStatus, "Status", AbstractProperty::Read);
104 /// TODO: Deprecated in 0.14
105 class OccupantStatusProperty: public DBusSink
108 OccupantStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
109 :DBusSink("OccupantStatus", re, connection, map<string, string>())
111 wantPropertyVariant(VehicleProperty::OccupantStatus, "OccupantStatus", AbstractProperty::Read);
115 class ObstacleDistanceProperty: public DBusSink
118 ObstacleDistanceProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
119 :DBusSink("ObstacleDistance", re, connection, map<string, string>())
121 wantPropertyVariant(VehicleProperty::ObstacleDistance, "ObstacleDistance", AbstractProperty::Read);
125 class ElectronicStabilityControl: public DBusSink
128 ElectronicStabilityControl(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
129 :DBusSink("ElectronicStabilityControl", re, connection, map<string, string>())
131 wantPropertyVariant(VehicleProperty::ElectronicStabilityControlEnabled, "Enabled", AbstractProperty::Read);
132 wantPropertyVariant(VehicleProperty::ElectronicStabilityControlEngaged, "Engaged", AbstractProperty::Read);
136 class ChildSafetyLock: public DBusSink
139 ChildSafetyLock(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
140 :DBusSink("ChildSafetyLock", re, connection, map<string, string>())
142 wantPropertyVariant(VehicleProperty::ChildLockStatus, "Lock", AbstractProperty::ReadWrite);
146 class SeatProperty: public DBusSink
149 SeatProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
150 :DBusSink("Seat", re, connection, map<string, string>())
152 wantPropertyVariant(VehicleProperty::OccupantStatusW3C, "Occupant", AbstractProperty::ReadWrite);
153 wantPropertyVariant(VehicleProperty::SeatBeltStatus, "SeatBelt", AbstractProperty::ReadWrite);
154 wantPropertyVariant(VehicleProperty::OccupantName, "OccupantName", AbstractProperty::ReadWrite);
155 wantPropertyVariant(VehicleProperty::OccupantIdentificationType, "IdentificationType", AbstractProperty::ReadWrite);