update_engine: added CanRollback dbus method
Added a method to the update engine to check if a rollback
partition is available and can be booted from.
update_engine_client is also updated to call the function
when --can_rollback paramater is specified
BUG=chromium:343301
TEST=Ran "update_engine_client --can_rollback" and unit tests
Change-Id: If3fcb29a0067069a22812f60e9b67c6fdbbd18bd
Reviewed-on: https://chromium-review.googlesource.com/187157
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/hardware_interface.h b/hardware_interface.h
index 29baec4..58157d0 100644
--- a/hardware_interface.h
+++ b/hardware_interface.h
@@ -6,6 +6,7 @@
#define CHROMEOS_PLATFORM_UPDATE_ENGINE_HARDWARE_INTERFACE_H__
#include <string>
+#include <vector>
namespace chromeos_update_engine {
@@ -23,6 +24,9 @@
// Returns the currently booted rootfs partition. "/dev/sda3", for example.
virtual const std::string BootDevice() = 0;
+ // Returns a list of all kernel partitions available (whether bootable or not)
+ virtual std::vector<std::string> GetKernelDevices() = 0;
+
// Is the specified kernel partition currently bootable, based on GPT flags?
// Returns success.
virtual bool IsKernelBootable(const std::string& kernel_device,