summaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-05-19 14:07:38 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-05-19 16:19:08 +0200
commit5412b6a4cd9e08b742035dddace225c9bbf5a203 (patch)
treea325fc7d6a189d970a37007f8d6cbd02813a2c3d /CAN-binder/low-can-binding
parente4a50a3e96aa39346ad7212cae984524276973dd (diff)
Set parent from configuration_generated objects.
Change-Id: I8f07084c6364347ebad3e029b89aeef93129cce3 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'CAN-binder/low-can-binding')
-rw-r--r--CAN-binder/low-can-binding/binding/configuration-generated.cpp22
-rw-r--r--CAN-binder/low-can-binding/can/can-message-definition.cpp7
-rw-r--r--CAN-binder/low-can-binding/can/can-message-set.cpp12
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 ad31c455..bce469e5 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 256af888..a9ee20c5 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 1e352d9a..dcb859d5 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()