diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-09 11:57:35 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-16 17:10:40 +0100 |
commit | 62d76aeac93109b75539eb600d05d814f477fa19 (patch) | |
tree | 66a913557c18313fdd2383f2304c69872aa7b0db | |
parent | 72305e67ee45ba6b56bca48b17303bf0322a8209 (diff) |
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 <romain.forlot@iot.bzh>
-rw-r--r-- | src/diagnostic/diagnostic-manager.cpp | 5 | ||||
-rw-r--r-- | src/diagnostic/diagnostic-manager.hpp | 4 |
2 files changed, 7 insertions, 2 deletions
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<active_diagnostic_request_t> 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, |