X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fconfiguration.hpp;h=82bcbc7f44bece1f0377edeeb7a858aa3e80a548;hb=2471f77c91357454c7e2449a70ca429d09884965;hp=981e69e413eafcf75ffeefc3f01c36ae811cc8f8;hpb=72305e67ee45ba6b56bca48b17303bf0322a8209;p=apps%2Fagl-service-can-low-level.git diff --git a/src/configuration.hpp b/src/configuration.hpp index 981e69e4..82bcbc7f 100644 --- a/src/configuration.hpp +++ b/src/configuration.hpp @@ -41,18 +41,22 @@ class configuration_t { private: - can_bus_t can_bus_manager_ = can_bus_t(afb_daemon_rootdir_open_locale(binder_interface->daemon, "can_buses.json", O_RDONLY, NULL)); + can_bus_t can_bus_manager_ = can_bus_t(afb_daemon_rootdir_open_locale(binder_interface->daemon, "etc/can_buses.json", O_RDONLY, NULL)); diagnostic_manager_t diagnostic_manager_; uint8_t active_message_set_ = 0; - - public: - configuration_t(); + std::vector signals_prefix_; std::vector can_message_set_; std::vector> can_signals_; std::vector> obd2_signals_; std::vector> can_message_definition_; + /// Private constructor with implementation generated by the AGL generator. + configuration_t(); + + public: + static configuration_t& instance(); + configuration_t& get_configuration() ; can_bus_t& get_can_bus_manager(); @@ -65,10 +69,12 @@ class configuration_t std::vector& get_can_signals(); - const std::vector& get_can_message_definition(); - std::vector& get_obd2_signals(); + const std::vector& get_signals_prefix() const; + + const std::vector& get_can_message_definition(); + uint32_t get_signal_id(obd2_signal_t& sig) const; uint32_t get_signal_id(can_signal_t& sig) const; @@ -85,14 +91,12 @@ class configuration_t /// @param[in] bus A CanBus struct defining the bus's metadata /// @param[in] writable Configure the controller in a writable mode. If false, it will be configured as "listen only" and will not allow writes or even CAN ACKs. /// @param[in] buses An array of all CAN buses. - /// @param[in] busCount The length of the buses array. void pre_initialize(can_bus_dev_t* bus, bool writable, can_bus_dev_t* buses, const int busCount); /// TODO: implement this function as method into can_bus class /// @brief Post-initialize actions made after CAN bus initialization /// @param[in] bus A CanBus struct defining the bus's metadata /// @param[in] writable Configure the controller in a writable mode. If false, it will be configured as "listen only" and will not allow writes or even CAN ACKs. /// @param[in] buses An array of all CAN buses. - /// @param[in] busCount The length of the buses array. void post_initialize(can_bus_dev_t* bus, bool writable, can_bus_dev_t* buses, const int busCount); /// 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. @@ -101,11 +105,6 @@ class configuration_t /// 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. - /// @param[in] busCount The length of the buses array. bool isBusActive(can_bus_dev_t* bus); */ }; - -// Make a global variable pointer -extern configuration_t *config; -