automotive-message-broker  0.14.803
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
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 
11 {
12 public:
13  OdometerProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
14  :DBusSink("Odometer", re, connection, map<string, string>())
15  {
21  wantPropertyVariant(VehicleProperty::Odometer, "Odometer", VariantType::Read);
22 
23  wantPropertyVariant(VehicleProperty::DistanceTotal, "DistanceTotal", VariantType::Read);
24  wantPropertyVariant(VehicleProperty::DistanceSinceStart, "DistanceSinceStart", VariantType::Read);
25  }
26 };
27 
30 class FluidProperty : public DBusSink
31 {
32 public:
33  FluidProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
34  :DBusSink("Fluid", re, connection, map<string, string>())
35  {
36  wantPropertyVariant(VehicleProperty::TransmissionFluidLevel, "Transmission", VariantType::Read);
37  }
38 };
39 
42 {
43 public:
44  BatteryStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
45  :DBusSink("BatteryStatus", re, connection, map<string, string>())
46  {
47  wantPropertyVariant(VehicleProperty::BatteryVoltage, "Voltage", VariantType::Read);
48  wantPropertyVariant(VehicleProperty::BatteryCurrent, "Current", VariantType::Read);
49  wantPropertyVariant(VehicleProperty::BatteryChargeLevel, "ChargeLevel", VariantType::Read);
50  }
51 };
52 
54 class TireProperty: public DBusSink
55 {
56 public:
57  TireProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
58  :DBusSink("Tire", re, connection, map<string, string>())
59  {
60  wantPropertyVariant(VehicleProperty::TirePressure, "Pressure", VariantType::Read);
61  wantPropertyVariant(VehicleProperty::TirePressureLow, "PressureLow", VariantType::Read);
62  wantPropertyVariant(VehicleProperty::TireTemperature, "Temperature", VariantType::Read);
63  }
64 };
65 
66 
67 class EngineCoolant: public DBusSink
68 {
69 public:
70  EngineCoolant(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
71  :DBusSink("EngineCoolant", re, connection, map<string, string>())
72  {
73  wantPropertyVariant(VehicleProperty::EngineCoolantLevel, "Level", VariantType::Read);
74  wantPropertyVariant(VehicleProperty::EngineCoolantTemperature, "Temperature", VariantType::Read);
75  }
76 };
77 
79 {
80 public:
81  TransmissionOil(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
82  :DBusSink("TransmissionOil", re, connection, map<string, string>())
83  {
84  wantPropertyVariant(VehicleProperty::TransmissionOilWear, "Wear", VariantType::Read);
85  wantPropertyVariant(VehicleProperty::TransmissionOilTemperature, "Temperature", VariantType::Read);
86  }
87 };
88 
90 {
91 public:
92  TransmissionClutch(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
93  :DBusSink("TransmissionClutch", re, connection, map<string, string>())
94  {
95  wantPropertyVariant(VehicleProperty::TransmissionClutchWear, "Wear", VariantType::Read);
96  }
97 };
98 
100 {
101 public:
102  BrakeMaintenance(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
103  :DBusSink("BrakeMaintenance", re, connection, map<string, string>())
104  {
105  wantPropertyVariant(VehicleProperty::BrakePadWear, "PadWear", VariantType::Read);
106  wantPropertyVariant(VehicleProperty::BrakeFluidLevel, "FluidLevel", VariantType::Read);
107  wantPropertyVariant(VehicleProperty::BrakeFluidLevelLow, "FluidLevelLow", VariantType::Read);
108  }
109 };
110 
111 class WasherFluid: public DBusSink
112 {
113 public:
114  WasherFluid(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
115  :DBusSink("WasherFluid", re, connection, map<string, string>())
116  {
117  wantPropertyVariant(VehicleProperty::WasherFluidLevel, "Level", VariantType::Read);
118  wantPropertyVariant(VehicleProperty::WasherFluidLevelLow, "LevelLow", VariantType::Read);
119  }
120 };
121 
123 {
124 public:
125  MalfunctionIndicator(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
126  :DBusSink("MalfunctionIndicator", re, connection, map<string, string>())
127  {
128  wantPropertyVariant(VehicleProperty::MalfunctionIndicatorOn, "On", VariantType::Read);
129  }
130 };
131 
132 class Diagnostics: public DBusSink
133 {
134 public:
135  Diagnostics(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
136  :DBusSink("Diagnostic", re, connection, map<string, string>())
137  {
138  wantPropertyVariant(VehicleProperty::AccumulatedEngineRuntime, "AccumulatedEngineRuntime", VariantType::Read);
139  wantPropertyVariant(VehicleProperty::DistanceWithMILOn, "DistanceWithMILOn", VariantType::Read);
140  wantPropertyVariant(VehicleProperty::DistanceSinceCodeCleared, "DistanceSinceCodeCleared", VariantType::Read);
141  wantPropertyVariant(VehicleProperty::TimeRunMILOn, "TimeRunMILOn", VariantType::Read);
142  wantPropertyVariant(VehicleProperty::TimeTroubleCodeClear, "TimeTroubleCodeClear", VariantType::Read);
143  }
144 };
145 
146 #endif