X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=CAN-binder%2Flow-can-binding%2Fcan%2Fcan-message-set.cpp;h=0bce918e6c443f27f140e4b6a94417e0ca12bf91;hb=3b08b4b2656dac347c01a012667c29b813f09612;hp=1877f3a2098066b6c8c757dd6c08fe107c8f03ea;hpb=d253ada94487232ccd33b68a69fd44ff7840fab7;p=apps%2Fagl-service-can-low-level.git diff --git a/CAN-binder/low-can-binding/can/can-message-set.cpp b/CAN-binder/low-can-binding/can/can-message-set.cpp index 1877f3a2..0bce918e 100644 --- a/CAN-binder/low-can-binding/can/can-message-set.cpp +++ b/CAN-binder/low-can-binding/can/can-message-set.cpp @@ -18,27 +18,26 @@ #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, - std::vector > can_messages_definition) + std::vector > can_messages_definition, + 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} + , can_messages_definition_{std::move(can_messages_definition)} + , diagnostic_messages_{std::move(diagnostic_messages)} { for(auto& cmd : can_messages_definition_) { - cmd->set_parent(std::make_shared(this)); + cmd->set_parent(this); + } + + for(auto& dm : diagnostic_messages_) + { + dm->set_parent(this); } } @@ -50,14 +49,20 @@ std::vector > can_message_set_t::get_c std::vector > can_message_set_t::get_can_signals() const { - std::vector > can_signals(can_signal_count_); + 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->get_can_signals().begin(), - cmd->get_can_signals().end() + cmd_signals.begin(), + cmd_signals.end() ); } return can_signals; +} + +std::vector > can_message_set_t::get_diagnostic_messages() +{ + return diagnostic_messages_; } \ No newline at end of file