Move IsOOBEComplete to HardwareInterface.
This patch moves the mockable IsOOBEComplete to the HardwareInterface
which already has a fake implemented. This is required as a first
step to make it available on the PolicyManager.
This patch also passes a null pointer when the timestamp isn't
required.
BUG=chromium:358269
TEST=Unittests adjusted and passing.
Change-Id: I620e0f4521832b3f2c0170811116251cdfe58f26
Reviewed-on: https://chromium-review.googlesource.com/193101
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
diff --git a/hardware_interface.h b/hardware_interface.h
index c22aef5..bc7fee3 100644
--- a/hardware_interface.h
+++ b/hardware_interface.h
@@ -8,6 +8,8 @@
#include <string>
#include <vector>
+#include <base/time/time.h>
+
namespace chromeos_update_engine {
// The hardware interface allows access to the following parts of the system,
@@ -45,6 +47,11 @@
// developer.
virtual bool IsNormalBootMode() const = 0;
+ // Returns true if the OOBE process has been completed and EULA accepted,
+ // False otherwise. If True is returned, and |out_time_of_oobe| isn't null,
+ // the time-stamp of when OOBE happened is stored at |out_time_of_oobe|.
+ virtual bool IsOOBEComplete(base::Time* out_time_of_oobe) const = 0;
+
// Returns the HWID or an empty string on error.
virtual std::string GetHardwareClass() const = 0;