Improve objects construction.
[apps/agl-service-can-low-level.git] / CAN-binder / low-can-binding / can / can-message-definition.hpp
index 87c48ac..a9acd4a 100644 (file)
@@ -30,6 +30,7 @@
 
 #include "can-signals.hpp"
 #include "can-message.hpp"
+#include "can-message-set.hpp"
 #include "../utils/timer.hpp"
 
 class can_message_set_t;
@@ -37,7 +38,7 @@ class can_message_set_t;
 class can_message_definition_t
 {
 private:
-       std::shared_ptr<can_message_set_t> parent_; /*!< parent_ - Pointer to the CAN message set holding this CAN message definition */
+       can_message_set_t* parent_; /*!< parent_ - Pointer to the CAN message set holding this CAN message definition */
        std::string bus_; /*!< bus_ - Address of CAN bus device. */
        uint32_t id_; /*!< id_ - The ID of the message.*/
        can_message_format_t format_; /*!< format_ - the format of the message's ID.*/
@@ -53,15 +54,15 @@ private:
 
 public:
        //can_message_definition_t(const can_message_definition_t& b);
-       can_message_definition_t(const std::string bus);
-       can_message_definition_t(const std::string bus, uint32_t id, frequency_clock_t frequency_clock, bool force_send_changed);
-       can_message_definition_t(const std::string bus, uint32_t id, can_message_format_t format, frequency_clock_t frequency_clock, bool force_send_changed);
-       can_message_definition_t(const std::string bus, uint32_t id, can_message_format_t format, frequency_clock_t frequency_clock, bool force_send_changed, std::vector<std::shared_ptr<can_signal_t> > can_signals);
+       can_message_definition_t(const std::string& bus);
+       can_message_definition_t(const std::string& bus, uint32_t id, frequency_clock_t frequency_clock, bool force_send_changed);
+       can_message_definition_t(const std::string& bus, uint32_t id, can_message_format_t format, frequency_clock_t frequency_clock, bool force_send_changed);
+       can_message_definition_t(const std::string& bus, uint32_t id, 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::string& get_bus_name() const;
+       const std::string get_bus_name() const;
        uint32_t get_id() const;
-       std::vector<std::shared_ptr<can_signal_t> > get_can_signals();
+       std::vector<std::shared_ptr<can_signal_t> >& get_can_signals();
 
-       void set_parent(std::shared_ptr<can_message_set_t> parent);
+       void set_parent(can_message_set_t* parent);
        void set_last_value(const can_message_t& cm);
 };