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