From e4e00c65f8b686dd93e68a3226020692a62e1d26 Mon Sep 17 00:00:00 2001 From: Jonathan Aillet Date: Mon, 9 Apr 2018 09:25:47 +0200 Subject: Add possibility to subscribe to a recurring request permanently Add possibility to subscribe to a recurring request that won't be deleted when no subscriber is detected. For now, this functionnality is implemented for internal use only. Bug-AGL: SPEC-1347 Change-Id: I48f6f647677596ba7920c4348d5406ea7bf1081b Signed-off-by: Jonathan Aillet --- low-can-binding/diagnostic/active-diagnostic-request.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'low-can-binding/diagnostic/active-diagnostic-request.hpp') diff --git a/low-can-binding/diagnostic/active-diagnostic-request.hpp b/low-can-binding/diagnostic/active-diagnostic-request.hpp index 892feb50..8e5333b5 100644 --- a/low-can-binding/diagnostic/active-diagnostic-request.hpp +++ b/low-can-binding/diagnostic/active-diagnostic-request.hpp @@ -76,6 +76,7 @@ private: ///< response is received for this request. bool recurring_; ///< bool recurring_ - If true, this is a recurring request and it will remain as active until explicitly cancelled. ///< The frequencyClock attribute controls how often a recurring request is made. + bool permanent_; ///< bool permanent_ - If true, this a permanent recurring request and will remain as active indefinitely (can't be cancelled). bool wait_for_multiple_responses_; ///< wait_for_multiple_responses_ - False by default, when any response is received for a request ///< it will be removed from the active list. If true, the request will remain active until the timeout ///< clock expires, to allow it to receive multiple response (e.g. to a functional broadcast request). @@ -93,7 +94,7 @@ public: active_diagnostic_request_t(const std::string& bus, uint32_t id, const std::string& name, bool wait_for_multiple_responses, const DiagnosticResponseDecoder decoder, - const DiagnosticResponseCallback callback, float frequencyHz); + const DiagnosticResponseCallback callback, float frequencyHz, bool permanent); ~active_diagnostic_request_t(); uint32_t get_id() const; @@ -104,6 +105,7 @@ public: DiagnosticResponseDecoder& get_decoder(); DiagnosticResponseCallback& get_callback(); bool get_recurring() const; + bool get_permanent() const; frequency_clock_t& get_frequency_clock(); frequency_clock_t& get_timeout_clock(); utils::socketcan_bcm_t& get_socket(); -- cgit 1.2.3-korg