Refactor for ISnapshotWriter removal.
Bug: 280529365
Test: update_engine_unittests
apply ota
Change-Id: I03e899ba31077f828268be3775ebceba3850c528
diff --git a/common/dynamic_partition_control_interface.h b/common/dynamic_partition_control_interface.h
index 3f735bb..490892e 100644
--- a/common/dynamic_partition_control_interface.h
+++ b/common/dynamic_partition_control_interface.h
@@ -32,7 +32,7 @@
// Forware declare for libsnapshot/snapshot_writer.h
namespace android::snapshot {
-class ISnapshotWriter;
+class ICowWriter;
}
namespace chromeos_update_engine {
@@ -166,10 +166,10 @@
// If `is_append` is false, then existing COW data will be overwritten.
// Otherwise the cow writer will be opened on APPEND mode, existing COW data
// is preserved.
- virtual std::unique_ptr<android::snapshot::ISnapshotWriter> OpenCowWriter(
+ virtual std::unique_ptr<android::snapshot::ICowWriter> OpenCowWriter(
const std::string& unsuffixed_partition_name,
const std::optional<std::string>&,
- bool is_append = false) = 0;
+ std::optional<uint64_t> label) = 0;
// Open a general purpose FD capable to reading and writing to COW. Note that
// writes must be block aligned.
virtual std::unique_ptr<FileDescriptor> OpenCowFd(
diff --git a/common/dynamic_partition_control_stub.cc b/common/dynamic_partition_control_stub.cc
index 03f7361..fd9a3b4 100644
--- a/common/dynamic_partition_control_stub.cc
+++ b/common/dynamic_partition_control_stub.cc
@@ -100,11 +100,11 @@
return true;
}
-std::unique_ptr<android::snapshot::ISnapshotWriter>
+std::unique_ptr<android::snapshot::ICowWriter>
DynamicPartitionControlStub::OpenCowWriter(
const std::string& /*unsuffixed_partition_name*/,
const std::optional<std::string>& /*source_path*/,
- bool /*is_append*/) {
+ std::optional<uint64_t>) {
return nullptr;
}
diff --git a/common/dynamic_partition_control_stub.h b/common/dynamic_partition_control_stub.h
index 4236051..1db6a78 100644
--- a/common/dynamic_partition_control_stub.h
+++ b/common/dynamic_partition_control_stub.h
@@ -27,7 +27,8 @@
namespace chromeos_update_engine {
-class DynamicPartitionControlStub final : public DynamicPartitionControlInterface {
+class DynamicPartitionControlStub final
+ : public DynamicPartitionControlInterface {
public:
FeatureFlag GetDynamicPartitionsFeatureFlag() override;
FeatureFlag GetVirtualAbFeatureFlag() override;
@@ -62,10 +63,10 @@
uint32_t target_slot,
const std::vector<std::string>& partitions) override;
- std::unique_ptr<android::snapshot::ISnapshotWriter> OpenCowWriter(
+ std::unique_ptr<android::snapshot::ICowWriter> OpenCowWriter(
const std::string& unsuffixed_partition_name,
const std::optional<std::string>&,
- bool is_append) override;
+ std::optional<uint64_t> label) override;
std::unique_ptr<FileDescriptor> OpenCowFd(
const std::string& unsuffixed_partition_name,
diff --git a/common/mock_dynamic_partition_control.h b/common/mock_dynamic_partition_control.h
index 8cff28f..79909b4 100644
--- a/common/mock_dynamic_partition_control.h
+++ b/common/mock_dynamic_partition_control.h
@@ -22,6 +22,7 @@
#include <vector>
#include <gmock/gmock.h>
+#include <libsnapshot/cow_writer.h>
#include "update_engine/common/dynamic_partition_control_interface.h"
#include "update_engine/payload_consumer/file_descriptor.h"
@@ -58,9 +59,11 @@
(const std::string&, const InstallOperation&, InstallOperation*),
(override));
- MOCK_METHOD(std::unique_ptr<android::snapshot::ISnapshotWriter>,
+ MOCK_METHOD(std::unique_ptr<android::snapshot::ICowWriter>,
OpenCowWriter,
- (const std::string&, const std::optional<std::string>&, bool),
+ (const std::string&,
+ const std::optional<std::string>&,
+ std::optional<uint64_t> label),
(override));
MOCK_METHOD(