boot settings: use the new 'one time' setting
Resolves openbmc/openbmc#2301
Change-Id: I7682de2eb1f1dc224e136735af978921bf76a12f
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
diff --git a/settings.hpp b/settings.hpp
index ec1d913..91c9930 100644
--- a/settings.hpp
+++ b/settings.hpp
@@ -1,6 +1,7 @@
#pragma once
#include <string>
+#include <tuple>
#include <sdbusplus/bus.hpp>
namespace settings
@@ -49,4 +50,23 @@
sdbusplus::bus::bus& bus;
};
+namespace boot
+{
+
+using OneTimeEnabled = bool;
+
+/** @brief Return the one-time boot setting object path if enabled, otherwise
+ * the regular boot setting object path.
+ *
+ * @param[in] objects - const reference to an object of type Objects
+ * @param[in] iface - boot setting interface
+ *
+ * @return A tuple - boot setting object path, a bool indicating whether the
+ * returned path corresponds to the one time boot setting.
+ */
+std::tuple<Path, OneTimeEnabled> setting(const Objects& objects,
+ const Interface& iface);
+
+} // namespace boot
+
} // namespace settings