X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fcan-message-set.cpp;h=a5cf8819f2f1cb2ee78488875cab08fdbdeef1a0;hb=2eb313e5330dbfa1b6eab146b3698d8ffe054347;hp=a9f8cf23f1259b8c54dbe80bf0bd1ba33e086300;hpb=9e444ade872bc436cf12bc12d03c3a5d51ac0b9e;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/can/can-message-set.cpp b/low-can-binding/can/can-message-set.cpp index a9f8cf23..a5cf8819 100644 --- a/low-can-binding/can/can-message-set.cpp +++ b/low-can-binding/can/can-message-set.cpp @@ -18,20 +18,42 @@ #include "can-message-set.hpp" +#include "../can/can-message-definition.hpp" + can_message_set_t::can_message_set_t( uint8_t index, const std::string& name, - uint8_t can_bus_count, - unsigned short can_message_count, - unsigned short can_signal_count, - unsigned short can_command_count, - unsigned short obd2_signal_count) + const std::vector >& can_messages_definition, + const std::vector >& diagnostic_messages) : index_{index} , name_{name} - , can_bus_count_{can_bus_count} - , can_message_count_{can_message_count} - , can_signal_count_{can_signal_count} - , can_command_count_{can_command_count} - , obd2_signal_count_{obd2_signal_count} + , can_messages_definition_{can_messages_definition} + , diagnostic_messages_{diagnostic_messages} +{} + +/// @brief Returns a vector holding all message definitions which are handled by this message set. +std::vector >& can_message_set_t::get_can_message_definition() +{ + return can_messages_definition_; +} + +std::vector > can_message_set_t::get_all_can_signals() const { + std::vector > can_signals; + for(const auto& cmd: can_messages_definition_) + { + std::vector >& cmd_signals = cmd->get_can_signals(); + can_signals.insert( can_signals.end(), + cmd_signals.begin(), + cmd_signals.end() + ); + } + + return can_signals; } + +/// @brief Returns a vector holding all diagnostic message definitions which are handled by this message set. +std::vector >& can_message_set_t::get_diagnostic_messages() +{ + return diagnostic_messages_; +} \ No newline at end of file