X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fbinding%2Fapplication.hpp;h=c445c899ce841329da98976d38c9725ee88cf8f1;hb=HEAD;hp=b73ace7103efcbf5266c63e3aa522d7a76a8fb83;hpb=0ccfb70f9122ea73ff198f3000cf11be12bcc9d2;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 b73ace71..c445c899 100644 --- a/low-can-binding/binding/application.hpp +++ b/low-can-binding/binding/application.hpp @@ -26,6 +26,10 @@ #include "../can/message-set.hpp" #include "../can/signals.hpp" #include "../diagnostic/diagnostic-manager.hpp" +#ifdef USE_FEATURE_J1939 + #include "../utils/socketcan-j1939/socketcan-j1939-data.hpp" + #include "../utils/socketcan-j1939/socketcan-j1939-addressclaiming.hpp" +#endif /// /// @brief Class represents a configuration attached to the binding. @@ -48,8 +52,12 @@ class application_t 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. - +#ifdef USE_FEATURE_J1939 + std::shared_ptr subscription_address_claiming_; ///< Subscription holding the socketcan J1939 which is in charge of handling the address claiming protocol + //std::shared_ptr socket_address_claiming_; +#endif application_t(); ///< Private constructor with implementation generated by the AGL generator. + void set_parents(std::shared_ptr new_message_set); public: static application_t& instance(); @@ -58,21 +66,21 @@ class application_t 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; + int add_message_set(std::shared_ptr new_message_set); + std::vector > get_message_set(); - std::vector > get_all_signals(); + vect_ptr_signal_t get_all_signals(); - std::vector > get_diagnostic_messages(); + vect_ptr_diag_msg_t get_diagnostic_messages(); const std::vector& get_signals_prefix() const; - std::vector > get_messages_definition(); + vect_ptr_msg_def_t get_messages_definition(); std::shared_ptr get_message_definition(uint32_t id); @@ -80,10 +88,17 @@ class application_t uint32_t get_signal_id(signal_t& sig) const; - bool isEngineOn(); + bool is_engine_on(); void set_active_message_set(uint8_t id); +#ifdef USE_FEATURE_J1939 + std::shared_ptr get_socket_address_claiming(); + + std::shared_ptr get_subscription_address_claiming(); + + void set_subscription_address_claiming(std::shared_ptr new_subscription); +#endif /* /// TODO: implement this function as method into can_bus class /// @brief Pre initialize actions made before CAN bus initialization @@ -103,4 +118,3 @@ class application_t bool isBusActive(can_bus_dev_t* bus); */ }; -