blob: 8b570b2856420ebdcbfb86e2653dfee7224221ec [file] [log] [blame]
// Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_FAKE_HARDWARE_H__
#define CHROMEOS_PLATFORM_UPDATE_ENGINE_FAKE_HARDWARE_H__
#include "update_engine/hardware_interface.h"
#include "base/basictypes.h"
#include <map>
namespace chromeos_update_engine {
// Implements a fake hardware interface used for testing.
class FakeHardware : public HardwareInterface {
public:
FakeHardware() {}
// HardwareInterface methods.
virtual const std::string BootDevice() { return boot_device_; }
virtual const std::string KernelDeviceOfBootDevice(
const std::string& boot_device);
// Setters
void SetBootDevice(const std::string boot_device) {
boot_device_ = boot_device;
}
void SetKernelDeviceOfBootDevice(const std::string& boot_device,
const std::string& kernel_device);
private:
std::string boot_device_;
typedef std::map<std::string, std::string> KernelDevicesMap;
KernelDevicesMap kernel_devices_;
DISALLOW_COPY_AND_ASSIGN(FakeHardware);
};
} // namespace chromeos_update_engine
#endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_FAKE_HARDWARE_H__