diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-15 13:04:42 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-16 17:21:57 +0100 |
commit | 1d464d2a7380248b04c3e734ed5c6e84bbf53ddf (patch) | |
tree | c75ef10c1a45477f4597e4edd97d0a7fc16a4447 /src/diagnostic/diagnostic-manager.hpp | |
parent | 56c22348d3af944b68bc7395553b9f8b1a817ba6 (diff) |
Revert accessing CAN device with a map indexing on dev name
Main reason for that behavior revert is because of generator that rely
on CAN device name and so we have point on these object by specify the
device name.
Instead of shared pointer between objects, instead binding is based on
device name. With a device name you can get the shared pointer on it using
new static method from can_bus_t object.
Change-Id: I331e0ad8d03c88a15c697d12a9fce3699b0cd962
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'src/diagnostic/diagnostic-manager.hpp')
-rw-r--r-- | src/diagnostic/diagnostic-manager.hpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/diagnostic/diagnostic-manager.hpp b/src/diagnostic/diagnostic-manager.hpp index 71662ba1..ff055d54 100644 --- a/src/diagnostic/diagnostic-manager.hpp +++ b/src/diagnostic/diagnostic-manager.hpp @@ -18,6 +18,7 @@ #pragma once #include <systemd/sd-event.h> +#include <map> #include <vector> #include "uds/uds.h" @@ -49,10 +50,10 @@ protected: static void shims_timer(); 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.*/ - std::shared_ptr<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.*/ + DiagnosticShims shims_; /*!< shims_ - A map of shim functions for each CAN bus that plug the diagnostics + * library (uds-c) into the VI's CAN peripheral.*/ + std::string 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. Default to the first bus CAN at initialization.*/ std::vector<active_diagnostic_request_t*> recurring_requests_; /*!< recurringRequests - A list of active recurring diagnostic requests.*/ std::vector<active_diagnostic_request_t*> non_recurring_requests_; /*!< nonrecurringRequests - A list of active one-time diagnostic requests. When a * response is received for a non-recurring request or it times out, it is removed*/ @@ -63,7 +64,7 @@ private: public: diagnostic_manager_t(); - bool initialize(std::shared_ptr<can_bus_dev_t> cbd); + bool initialize(); std::shared_ptr<can_bus_dev_t> get_can_bus_dev(); DiagnosticShims& get_shims(); |