added support for onChange report
Report is now notified when metric changes and updates reading values.
Tested:
- Added new unit tests
- OnChange report updates Readings when metric values changes
Change-Id: I3be9ef7aa0486cb15bac627aa1de5cc632613b3b
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
diff --git a/src/interfaces/metric.hpp b/src/interfaces/metric.hpp
index 4e2fae3..c40e960 100644
--- a/src/interfaces/metric.hpp
+++ b/src/interfaces/metric.hpp
@@ -1,6 +1,8 @@
#pragma once
+#include "interfaces/metric_listener.hpp"
#include "metric_value.hpp"
+#include "types/duration_types.hpp"
#include "types/report_types.hpp"
#include <nlohmann/json.hpp>
@@ -20,6 +22,11 @@
virtual std::vector<MetricValue> getReadings() const = 0;
virtual LabeledMetricParameters dumpConfiguration() const = 0;
virtual uint64_t sensorCount() const = 0;
+ virtual void registerForUpdates(interfaces::MetricListener& listener) = 0;
+ virtual void
+ unregisterFromUpdates(interfaces::MetricListener& listener) = 0;
+ virtual void updateReadings(Milliseconds) = 0;
+ virtual bool isTimerRequired() const = 0;
};
} // namespace interfaces