blob: 0831b2ec67300ad46260eebddf168026f72fb6b3 [file] [log] [blame]
Alex Deymo63784a52014-05-28 10:46:14 -07001// Copyright (c) 2014 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_UPDATE_MANAGER_FAKE_UPDATE_MANAGER_H_
6#define CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_MANAGER_FAKE_UPDATE_MANAGER_H_
7
8#include "update_engine/update_manager/update_manager.h"
9
10#include "update_engine/update_manager/default_policy.h"
11#include "update_engine/update_manager/fake_state.h"
12
13namespace chromeos_update_manager {
14
15class FakeUpdateManager : public UpdateManager {
16 public:
17 explicit FakeUpdateManager(chromeos_update_engine::ClockInterface* clock)
18 : UpdateManager(clock, new FakeState()) {
19 // The FakeUpdateManager uses a DefaultPolicy.
20 set_policy(new DefaultPolicy());
21 }
22
23 // UpdateManager overrides.
24 using UpdateManager::set_policy;
25
26 FakeState* state() {
27 return reinterpret_cast<FakeState*>(UpdateManager::state());
28 }
29
30 private:
31 DISALLOW_COPY_AND_ASSIGN(FakeUpdateManager);
32};
33
34} // namespace chromeos_update_manager
35
36#endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_MANAGER_FAKE_UPDATE_MANAGER_H_