X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=CAN-binder%2Flow-can-binding%2Fdiagnostic%2Fdiagnostic-message.hpp;h=65ed9c025dcb8ec504e9d54a1ebf94c8be1674f3;hb=a1a554bd3dc19580c9b80dc6e4beb6bed4711e53;hp=e49acd90d1ad16cb60b2cc4cdac09008d2787c87;hpb=0242c26c2f5dc96387bca7efb118364c800f4ee7;p=apps%2Fagl-service-can-low-level.git diff --git a/CAN-binder/low-can-binding/diagnostic/diagnostic-message.hpp b/CAN-binder/low-can-binding/diagnostic/diagnostic-message.hpp index e49acd90..65ed9c02 100644 --- a/CAN-binder/low-can-binding/diagnostic/diagnostic-message.hpp +++ b/CAN-binder/low-can-binding/diagnostic/diagnostic-message.hpp @@ -21,6 +21,7 @@ #include #include "uds/uds.h" +#include "../can/can-message-set.hpp" #include "../can/can-message.hpp" #include "active-diagnostic-request.hpp" @@ -38,12 +39,15 @@ enum UNIT { INVALID }; +class can_message_set_t; + /// /// @brief - A representation of an OBD-II PID. /// class diagnostic_message_t { private: + 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 */ @@ -60,11 +64,11 @@ class diagnostic_message_t public: const char* generic_name = generic_name_.c_str(); - diagnostic_message_t(uint8_t pid, const std::string generic_name, const int min, const int max, enum UNIT unit, float frequency, + diagnostic_message_t(uint8_t pid, const std::string& generic_name, const int min, const int max, enum UNIT unit, float frequency, DiagnosticResponseDecoder decoder, DiagnosticResponseCallback callback, bool supported); uint32_t get_pid(); - const std::string& get_generic_name() const; + const std::string get_generic_name() const; const std::string get_name() const; float get_frequency() const; DiagnosticResponseDecoder get_decoder() const; @@ -72,7 +76,7 @@ class diagnostic_message_t bool get_supported() const; void set_supported(bool value); - + void set_parent(can_message_set_t* parent); const DiagnosticRequest build_diagnostic_request(); bool is_obd2_response(const can_message_t& can_message);