1 #ifndef _MAINTENANCE_H_
2 #define _MAINTENANCE_H_
5 #include "dbusplugin.h"
6 #include "abstractdbusinterface.h"
7 #include "abstractroutingengine.h"
9 /** @interface Odometer : VehiclePropertyType **/
10 class OdometerProperty: public DBusSink
13 OdometerProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
14 :DBusSink("Odometer", re, connection, map<string, string>())
16 /** @attributeName Odometer
19 * @attributeComment \brief MUST return Distance traveled in km
21 wantPropertyVariant(VehicleProperty::Odometer, "Odometer", VariantType::Read);
23 wantPropertyVariant(VehicleProperty::DistanceTotal, "DistanceTotal", VariantType::Read);
24 wantPropertyVariant(VehicleProperty::DistanceSinceStart, "DistanceSinceStart", VariantType::Read);
28 /** @interface Fluid : VehiclePropertyType **/
30 class FluidProperty : public DBusSink
33 FluidProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
34 :DBusSink("Fluid", re, connection, map<string, string>())
36 wantPropertyVariant(VehicleProperty::TransmissionFluidLevel, "Transmission", VariantType::Read);
40 /** @interface Battery : VehiclePropertyType **/
41 class BatteryStatusProperty: public DBusSink
44 BatteryStatusProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
45 :DBusSink("BatteryStatus", re, connection, map<string, string>())
47 wantPropertyVariant(VehicleProperty::BatteryVoltage, "Voltage", VariantType::Read);
48 wantPropertyVariant(VehicleProperty::BatteryCurrent, "Current", VariantType::Read);
49 wantPropertyVariant(VehicleProperty::BatteryChargeLevel, "ChargeLevel", VariantType::Read);
53 /** @interface TirePressure : VehiclePropertyType **/
54 class TireProperty: public DBusSink
57 TireProperty(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
58 :DBusSink("Tire", re, connection, map<string, string>())
60 wantPropertyVariant(VehicleProperty::TirePressure, "Pressure", VariantType::Read);
61 wantPropertyVariant(VehicleProperty::TirePressureLow, "PressureLow", VariantType::Read);
62 wantPropertyVariant(VehicleProperty::TireTemperature, "Temperature", VariantType::Read);
67 class EngineCoolant: public DBusSink
70 EngineCoolant(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
71 :DBusSink("EngineCoolant", re, connection, map<string, string>())
73 wantPropertyVariant(VehicleProperty::EngineCoolantLevel, "Level", VariantType::Read);
74 wantPropertyVariant(VehicleProperty::EngineCoolantTemperature, "Temperature", VariantType::Read);
78 class TransmissionOil: public DBusSink
81 TransmissionOil(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
82 :DBusSink("TransmissionOil", re, connection, map<string, string>())
84 wantPropertyVariant(VehicleProperty::TransmissionOilWear, "Wear", VariantType::Read);
85 wantPropertyVariant(VehicleProperty::TransmissionOilTemperature, "Temperature", VariantType::Read);
89 class TransmissionClutch: public DBusSink
92 TransmissionClutch(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
93 :DBusSink("TransmissionClutch", re, connection, map<string, string>())
95 wantPropertyVariant(VehicleProperty::TransmissionClutchWear, "Wear", VariantType::Read);
99 class BrakeMaintenance: public DBusSink
102 BrakeMaintenance(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
103 :DBusSink("BrakeMaintenance", re, connection, map<string, string>())
105 wantPropertyVariant(VehicleProperty::BrakePadWear, "PadWear", VariantType::Read);
106 wantPropertyVariant(VehicleProperty::BrakeFluidLevel, "FluidLevel", VariantType::Read);
107 wantPropertyVariant(VehicleProperty::BrakeFluidLevelLow, "FluidLevelLow", VariantType::Read);
111 class WasherFluid: public DBusSink
114 WasherFluid(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
115 :DBusSink("WasherFluid", re, connection, map<string, string>())
117 wantPropertyVariant(VehicleProperty::WasherFluidLevel, "Level", VariantType::Read);
118 wantPropertyVariant(VehicleProperty::WasherFluidLevelLow, "LevelLow", VariantType::Read);
122 class MalfunctionIndicator: public DBusSink
125 MalfunctionIndicator(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
126 :DBusSink("MalfunctionIndicator", re, connection, map<string, string>())
128 wantPropertyVariant(VehicleProperty::MalfunctionIndicatorOn, "On", VariantType::Read);
132 class Diagnostics: public DBusSink
135 Diagnostics(VehicleProperty::Property, AbstractRoutingEngine* re, GDBusConnection* connection)
136 :DBusSink("Diagnostics", re, connection, map<string, string>())
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);