X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fmessage-set.hpp;h=68fc38596d22251062e0abd0e01d0221430b9d5a;hb=9b17d0359dedbf92de95c1150f7e576d58e0331c;hp=4af97fa6683a31a008e7490a56af6a8a7f36d675;hpb=2f60d294b3fa4e243fa67a738f9b82a0b428a7fc;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/can/message-set.hpp b/low-can-binding/can/message-set.hpp index 4af97fa6..68fc3859 100644 --- a/low-can-binding/can/message-set.hpp +++ b/low-can-binding/can/message-set.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" * @@ -27,6 +27,10 @@ class signal_t; class message_definition_t; class diagnostic_message_t; +typedef std::vector> vect_ptr_signal_t; +typedef std::vector> vect_ptr_msg_def_t; +typedef std::vector> vect_ptr_diag_msg_t; + /// @brief A parent wrapper for a particular set of CAN messages and diagnostic messages /// (e.g. a vehicle or program). class message_set_t @@ -34,17 +38,22 @@ class message_set_t private: uint8_t index_; /// < A numerical ID for the message set, ideally the index is in an array for fast lookup const std::string name_; /// < The name of the message set. - std::vector > messages_definition_; ///< Vector holding all message definitions handled by the message set. - std::vector > diagnostic_messages_; ///< Vector holding all diagnostics messages from JSON signals description file. First vector map to message set + vect_ptr_msg_def_t messages_definition_; ///< Vector holding all message definitions handled by the message set. + vect_ptr_diag_msg_t diagnostic_messages_; ///< Vector holding all diagnostics messages from JSON signals description file. First vector map to message set public: message_set_t( uint8_t index, const std::string& name, - const std::vector >& messages_definition, - const std::vector >& diagnostic_messages); + const vect_ptr_msg_def_t& messages_definition, + const vect_ptr_diag_msg_t& diagnostic_messages); + + int add_message_definition(std::shared_ptr msg_def); + int add_diagnostic_message(std::shared_ptr diag_msg); + + vect_ptr_msg_def_t& get_messages_definition(); + vect_ptr_signal_t get_all_signals() const; + vect_ptr_diag_msg_t& get_diagnostic_messages(); - std::vector>& get_messages_definition(); - std::vector> get_all_signals() const; - std::vector>& get_diagnostic_messages(); + uint8_t get_index() const; };