Changed dbus add report interface
- metric parameters now take single sensor instead of list
- added interface support for new operation types
Tested:
- All telemetry tests are passing.
Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com>
Change-Id: Id3a41c48e81a287e7d205ae1c747daa36d4cdb29
diff --git a/src/operation_type.hpp b/src/operation_type.hpp
new file mode 100644
index 0000000..a4f085c
--- /dev/null
+++ b/src/operation_type.hpp
@@ -0,0 +1,51 @@
+#pragma once
+
+#include "utils/conversion.hpp"
+
+#include <array>
+#include <cstdint>
+#include <string_view>
+
+enum class OperationType : uint32_t
+{
+ single,
+ max,
+ min,
+ avg,
+ sum
+};
+
+namespace utils
+{
+
+constexpr std::array<std::pair<std::string_view, OperationType>, 5>
+ convDataOperationType = {
+ {std::make_pair<std::string_view, OperationType>("SINGLE",
+ OperationType::single),
+ std::make_pair<std::string_view, OperationType>("MAX",
+ OperationType::max),
+ std::make_pair<std::string_view, OperationType>("MIN",
+ OperationType::min),
+ std::make_pair<std::string_view, OperationType>("AVG",
+ OperationType::avg),
+ std::make_pair<std::string_view, OperationType>("SUM",
+ OperationType::sum)}};
+
+inline OperationType
+ toOperationType(std::underlying_type_t<OperationType> value)
+{
+ return toEnum<OperationType, OperationType::single, OperationType::sum>(
+ value);
+}
+
+inline OperationType stringToOperationType(const std::string& value)
+{
+ return stringToEnum(convDataOperationType, value);
+}
+
+inline std::string enumToString(OperationType value)
+{
+ return std::string(enumToString(convDataOperationType, value));
+}
+
+} // namespace utils