summaryrefslogtreecommitdiff
path: root/common/hardware_interface.h
diff options
context:
space:
mode:
authorAlex Deymo <deymo@google.com>2016-06-03 19:26:58 -0700
committerAlex Deymo <deymo@google.com>2016-06-09 06:02:30 +0000
commitfb905d9b8d49f8fe41297c7aba2dd0942f1be311 (patch)
treea7a7567b0178b335d6ba876e800b07d6644369a8 /common/hardware_interface.h
parent675d0d209eec584968cee9984c093c6d07bee62e (diff)
Implement powerwash on Android.
Powerwash, the name for the equivalent of a factory reset or /data wipe, can be triggered in Android by writing the desired command to the recovery command file and rebooting into recovery. This patch moves the powerwash scheduling/canceling logic to the HardwareInterface and implements it on Android. Bug: 28700985 TEST=Called update_engine_client passing POWERWASH=1, BCB is stored up to offset 832. Change-Id: If737fd4b9b3e2ed9bce709b3b59f22e9f0a3dc9a
Diffstat (limited to 'common/hardware_interface.h')
-rw-r--r--common/hardware_interface.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/common/hardware_interface.h b/common/hardware_interface.h
index e434cc93..f5f900e5 100644
--- a/common/hardware_interface.h
+++ b/common/hardware_interface.h
@@ -70,6 +70,13 @@ class HardwareInterface {
// recovery don't have this value set.
virtual int GetPowerwashCount() const = 0;
+ // Signals that a powerwash (stateful partition wipe) should be performed
+ // after reboot.
+ virtual bool SchedulePowerwash() = 0;
+
+ // Cancel the powerwash operation scheduled to be performed on next boot.
+ virtual bool CancelPowerwash() = 0;
+
// Store in |path| the path to a non-volatile directory (persisted across
// reboots) available for this daemon. In case of an error, such as no
// directory available, returns false.