#include "can-message-definition.hpp"
+#include "../binding/application.hpp"
+
can_message_definition_t::can_message_definition_t(const std::string bus)
: parent_{nullptr}, bus_{bus}, last_value_{CAN_MESSAGE_SIZE}
{}
can_message_format_t format,
frequency_clock_t frequency_clock,
bool force_send_changed,
- std::vector<std::shared_ptr<can_signal_t> > can_signals)
+ const std::vector<std::shared_ptr<can_signal_t> >& can_signals)
: parent_{nullptr},
bus_{bus},
id_{id},
frequency_clock_{frequency_clock},
force_send_changed_{force_send_changed},
last_value_{CAN_MESSAGE_SIZE},
- can_signals_{std::move(can_signals)}
+ can_signals_{can_signals}
+{}
+
+const std::string can_message_definition_t::get_bus_name() const
{
- for(auto& sig: can_signals_)
- {
- sig->set_parent(std::make_shared<can_signal_t>(this));
- }
+ return bus_;
}
-/*can_message_definition_t(const can_message_definition_t& b)
- : parent_{b.parent_},
- bus_{b.bus_},
- id_{b.id_},
- format_{b.format_},
- frequency_clock_{b.frequency_clock_},
- force_send_changed_{b.force_send_changed_},
- last_value_{b.last_value_},
- can_signals_{b.can_signals_}
- {}*/
-
-const std::string& can_message_definition_t::get_bus_name() const
+const std::string can_message_definition_t::get_bus_device_name() const
{
- return bus_;
+ return application_t::instance().get_can_bus_manager()
+ .get_can_device_name(bus_);
}
uint32_t can_message_definition_t::get_id() const
return id_;
}
-std::vector<std::shared_ptr<can_signal_t> > can_message_definition_t::get_can_signals()
+std::vector<std::shared_ptr<can_signal_t> >& can_message_definition_t::get_can_signals()
{
return can_signals_;
}
-void can_message_definition_t::set_parent(std::shared_ptr<can_message_set_t> parent)
+void can_message_definition_t::set_parent(can_message_set_t* parent)
{
parent_= parent;
}