X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fcan-bus.hpp;h=88b1dd4ed3aadecd2c6ff225a997f5c34cb07e27;hb=refs%2Ftags%2Fmarlin_12.90.1;hp=2a798ca6a29406f8df98e34f315ad6919cfdbaeb;hpb=d2d2620bbb8f0aad0181e67e9f6affc3d6cb4a51;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/can/can-bus.hpp b/low-can-binding/can/can-bus.hpp index 2a798ca6..88b1dd4e 100644 --- a/low-can-binding/can/can-bus.hpp +++ b/low-can-binding/can/can-bus.hpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015, 2016, 2017 "IoT.bzh" + * Copyright (C) 2015, 2016, 2017, 2018, 2019 "IoT\.bzh" * Author "Romain Forlot" * Author "Loïc Collignon" * @@ -26,7 +26,6 @@ #include #include "openxc.pb.h" #include "message/can-message.hpp" -#include "../utils/config-parser.hpp" #include "../binding/low-can-subscription.hpp" #define CAN_ACTIVE_TIMEOUT_S 30 @@ -43,11 +42,9 @@ class diagnostic_manager_t; class can_bus_t { private: - utils::config_parser_t conf_file_; ///< configuration file handle used to initialize can_bus_dev_t objects. - bool apply_filter(const openxc_VehicleMessage& vehicle_message, std::shared_ptr can_subscription); - void process_signals(const message_t& message, std::map >& s); - void process_diagnostic_signals(diagnostic_manager_t& manager, std::shared_ptr message, std::map >& s); + void process_signals(std::shared_ptr message, map_subscription& s); + void process_diagnostic_signals(diagnostic_manager_t& manager, std::shared_ptr can_message, map_subscription& s); void can_decode_message(); std::thread th_decoding_; ///< thread that will handle decoding a can frame @@ -68,11 +65,13 @@ private: std::vector > can_devices_mapping_; ///< can_devices_mapping_ - holds a mapping between logical CAN devices names and linux CAN devices names. public: - explicit can_bus_t(utils::config_parser_t conf_file); + explicit can_bus_t(); can_bus_t(can_bus_t&&); ~can_bus_t(); - void set_can_devices(); + void set_can_devices(json_object *mapping); + void set_can_devices(const std::vector >& mapping); + int get_can_device_index(const std::string& bus_name) const; const std::string get_can_device_name(const std::string& id_name) const;