X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fbinding%2Fapplication.hpp;h=b73ace7103efcbf5266c63e3aa522d7a76a8fb83;hb=8c0a3d45ca37f710100afab065b07e82682dc1ef;hp=5fa647827c84949caa05369a97aee8462365e544;hpb=32e25cbca210a359b09768537b6f443fe90a3070;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/binding/application.hpp b/low-can-binding/binding/application.hpp index 5fa64782..b73ace71 100644 --- a/low-can-binding/binding/application.hpp +++ b/low-can-binding/binding/application.hpp @@ -23,19 +23,17 @@ #include #include "../can/can-bus.hpp" -#include "../can/can-message-set.hpp" -#include "../can/can-signals.hpp" +#include "../can/message-set.hpp" +#include "../can/signals.hpp" #include "../diagnostic/diagnostic-manager.hpp" -#include "low-can-hat.hpp" - /// -/// @brief Class representing a configuration attached to the binding. +/// @brief Class represents a configuration attached to the binding. /// -/// It regroups all needed objects instance from other class -/// that will be used along the binding life. It gets a global vision -/// on which signals are implemented for that binding. -/// Here, it is only the definition of the class with predefined accessors +/// It regroups all object instances from other classes +/// that will be used through the binding life. It receives a global vision +/// on which signals are implemented for that binding. +/// Here, only the definition of the class is given with predefined accessors /// methods used in the binding. /// /// It will be the reference point to needed objects. @@ -43,11 +41,13 @@ class application_t { private: - can_bus_t can_bus_manager_; ///< instanciate the CAN bus manager. It's the one in charge of initialize the CAN bus devices. + can_bus_t can_bus_manager_; ///< instanciate the CAN bus manager. It's responsible of initializing the CAN bus devices. diagnostic_manager_t diagnostic_manager_; ///< Diagnostic manager use to manage diagnostic message communication. uint8_t active_message_set_ = 0; ///< Which is the active message set ? Default to 0. - std::vector > can_message_set_; ///< Vector holding all message set from JSON signals description file + std::vector > message_set_; ///< Vector holding all message set from JSON signals description file + + std::map > can_devices_; ///< Map containing all independant opened CAN sockets, key is the socket int value. application_t(); ///< Private constructor with implementation generated by the AGL generator. @@ -56,25 +56,31 @@ class application_t can_bus_t& get_can_bus_manager(); + std::map >& get_can_devices(); + const std::string get_diagnostic_bus() const; diagnostic_manager_t& get_diagnostic_manager() ; uint8_t get_active_message_set() const; - std::vector > get_can_message_set(); + std::vector > get_message_set(); - std::vector > get_all_can_signals(); + std::vector > get_all_signals(); - std::vector >& get_diagnostic_messages(); + std::vector > get_diagnostic_messages(); const std::vector& get_signals_prefix() const; - std::vector >& get_can_message_definition(); + std::vector > get_messages_definition(); + + std::shared_ptr get_message_definition(uint32_t id); uint32_t get_signal_id(diagnostic_message_t& sig) const; - uint32_t get_signal_id(can_signal_t& sig) const; + uint32_t get_signal_id(signal_t& sig) const; + + bool isEngineOn(); void set_active_message_set(uint8_t id); @@ -94,10 +100,6 @@ class application_t /// TODO: implement this function as method into can_bus class /// @brief Check if the device is connected to an active CAN bus, i.e. it's received a message in the recent past. /// @return true if a message was received on the CAN bus within CAN_ACTIVE_TIMEOUT_S seconds. - void logBusStatistics(can_bus_dev_t* buses, const int busCount); - /// TODO: implement this function as method into can_bus class - /// @brief Log transfer statistics about all active CAN buses to the debug log. - /// @param[in] buses An array of active CAN buses. bool isBusActive(can_bus_dev_t* bus); */ };