automotive-message-broker  0.14.803
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
drivingsafety.h
1 #ifndef DRIVINGSAFETY_H_
2 #define DRIVINGSAFETY_H_
3 
4 #include "dbusplugin.h"
5 #include "abstractdbusinterface.h"
6 #include "abstractroutingengine.h"
7 
9 {
10 public:
11  AntilockBrakingSystemProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
12  :DBusSink("AntilockBrakingSystem", re, connection, map<string, string>())
13  {
15  wantPropertyVariant(VehicleProperty::AntilockBrakingSystem, "AntilockBrakingSystem", VariantType::Read);
16  wantPropertyVariant(VehicleProperty::AntilockBrakingSystem, "Engaged", VariantType::Read);
17  wantPropertyVariant(VehicleProperty::AntilockBrakingSystemEnabled, "Enabled", VariantType::Read);
18  }
19 };
20 
22 {
23 public:
24  TractionControlSystemProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
25  :DBusSink("TractionControlSystem", re, connection, map<string, string>())
26  {
28  wantPropertyVariant(VehicleProperty::TractionControlSystem, "TractionControlSystem", VariantType::Read);
29  wantPropertyVariant(VehicleProperty::TractionControlSystemEnabled, "Enabled", VariantType::Read);
30  wantPropertyVariant(VehicleProperty::TractionControlSystem, "Engaged", VariantType::Read);
31  }
32 };
33 
34 
36 {
37 public:
38  VehicleTopSpeedLimitProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
39  :DBusSink("VehicleTopSpeedLimit", re, connection, map<string, string>())
40  {
42  wantPropertyVariant(VehicleProperty::VehicleTopSpeedLimit, "VehicleTopSpeedLimit", VariantType::Read);
43  wantPropertyVariant(VehicleProperty::VehicleTopSpeedLimit, "Speed", VariantType::Read);
44  }
45 };
46 
48 {
49 public:
50  AirbagStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
51  :DBusSink("AirbagStatus", re, connection, map<string, string>())
52  {
54  wantPropertyVariant(VehicleProperty::AirbagStatus, "AirbagStatus", VariantType::Read);
55  wantPropertyVariant(VehicleProperty::AirbagActivated, "AirbagActivated", VariantType::Read);
56  wantPropertyVariant(VehicleProperty::AirbagDeployed, "AirbagDeployed", VariantType::Read);
57  }
58 };
59 
62 {
63 public:
64  DoorStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
65  :DBusSink("DoorStatus", re, connection, map<string, string>())
66  {
67 
68  wantPropertyVariant(VehicleProperty::DoorStatus, "DoorStatus", VariantType::Read);
69 
70  wantPropertyVariant(VehicleProperty::DoorLockStatus, "DoorLockStatus", VariantType::Read);
71 
73  wantPropertyVariant(VehicleProperty::ChildLockStatus, "ChildLockStatus", VariantType::Read);
74  }
75 };
76 
77 class DoorProperty: public DBusSink
78 {
79 public:
80  DoorProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
81  :DBusSink("Door", re, connection, map<string, string>())
82  {
83 
84  wantPropertyVariant(VehicleProperty::DoorStatusW3C, "Status", VariantType::Read);
85 
86  wantPropertyVariant(VehicleProperty::DoorLockStatus, "Lock", VariantType::ReadWrite);
87 
89  wantPropertyVariant(VehicleProperty::ChildLockStatus, "ChildLock", VariantType::Read);
90  }
91 };
92 
95 {
96 public:
97  SeatBeltStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
98  :DBusSink("SeatBelt", re, connection, map<string, string>())
99  {
100  wantPropertyVariant(VehicleProperty::SeatBeltStatus, "Status", VariantType::Read);
101  }
102 };
103 
106 {
107 public:
108  OccupantStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
109  :DBusSink("OccupantStatus", re, connection, map<string, string>())
110  {
111  wantPropertyVariant(VehicleProperty::OccupantStatus, "OccupantStatus", VariantType::Read);
112  }
113 };
114 
116 {
117 public:
118  ObstacleDistanceProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
119  :DBusSink("ObstacleDistance", re, connection, map<string, string>())
120  {
121  wantPropertyVariant(VehicleProperty::ObstacleDistance, "ObstacleDistance", VariantType::Read);
122  }
123 };
124 
126 {
127 public:
128  ElectronicStabilityControl(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
129  :DBusSink("ElectronicStabilityControl", re, connection, map<string, string>())
130  {
131  wantPropertyVariant(VehicleProperty::ElectronicStabilityControlEnabled, "Enabled", VariantType::Read);
132  wantPropertyVariant(VehicleProperty::ElectronicStabilityControlEngaged, "Engaged", VariantType::Read);
133  }
134 };
135 
137 {
138 public:
139  ChildSafetyLock(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
140  :DBusSink("ChildSafetyLock", re, connection, map<string, string>())
141  {
142  wantPropertyVariant(VehicleProperty::ChildLockStatus, "Lock", VariantType::ReadWrite);
143  }
144 };
145 
146 class SeatProperty: public DBusSink
147 {
148 public:
149  SeatProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
150  :DBusSink("Seat", re, connection, map<string, string>())
151  {
152  wantPropertyVariant(VehicleProperty::OccupantStatusW3C, "Occupant", VariantType::ReadWrite);
153  wantPropertyVariant(VehicleProperty::SeatBeltStatus, "SeatBelt", VariantType::ReadWrite);
154  wantPropertyVariant(VehicleProperty::OccupantName, "OccupantName", VariantType::ReadWrite);
155  wantPropertyVariant(VehicleProperty::OccupantIdentificationType, "IdentificationType", VariantType::ReadWrite);
156  }
157 };
158 
159 #endif
160