X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fdiagnostic%2Fdiagnostic-message.hpp;h=99c481108feb5f3ef9f7eae5e94ab6f9d03f1796;hb=c16ccc9d6a1de5406ba0e74f757403ac7553b6a8;hp=064904d2cd43d0338dd5f23a008f7f0bdd755e14;hpb=a58d40b5ae336a54408201963b065ee049b43acd;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/diagnostic/diagnostic-message.hpp b/low-can-binding/diagnostic/diagnostic-message.hpp index 064904d2..99c48110 100644 --- a/low-can-binding/diagnostic/diagnostic-message.hpp +++ b/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,11 +39,13 @@ enum UNIT { INVALID }; -/// +class can_message_set_t; + /// @brief - A representation of an OBD-II PID. -/// -class diagnostic_message_t { +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 */ @@ -59,11 +62,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; @@ -71,8 +74,8 @@ class diagnostic_message_t { bool get_supported() const; void set_supported(bool value); - - const DiagnosticRequest build_diagnostic_request(); + void set_parent(can_message_set_t* parent); + const DiagnosticRequest build_diagnostic_request() const; bool is_obd2_response(const can_message_t& can_message); bool is_obd2_request(const DiagnosticRequest *request);