summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Makefile.am3
-rw-r--r--src/resolve_errors.cpp37
-rw-r--r--src/resolve_errors.hpp64
-rw-r--r--src/test/Makefile.am3
4 files changed, 105 insertions, 2 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index c6a041f..29a4ba7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -9,7 +9,8 @@ phosphor_dbus_monitor_SOURCES = \
journal.cpp \
elog.cpp \
main.cpp \
- propertywatch.cpp
+ propertywatch.cpp \
+ resolve_errors.cpp
phosphor_dbus_monitor_LDADD = \
$(SDBUSPLUS_LIBS) \
$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
diff --git a/src/resolve_errors.cpp b/src/resolve_errors.cpp
new file mode 100644
index 0000000..c08e489
--- /dev/null
+++ b/src/resolve_errors.cpp
@@ -0,0 +1,37 @@
+/**
+ * Copyright © 2017 IBM Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "resolve_errors.hpp"
+
+namespace phosphor
+{
+namespace dbus
+{
+namespace monitoring
+{
+
+void ResolveCallout::operator()()
+{
+ //TODO: fill in
+}
+
+void ResolveCallout::resolve(const std::string& logEntry)
+{
+ //TODO: fill in
+}
+
+} // namespace monitoring
+} // namespace dbus
+} // namespace phosphor
diff --git a/src/resolve_errors.hpp b/src/resolve_errors.hpp
new file mode 100644
index 0000000..a455ab4
--- /dev/null
+++ b/src/resolve_errors.hpp
@@ -0,0 +1,64 @@
+#pragma once
+#include "callback.hpp"
+
+namespace phosphor
+{
+namespace dbus
+{
+namespace monitoring
+{
+
+/**
+ * @class ResolveCallout
+ * @brief Resolves error logs with the associated callout
+ *
+ * Resolves a log by setting its Resolved property
+ * to true.
+ */
+class ResolveCallout : public Callback
+{
+ public:
+
+ ResolveCallout() = delete;
+ ~ResolveCallout() = default;
+ ResolveCallout(const ResolveCallout&) = delete;
+ ResolveCallout& operator=(const ResolveCallout&) = delete;
+ ResolveCallout(ResolveCallout&&) = default;
+ ResolveCallout& operator=(ResolveCallout&&) = default;
+
+ /**
+ * @brief constructor
+ *
+ * @param[in] callout - The callout whose errors need to be resolved.
+ * Normally an inventory path.
+ */
+ explicit ResolveCallout(const std::string& callout) :
+ callout(callout) {}
+
+ /**
+ * @brief Callback interface to resolve errors
+ *
+ * Resolves all error log entries that are associated
+ * with the callout.
+ */
+ void operator()() override;
+
+ private:
+
+ /**
+ * @brief Resolves a single error log entry
+ *
+ * param[in] entry - the object path of the error log entry
+ */
+ void resolve(const std::string& entry);
+
+ /**
+ * @brief The object path of the callout, typically an inventory path
+ */
+ std::string callout;
+};
+
+
+} // namespace monitoring
+} // namespace dbus
+} // namespace phosphor
diff --git a/src/test/Makefile.am b/src/test/Makefile.am
index 7dddccd..5a4d20d 100644
--- a/src/test/Makefile.am
+++ b/src/test/Makefile.am
@@ -196,4 +196,5 @@ callbacktest_LDADD = \
$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
$(PHOSPHOR_LOGGING_LIBS) \
$(builddir)/../journal.o \
- $(builddir)/../elog.o
+ $(builddir)/../elog.o \
+ $(builddir)/../resolve_errors.o
OpenPOWER on IntegriCloud