Move global variable to PolicyManager member
[apps/agl-service-windowmanager.git] / src / low_can_client.hpp
index ea441be..3eb654e 100644 (file)
@@ -18,6 +18,7 @@
 #define TMCAGLWM_LOW_CAN_CLIENT_HPP
 
 
+#include <string>
 #include <vector>
 #include <json-c/json.h>
 
@@ -30,14 +31,40 @@ public:
     explicit LowCanClient();
     ~LowCanClient() = default;
 
+    enum SignalNo {
+        SignalNoVehicliSpeed = 0,
+        SignalNoTransGearPos,
+        SignalNoHeadlame,
+        SignalNoParkingBrake,
+        SignalNoAccelPedalPos,
+        SignalNoLightstatusBrake,
+
+        SignalNum,
+
+        SignalNoMin = SignalNoVehicliSpeed,
+        SignalNoMax = SignalNum - 1,
+    };
+
+    const std::vector<const char*> kSignalName{
+        "vehicle.speed",
+        "transmission_gear_position",
+        "headlamp_status",
+        "parking_brake_status",
+        "accelerator.pedal.position",
+        "lightstatus.brake",
+    };
+
     void initialize();
-    void analyzeCanSignal(struct json_object *object);
-    bool isChangedParkingBrakeState();
-    bool isChangedCarState();
-    bool isChangedLampState();
-    const char* getCurrentParkingBrakeState();
-    const char* getCurrentCarState();
-    const char* getCurrentLampState();
+    const char* analyzeCanSignal(struct json_object *object);
+
+    int getCurrentTransGearState();
+    bool getCurrentHeadlampState();
+    bool getCurrentParkingBrakeState();
+    double getCurrentAccelPedalPosition();
+    bool getCurrentAccelPedalState();
+    bool getCurrentLightstatusBrakeState();
+
+    bool isChangedAccelPedalState();
 
 private:
     // Disable copy and move
@@ -46,29 +73,37 @@ private:
     LowCanClient(LowCanClient &&) = delete;
     LowCanClient &operator=(LowCanClient &&) = delete;
 
-    const int kNumEvent_ = 4;
-    const std::vector<const char*> kEventName_{
-        "vehicle.speed",
-        "transmission_gear_position",
-        "headlamp_status",
-        "parking_brake_status"
+    enum TransGearPosVal {
+        TransGearPosValD1 = 1,
+        TransGearPosValD2,
+        TransGearPosValD3,
+        TransGearPosValD4,
+        TransGearPosValD5,
+        TransGearPosValD6,
+        TransGearPosValD7,
+        TransGearPosValD8,
+        TransGearPosValR,
+        TransGearPosValN,
+    };
+
+    const std::vector<const char*> kFilterValue{
+        "", // vehicle.speed
+        "", // transmission_gear_position
+        "", // headlamp_status
+        "", // parking_brake_status
+        "", // accelerator.pedal.position
+        "", // lightstatus.brake
     };
 
-    int vehicle_speed_;
-    int trans_gear_pos_;
-    json_bool parking_brake_status_;
-    json_bool headlamp_status_;
-
-    std::string prv_parking_brake_state_;
-    std::string crr_parking_brake_state_;
-    std::string prv_car_state_;
-    std::string crr_car_state_;
-    std::string prv_lamp_state_;
-    std::string crr_lamp_state_;
-
-    bool is_changed_parking_brake_state_;
-    bool is_changed_car_state_;
-    bool is_changed_lamp_state_;
+    int vehicle_speed;
+    int trans_gear_pos;
+    json_bool headlamp_status;
+    json_bool parking_brake_status;
+    double accel_pedal_pos;
+    bool accel_pedal_stt;
+    json_bool lightstatus_brake_status;
+
+    bool is_changed_accel_pedal_stt;
 };
 
 } // namespace wm