aboutsummaryrefslogtreecommitdiffstats
path: root/src/diagnostic/diagnostic-manager.hpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-03-15 13:04:42 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2017-03-16 17:21:57 +0100
commit1d464d2a7380248b04c3e734ed5c6e84bbf53ddf (patch)
treec75ef10c1a45477f4597e4edd97d0a7fc16a4447 /src/diagnostic/diagnostic-manager.hpp
parent56c22348d3af944b68bc7395553b9f8b1a817ba6 (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.hpp11
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();