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/active-diagnostic-request.cpp | |
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/active-diagnostic-request.cpp')
-rw-r--r-- | src/diagnostic/active-diagnostic-request.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/diagnostic/active-diagnostic-request.cpp b/src/diagnostic/active-diagnostic-request.cpp index 9d0f6aa..fcdbc97 100644 --- a/src/diagnostic/active-diagnostic-request.cpp +++ b/src/diagnostic/active-diagnostic-request.cpp @@ -16,9 +16,12 @@ */ #include <fnmatch.h> +#include <map> #include "active-diagnostic-request.hpp" +#include "../configuration.hpp" + std::string active_diagnostic_request_t::prefix_ = "diagnostic_messages"; bool active_diagnostic_request_t::operator==(const active_diagnostic_request_t& b) @@ -52,9 +55,8 @@ active_diagnostic_request_t::active_diagnostic_request_t() in_flight_{false}, frequency_clock_{frequency_clock_t()}, timeout_clock_{frequency_clock_t()} {} -active_diagnostic_request_t::active_diagnostic_request_t(std::shared_ptr<can_bus_dev_t> bus, DiagnosticRequest* request, - const std::string& name, bool wait_for_multiple_responses, - const DiagnosticResponseDecoder decoder, +active_diagnostic_request_t::active_diagnostic_request_t(const std::string& bus, DiagnosticRequest* request, + const std::string& name, bool wait_for_multiple_responses, const DiagnosticResponseDecoder decoder, const DiagnosticResponseCallback callback, float frequencyHz) : bus_{bus}, id_{request->arbitration_id}, handle_{nullptr}, name_{name}, decoder_{decoder}, callback_{callback}, recurring_{frequencyHz ? true : false}, wait_for_multiple_responses_{wait_for_multiple_responses}, @@ -66,9 +68,9 @@ uint32_t active_diagnostic_request_t::get_id() const return id_; } -std::shared_ptr<can_bus_dev_t> active_diagnostic_request_t::get_can_bus_dev() +const std::shared_ptr<can_bus_dev_t> active_diagnostic_request_t::get_can_bus_dev() const { - return bus_; + return can_bus_t::get_can_device(bus_); } DiagnosticRequestHandle* active_diagnostic_request_t::get_handle() |