Move current implementation into separate namespace
We will be moving ietf-hardware implementation from cla-sysrepo to
velia. Veliad daemon will manage not only the "system health" (the
current implementation) but it will also (in later commits) implement
ietf-hardware (RFC8348) [1] (report HW sensors readout to Sysrepo).
This commit prepares the directory structure (i.e., it moves the current
code into a namespace velia::health.
We will be adding new namespace velia::ietf_hardware throughout the next
few commits which will implement the support for ietf-hardware YANG
model.
[1] https://tools.ietf.org/html/rfc8348#appendix-A
Change-Id: I315c2575c5d50036d27cb0a11f5571ce9d615fe5
diff --git a/src/health/outputs/callables.h b/src/health/outputs/callables.h
new file mode 100644
index 0000000..cde5519
--- /dev/null
+++ b/src/health/outputs/callables.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2020 CESNET, https://photonics.cesnet.cz/
+ *
+ * Written by Tomáš Pecka <tomas.pecka@fit.cvut.cz>
+ *
+*/
+#pragma once
+
+#include <memory>
+#include "health/State.h"
+
+namespace velia::health {
+
+class LedSysfsDriver;
+
+class LedOutputCallback {
+public:
+ LedOutputCallback(std::shared_ptr<LedSysfsDriver> red, std::shared_ptr<LedSysfsDriver> green, std::shared_ptr<LedSysfsDriver> blue);
+ ~LedOutputCallback();
+ void reset();
+ void operator()(State state);
+
+private:
+ std::shared_ptr<LedSysfsDriver> m_redLed, m_greenLed, m_blueLed;
+};
+
+}