blob: 5428f2893d4f7d425d7387f937ea03d040ac9287 [file] [log] [blame]
Alex Deymo42432912013-07-12 20:21:15 -07001// Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_FAKE_HARDWARE_H__
6#define CHROMEOS_PLATFORM_UPDATE_ENGINE_FAKE_HARDWARE_H__
7
8#include "update_engine/hardware_interface.h"
9
Alex Deymo42432912013-07-12 20:21:15 -070010namespace chromeos_update_engine {
11
12// Implements a fake hardware interface used for testing.
13class FakeHardware : public HardwareInterface {
14 public:
J. Richard Barnette4da2cc12013-10-28 16:11:10 -070015 FakeHardware()
J. Richard Barnette522d36f2013-10-28 17:22:12 -070016 : boot_device_("/dev/sdz5"),
17 hardware_class_("Fake HWID BLAH-1234"),
18 firmware_version_("Fake Firmware v1.0.1"),
19 ec_version_("Fake EC v1.0a") {}
Alex Deymo42432912013-07-12 20:21:15 -070020
21 // HardwareInterface methods.
22 virtual const std::string BootDevice() { return boot_device_; }
J. Richard Barnette522d36f2013-10-28 17:22:12 -070023 virtual std::string GetHardwareClass() { return hardware_class_; }
24 virtual std::string GetFirmwareVersion() { return firmware_version_; }
25 virtual std::string GetECVersion() { return ec_version_; }
Alex Deymo42432912013-07-12 20:21:15 -070026
27 // Setters
28 void SetBootDevice(const std::string boot_device) {
29 boot_device_ = boot_device;
30 }
Alex Deymo42432912013-07-12 20:21:15 -070031
J. Richard Barnette522d36f2013-10-28 17:22:12 -070032 void SetHardwareClass(std::string hardware_class) {
33 hardware_class_ = hardware_class;
34 }
35
36 void SetFirmwareVersion(std::string firmware_version) {
37 firmware_version_ = firmware_version;
38 }
39
40 void SetECVersion(std::string ec_version) {
41 ec_version_ = ec_version;
42 }
43
Alex Deymo42432912013-07-12 20:21:15 -070044 private:
45 std::string boot_device_;
J. Richard Barnette522d36f2013-10-28 17:22:12 -070046 std::string hardware_class_;
47 std::string firmware_version_;
48 std::string ec_version_;
Alex Deymo42432912013-07-12 20:21:15 -070049
50 DISALLOW_COPY_AND_ASSIGN(FakeHardware);
51};
52
53} // namespace chromeos_update_engine
54
55#endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_FAKE_HARDWARE_H__