Better to use shared_ptr instead of raw pointer if possible.
Bug-AGL: SPEC-2386
Change-Id: Id853d8ac6cddd1e53edd84e3bf27b0f1f5d92d4b
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
std::vector<std::shared_ptr<diagnostic_message_t> >& diagnostic_messages = cms->get_diagnostic_messages();
for(auto& dm : diagnostic_messages)
{
std::vector<std::shared_ptr<diagnostic_message_t> >& diagnostic_messages = cms->get_diagnostic_messages();
for(auto& dm : diagnostic_messages)
{
- dm->set_parent(cms.get());
-void diagnostic_message_t::set_parent(can_message_set_t* parent)
+void diagnostic_message_t::set_parent(std::shared_ptr<can_message_set_t> parent)
-class can_message_set_t;
/// @brief - A representation of an OBD-II PID Mode 01 (Note : An OBD-II PID mode 01 contains only one information).
class diagnostic_message_t
{
private:
/// @brief - A representation of an OBD-II PID Mode 01 (Note : An OBD-II PID mode 01 contains only one information).
class diagnostic_message_t
{
private:
- can_message_set_t* parent_; /*!< parent_ - Pointer to the CAN message set holding this diagnostic message */
+ std::shared_ptr<can_message_set_t> parent_; /*!< parent_ - Pointer to the CAN message set holding this diagnostic message */
uint8_t pid_; /*!< pid_ - The 1 byte PID.*/
std::string generic_name_; /*!< generic_name_ - A human readable name to use for this PID when published.*/
int min_; /*!< min_ - Minimum value that can take this pid */
uint8_t pid_; /*!< pid_ - The 1 byte PID.*/
std::string generic_name_; /*!< generic_name_ - A human readable name to use for this PID when published.*/
int min_; /*!< min_ - Minimum value that can take this pid */
void set_timestamp(uint64_t timestamp);
void set_supported(bool value);
void set_timestamp(uint64_t timestamp);
void set_supported(bool value);
- void set_parent(can_message_set_t* parent);
+ void set_parent(std::shared_ptr<can_message_set_t> parent);
const DiagnosticRequest build_diagnostic_request() const;
bool is_obd2_response(const can_message_t& can_message);
const DiagnosticRequest build_diagnostic_request() const;
bool is_obd2_response(const can_message_t& can_message);