Be able to return index or can bus name.
[apps/agl-service-can-low-level.git] / CAN-binder / low-can-binding / can / can-message-set.hpp
index 94e2d8d..9555d00 100644 (file)
 
 #include <cstdint>
 #include <string>
+#include <vector>
+#include <memory>
+
+#include "can-message-definition.hpp"
+
+class can_signal_t;
 
 /// @brief A parent wrapper for a particular set of CAN messages and associated
 /// CAN buses(e.g. a vehicle or program).
@@ -28,20 +34,14 @@ class can_message_set_t
 private:
        uint8_t index_; /// < A numerical ID for the message set, ideally the index in an array for fast lookup
        const std::string name_; /// < The name of the message set.
-       uint8_t can_bus_count_; /// < The number of CAN buses defined for this message set.
-       uint16_t can_message_count_; /// < The number of CAN messages (across all buses) defined for this message set.
-       uint16_t can_signal_count_; /// < The number of CAN signals (across all messages) defined for this message set.
-       uint16_t can_command_count_; /// < The number of CanCommmands defined for this message set.
-       uint16_t obd2_signal_count_; /// < The number of obd2 signals defined for this message set.
+       std::vector<std::shared_ptr<can_message_definition_t> > can_messages_definition_; ///< Vector holding all message definition handled by this message set.
 
 public:
        can_message_set_t(
                        uint8_t index,
                        const std::string& name,
-                       uint8_t can_bus_count,
-                       short unsigned int can_message_count,
-                       short unsigned int can_signal_count,
-                       short unsigned int can_command_count,
-                       short unsigned int obd2_signal_count);
+                       std::vector<std::shared_ptr<can_message_definition_t> > can_messages_definition);
 
+       std::vector<std::shared_ptr<can_message_definition_t> > get_can_message_definition();
+       std::vector<std::shared_ptr<can_signal_t> > get_can_signals() const;
 };