blob: 03f7361766cdad6eaafd0cac3be7a43f44ccab1e [file] [log] [blame]
Yifan Hongdaac7322019-11-07 10:48:26 -08001//
2// Copyright (C) 2019 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17#include <stdint.h>
18
Yifan Hong90965502020-02-19 15:22:47 -080019#include <memory>
Yifan Hongdaac7322019-11-07 10:48:26 -080020#include <string>
21
22#include <base/logging.h>
Kelvin Zhang34618522020-09-28 09:21:02 -040023#include <libsnapshot/cow_writer.h>
Yifan Hongdaac7322019-11-07 10:48:26 -080024
25#include "update_engine/common/dynamic_partition_control_stub.h"
26
27namespace chromeos_update_engine {
28
29FeatureFlag DynamicPartitionControlStub::GetDynamicPartitionsFeatureFlag() {
30 return FeatureFlag(FeatureFlag::Value::NONE);
31}
32
33FeatureFlag DynamicPartitionControlStub::GetVirtualAbFeatureFlag() {
34 return FeatureFlag(FeatureFlag::Value::NONE);
35}
36
Kelvin Zhangda1b3142020-09-24 17:09:02 -040037FeatureFlag DynamicPartitionControlStub::GetVirtualAbCompressionFeatureFlag() {
38 return FeatureFlag(FeatureFlag::Value::NONE);
39}
40
Daniel Zheng0c1648c2023-04-12 10:57:44 -070041FeatureFlag
42DynamicPartitionControlStub::GetVirtualAbCompressionXorFeatureFlag() {
Kelvin Zhang1c4b9812022-04-06 17:29:00 -070043 return FeatureFlag(FeatureFlag::Value::NONE);
44}
45
David Andersone35b4382022-03-08 23:18:29 -080046FeatureFlag
47DynamicPartitionControlStub::GetVirtualAbUserspaceSnapshotsFeatureFlag() {
48 return FeatureFlag(FeatureFlag::Value::NONE);
49}
50
Yifan Hongf5261562020-03-10 10:28:10 -070051bool DynamicPartitionControlStub::OptimizeOperation(
52 const std::string& partition_name,
53 const InstallOperation& operation,
54 InstallOperation* optimized) {
Alessio Balsini14980e22019-11-26 11:46:06 +000055 return false;
56}
57
Yifan Hongdaac7322019-11-07 10:48:26 -080058void DynamicPartitionControlStub::Cleanup() {}
59
60bool DynamicPartitionControlStub::PreparePartitionsForUpdate(
61 uint32_t source_slot,
62 uint32_t target_slot,
63 const DeltaArchiveManifest& manifest,
Yifan Hongf033ecb2020-01-07 18:13:56 -080064 bool update,
65 uint64_t* required_size) {
Yifan Hongdaac7322019-11-07 10:48:26 -080066 return true;
67}
68
Yifan Hong7b3910a2020-03-24 17:47:32 -070069bool DynamicPartitionControlStub::FinishUpdate(bool powerwash_required) {
Yifan Hongdaac7322019-11-07 10:48:26 -080070 return true;
71}
72
Yifan Hong90965502020-02-19 15:22:47 -080073std::unique_ptr<AbstractAction>
74DynamicPartitionControlStub::GetCleanupPreviousUpdateAction(
75 BootControlInterface* boot_control,
76 PrefsInterface* prefs,
77 CleanupPreviousUpdateActionDelegateInterface* delegate) {
78 return std::make_unique<NoOpAction>();
79}
80
Yifan Hong6a6d0f12020-03-11 13:20:52 -070081bool DynamicPartitionControlStub::ResetUpdate(PrefsInterface* prefs) {
82 return false;
83}
84
Tianjie99d570d2020-06-04 14:57:19 -070085bool DynamicPartitionControlStub::ListDynamicPartitionsForSlot(
Tianjie3a55fc22021-02-13 16:02:22 -080086 uint32_t slot,
87 uint32_t current_slot,
88 std::vector<std::string>* partitions) {
Tianjie99d570d2020-06-04 14:57:19 -070089 return true;
90}
91
92bool DynamicPartitionControlStub::GetDeviceDir(std::string* path) {
93 return true;
94}
95
Tianjie24f96092020-06-30 12:26:25 -070096bool DynamicPartitionControlStub::VerifyExtentsForUntouchedPartitions(
97 uint32_t source_slot,
98 uint32_t target_slot,
99 const std::vector<std::string>& partitions) {
100 return true;
101}
102
Kelvin Zhang34618522020-09-28 09:21:02 -0400103std::unique_ptr<android::snapshot::ISnapshotWriter>
104DynamicPartitionControlStub::OpenCowWriter(
105 const std::string& /*unsuffixed_partition_name*/,
106 const std::optional<std::string>& /*source_path*/,
107 bool /*is_append*/) {
108 return nullptr;
109}
110
Kelvin Zhang9d87d6d2020-10-23 17:03:59 -0400111bool DynamicPartitionControlStub::MapAllPartitions() {
112 return false;
113}
114
115bool DynamicPartitionControlStub::UnmapAllPartitions() {
116 return false;
117}
118
Kelvin Zhangeb9de162020-11-16 15:47:28 -0500119bool DynamicPartitionControlStub::IsDynamicPartition(
Kelvin Zhangebd115e2021-03-08 16:10:25 -0500120 const std::string& part_name, uint32_t slot) {
Kelvin Zhangeb9de162020-11-16 15:47:28 -0500121 return false;
122}
123
Yifan Hongb0cbd392021-02-04 11:11:45 -0800124bool DynamicPartitionControlStub::UpdateUsesSnapshotCompression() {
125 return false;
126}
127
Yifan Hongdaac7322019-11-07 10:48:26 -0800128} // namespace chromeos_update_engine