summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--low-can-binding/diagnostic/diagnostic-manager.cpp13
-rw-r--r--low-can-binding/diagnostic/diagnostic-manager.hpp1
2 files changed, 14 insertions, 0 deletions
diff --git a/low-can-binding/diagnostic/diagnostic-manager.cpp b/low-can-binding/diagnostic/diagnostic-manager.cpp
index 8533503f..0454a7e7 100644
--- a/low-can-binding/diagnostic/diagnostic-manager.cpp
+++ b/low-can-binding/diagnostic/diagnostic-manager.cpp
@@ -36,6 +36,19 @@ diagnostic_manager_t::diagnostic_manager_t()
: initialized_{false}
{}
+
+diagnostic_manager_t::~diagnostic_manager_t()
+{
+ for(auto r: recurring_requests_)
+ {
+ delete(r);
+ }
+ for(auto r: non_recurring_requests_)
+ {
+ delete(r);
+ }
+}
+
/// @brief Diagnostic manager isn't initialized at launch but after
/// CAN bus devices initialization. For the moment, it is only possible
/// to have 1 diagnostic bus which are the first bus declared in the JSON
diff --git a/low-can-binding/diagnostic/diagnostic-manager.hpp b/low-can-binding/diagnostic/diagnostic-manager.hpp
index b503a06a..1a6ae7e5 100644
--- a/low-can-binding/diagnostic/diagnostic-manager.hpp
+++ b/low-can-binding/diagnostic/diagnostic-manager.hpp
@@ -59,6 +59,7 @@ private:
static void shims_timer();
public:
diagnostic_manager_t();
+ ~diagnostic_manager_t();
bool initialize();