summaryrefslogtreecommitdiff
path: root/dynamic_partition_control_interface.h
diff options
context:
space:
mode:
authorYifan Hong <elsk@google.com>2019-11-05 16:34:32 -0800
committerYifan Hong <elsk@google.com>2019-11-13 03:12:37 +0000
commit3a1a5618390aeb56a2d7d4ca1cc61b97ea1515a2 (patch)
treeb54c69057b1b974fec3aae93e5ecea9b3ba7b9f4 /dynamic_partition_control_interface.h
parent2b0f10a8c150e2094dbd1c5cdd81aed3af078474 (diff)
Proper split of BootControl and DynamicPartitionControl.
All dynamic/static partitions stuff are moved to DynamicPartitionControlAndroid. After this patch: (1) BootControl remains a simple shim over the boot control HAL. (BootControl still have two calls that is a delegate to DynamicPartitionControl, which will be cleaned up in follow up CLs.) (2) DynamicPartitionControlInterface API is minimized. All libdm and other Android specific details are hidden from the API surface now. Also move tests from boot_control_unittest to dynamic_partition_control_unittest because functionalities are moved. Test: update_engine_unittests Change-Id: I6ed902197569f9f0ef40e02703634e9078a4b060
Diffstat (limited to 'dynamic_partition_control_interface.h')
-rw-r--r--dynamic_partition_control_interface.h44
1 files changed, 0 insertions, 44 deletions
diff --git a/dynamic_partition_control_interface.h b/dynamic_partition_control_interface.h
index 9c18973f..b5be2be6 100644
--- a/dynamic_partition_control_interface.h
+++ b/dynamic_partition_control_interface.h
@@ -22,11 +22,6 @@
#include <memory>
#include <string>
-#include <base/files/file_util.h>
-#include <libdm/dm.h>
-#include <liblp/builder.h>
-
-#include "update_engine/common/boot_control_interface.h"
#include "update_engine/update_metadata.pb.h"
namespace chromeos_update_engine {
@@ -55,41 +50,9 @@ class DynamicPartitionControlInterface {
// Return the feature flags of Virtual A/B on this device.
virtual FeatureFlag GetVirtualAbFeatureFlag() = 0;
- // Map logical partition on device-mapper.
- // |super_device| is the device path of the physical partition ("super").
- // |target_partition_name| is the identifier used in metadata; for example,
- // "vendor_a"
- // |slot| is the selected slot to mount; for example, 0 for "_a".
- // Returns true if mapped successfully; if so, |path| is set to the device
- // path of the mapped logical partition.
- virtual bool MapPartitionOnDeviceMapper(
- const std::string& super_device,
- const std::string& target_partition_name,
- uint32_t slot,
- bool force_writable,
- std::string* path) = 0;
-
// Do necessary cleanups before destroying the object.
virtual void Cleanup() = 0;
- // Return true if a static partition exists at device path |path|.
- virtual bool DeviceExists(const std::string& path) = 0;
-
- // Returns the current state of the underlying device mapper device
- // with given name.
- // One of INVALID, SUSPENDED or ACTIVE.
- virtual android::dm::DmDeviceState GetState(const std::string& name) = 0;
-
- // Returns the path to the device mapper device node in '/dev' corresponding
- // to 'name'. If the device does not exist, false is returned, and the path
- // parameter is not set.
- virtual bool GetDmDevicePathByName(const std::string& name,
- std::string* path) = 0;
-
- // Retrieve metadata from |super_device| at slot |source_slot|.
- virtual std::unique_ptr<android::fs_mgr::MetadataBuilder> LoadMetadataBuilder(
- const std::string& super_device, uint32_t source_slot) = 0;
-
// Prepare all partitions for an update specified in |manifest|.
// This is needed before calling MapPartitionOnDeviceMapper(), otherwise the
// device would be mapped in an inconsistent way.
@@ -99,13 +62,6 @@ class DynamicPartitionControlInterface {
const DeltaArchiveManifest& manifest,
bool update) = 0;
- // Return a possible location for devices listed by name.
- virtual bool GetDeviceDir(std::string* path) = 0;
-
- // Return the name of the super partition (which stores super partition
- // metadata) for a given slot.
- virtual std::string GetSuperPartitionName(uint32_t slot) = 0;
-
virtual bool FinishUpdate() = 0;
};