1*5a923131SAndroid Build Coastguard Worker // 2*5a923131SAndroid Build Coastguard Worker // Copyright (C) 2021 The Android Open Source Project 3*5a923131SAndroid Build Coastguard Worker // 4*5a923131SAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License"); 5*5a923131SAndroid Build Coastguard Worker // you may not use this file except in compliance with the License. 6*5a923131SAndroid Build Coastguard Worker // You may obtain a copy of the License at 7*5a923131SAndroid Build Coastguard Worker // 8*5a923131SAndroid Build Coastguard Worker // http://www.apache.org/licenses/LICENSE-2.0 9*5a923131SAndroid Build Coastguard Worker // 10*5a923131SAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software 11*5a923131SAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS, 12*5a923131SAndroid Build Coastguard Worker // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*5a923131SAndroid Build Coastguard Worker // See the License for the specific language governing permissions and 14*5a923131SAndroid Build Coastguard Worker // limitations under the License. 15*5a923131SAndroid Build Coastguard Worker // 16*5a923131SAndroid Build Coastguard Worker 17*5a923131SAndroid Build Coastguard Worker #ifndef UPDATE_ENGINE_COMMON_MOCK_BOOT_CONTROL_H_ 18*5a923131SAndroid Build Coastguard Worker #define UPDATE_ENGINE_COMMON_MOCK_BOOT_CONTROL_H_ 19*5a923131SAndroid Build Coastguard Worker 20*5a923131SAndroid Build Coastguard Worker #include <memory> 21*5a923131SAndroid Build Coastguard Worker #include <string> 22*5a923131SAndroid Build Coastguard Worker 23*5a923131SAndroid Build Coastguard Worker #include <gmock/gmock.h> 24*5a923131SAndroid Build Coastguard Worker 25*5a923131SAndroid Build Coastguard Worker #include "update_engine/common/boot_control_stub.h" 26*5a923131SAndroid Build Coastguard Worker 27*5a923131SAndroid Build Coastguard Worker namespace chromeos_update_engine { 28*5a923131SAndroid Build Coastguard Worker 29*5a923131SAndroid Build Coastguard Worker class MockBootControl final : public BootControlStub { 30*5a923131SAndroid Build Coastguard Worker public: 31*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(bool, 32*5a923131SAndroid Build Coastguard Worker IsSlotMarkedSuccessful, 33*5a923131SAndroid Build Coastguard Worker (BootControlInterface::Slot), 34*5a923131SAndroid Build Coastguard Worker (const override)); 35*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(unsigned int, GetNumSlots, (), (const override)); 36*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(BootControlInterface::Slot, GetCurrentSlot, (), (const override)); 37*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(bool, 38*5a923131SAndroid Build Coastguard Worker GetPartitionDevice, 39*5a923131SAndroid Build Coastguard Worker (const std::string&, Slot, bool, std::string*, bool*), 40*5a923131SAndroid Build Coastguard Worker (const override)); 41*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(bool, 42*5a923131SAndroid Build Coastguard Worker GetPartitionDevice, 43*5a923131SAndroid Build Coastguard Worker (const std::string&, BootControlInterface::Slot, std::string*), 44*5a923131SAndroid Build Coastguard Worker (const override)); 45*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(std::optional<PartitionDevice>, 46*5a923131SAndroid Build Coastguard Worker GetPartitionDevice, 47*5a923131SAndroid Build Coastguard Worker (const std::string&, uint32_t, uint32_t, bool), 48*5a923131SAndroid Build Coastguard Worker (const override)); 49*5a923131SAndroid Build Coastguard Worker 50*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(bool, 51*5a923131SAndroid Build Coastguard Worker IsSlotBootable, 52*5a923131SAndroid Build Coastguard Worker (BootControlInterface::Slot), 53*5a923131SAndroid Build Coastguard Worker (const override)); 54*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(bool, 55*5a923131SAndroid Build Coastguard Worker MarkSlotUnbootable, 56*5a923131SAndroid Build Coastguard Worker (BootControlInterface::Slot), 57*5a923131SAndroid Build Coastguard Worker (override)); 58*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(bool, 59*5a923131SAndroid Build Coastguard Worker SetActiveBootSlot, 60*5a923131SAndroid Build Coastguard Worker (BootControlInterface::Slot), 61*5a923131SAndroid Build Coastguard Worker (override)); 62*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(bool, 63*5a923131SAndroid Build Coastguard Worker MarkBootSuccessfulAsync, 64*5a923131SAndroid Build Coastguard Worker (base::Callback<void(bool)>), 65*5a923131SAndroid Build Coastguard Worker (override)); 66*5a923131SAndroid Build Coastguard Worker MOCK_METHOD(DynamicPartitionControlInterface*, 67*5a923131SAndroid Build Coastguard Worker GetDynamicPartitionControl, 68*5a923131SAndroid Build Coastguard Worker (), 69*5a923131SAndroid Build Coastguard Worker (override)); 70*5a923131SAndroid Build Coastguard Worker }; 71*5a923131SAndroid Build Coastguard Worker 72*5a923131SAndroid Build Coastguard Worker } // namespace chromeos_update_engine 73*5a923131SAndroid Build Coastguard Worker 74*5a923131SAndroid Build Coastguard Worker #endif // UPDATE_ENGINE_COMMON_MOCK_BOOT_CONTROL_H_ 75