diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-05-19 14:07:38 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-05-19 16:19:08 +0200 |
commit | 5412b6a4cd9e08b742035dddace225c9bbf5a203 (patch) | |
tree | a325fc7d6a189d970a37007f8d6cbd02813a2c3d /CAN-binder | |
parent | e4a50a3e96aa39346ad7212cae984524276973dd (diff) |
Set parent from configuration_generated objects.
Change-Id: I8f07084c6364347ebad3e029b89aeef93129cce3
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder')
3 files changed, 23 insertions, 18 deletions
diff --git a/CAN-binder/low-can-binding/binding/configuration-generated.cpp b/CAN-binder/low-can-binding/binding/configuration-generated.cpp index ad31c45..bce469e 100644 --- a/CAN-binder/low-can-binding/binding/configuration-generated.cpp +++ b/CAN-binder/low-can-binding/binding/configuration-generated.cpp @@ -456,7 +456,27 @@ configuration_t::configuration_t() } // end diagnostic_messages_ vector })} // end can_message_set entry } // end can_message_set vector -{} +{ + for(auto& cms: can_message_set_) + { + std::vector<std::shared_ptr<can_message_definition_t> >& can_messages_definition = cms->get_can_message_definition(); + for(auto& cmd : can_messages_definition) + { + cmd->set_parent(cms.get()); + std::vector<std::shared_ptr<can_signal_t> >& can_signals = cmd->get_can_signals(); + for(auto& sig: can_signals) + { + sig->set_parent(cmd.get()); + } + } + + std::vector<std::shared_ptr<diagnostic_message_t> >& diagnostic_messages = cms->get_diagnostic_messages(); + for(auto& dm : diagnostic_messages) + { + dm->set_parent(cms.get()); + } + } +} const std::string configuration_t::get_diagnostic_bus() const { diff --git a/CAN-binder/low-can-binding/can/can-message-definition.cpp b/CAN-binder/low-can-binding/can/can-message-definition.cpp index 256af88..a9ee20c 100644 --- a/CAN-binder/low-can-binding/can/can-message-definition.cpp +++ b/CAN-binder/low-can-binding/can/can-message-definition.cpp @@ -64,12 +64,7 @@ can_message_definition_t::can_message_definition_t( force_send_changed_{force_send_changed}, last_value_{CAN_MESSAGE_SIZE}, can_signals_{std::move(can_signals)} -{ - for(auto& sig: can_signals_) - { - sig->set_parent(this); - } -} +{} const std::string can_message_definition_t::get_bus_name() const { 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 1e352d9..dcb859d 100644 --- a/CAN-binder/low-can-binding/can/can-message-set.cpp +++ b/CAN-binder/low-can-binding/can/can-message-set.cpp @@ -29,17 +29,7 @@ can_message_set_t::can_message_set_t( , name_{name} , can_messages_definition_{std::move(can_messages_definition)} , diagnostic_messages_{std::move(diagnostic_messages)} -{ - for(auto& cmd : can_messages_definition_) - { - cmd->set_parent(this); - } - - for(auto& dm : diagnostic_messages_) - { - dm->set_parent(this); - } -} +{} /// @brief Return vector holding all message definition handled by this message set. std::vector<std::shared_ptr<can_message_definition_t> >& can_message_set_t::get_can_message_definition() |