From 62d76aeac93109b75539eb600d05d814f477fa19 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Thu, 9 Mar 2017 11:57:35 +0100 Subject: Changing to a raw pointer can_bus_dev member and add a default constructor. It is needed to initialize configuration_t correctly as it allocate a diagnostic manager but do not initialize it unless it is needed later. There is no need to initialize it if we do not send and receive diagnostic requests. Change-Id: I3d52d1ea92454e7b065479a2f0dd54a291ddd991 Signed-off-by: Romain Forlot --- src/diagnostic/diagnostic-manager.cpp | 5 ++++- src/diagnostic/diagnostic-manager.hpp | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/diagnostic') diff --git a/src/diagnostic/diagnostic-manager.cpp b/src/diagnostic/diagnostic-manager.cpp index 4509407..b811eda 100644 --- a/src/diagnostic/diagnostic-manager.cpp +++ b/src/diagnostic/diagnostic-manager.cpp @@ -19,8 +19,11 @@ #include "low-can-binding.hpp" +diagnostic_manager_t::diagnostic_manager_t() +{} + diagnostic_manager_t::diagnostic_manager_t(can_bus_dev_t& bus) - : bus_(bus) + : bus_(&bus) {} void diagnostic_manager_t::shims_logger(const char* m, ...) diff --git a/src/diagnostic/diagnostic-manager.hpp b/src/diagnostic/diagnostic-manager.hpp index 0352120..aab233b 100644 --- a/src/diagnostic/diagnostic-manager.hpp +++ b/src/diagnostic/diagnostic-manager.hpp @@ -45,7 +45,7 @@ protected: private: DiagnosticShims shims_; /*!< shims_ - An array of shim functions for each CAN bus that plug the diagnostics * library (uds-c) into the VI's CAN peripheral.*/ - can_bus_dev_t& bus_; /*!< bus_ - A reference to the CAN bus that should be used for all standard OBD-II requests, if the bus is not + can_bus_dev_t* bus_; /*!< bus_ - A pointer to the CAN bus that should be used for all standard OBD-II requests, if the bus is not * explicitly spcified in the request. If NULL, all requests require an explicit bus.*/ std::queue recurringRequests_; /*!< recurringRequests - A queue of active, recurring diagnostic requests. When * a response is received for a recurring request or it times out, it is @@ -61,7 +61,9 @@ private: bool initialized_; /*!< * initialized - True if the DiagnosticsManager has been initialized with shims. It will interface with the uds-c lib*/ public: + diagnostic_manager_t(); diagnostic_manager_t(can_bus_dev_t& bus); + void init_diagnostic_shims(); void checkSupportedPids(const active_diagnostic_request_t& request, -- cgit 1.2.3-korg