blob: 83c575ce350ad2fae05eac715a97cf3a27855242 [file] [log] [blame]
Alex Deymo94c06162014-03-21 20:34:46 -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_POLICY_MANAGER_FAKE_POLICY_MANAGER_H_
6#define CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_FAKE_POLICY_MANAGER_H_
7
8#include "update_engine/policy_manager/policy_manager.h"
9
10#include "update_engine/policy_manager/default_policy.h"
Alex Deymo680d0222014-04-24 21:00:08 -070011#include "update_engine/policy_manager/fake_state.h"
Alex Deymo94c06162014-03-21 20:34:46 -070012
13namespace chromeos_policy_manager {
14
15class FakePolicyManager : public PolicyManager {
16 public:
Alex Deymo41a75a72014-04-15 15:36:22 -070017 explicit FakePolicyManager(chromeos_update_engine::ClockInterface* clock)
Alex Deymo680d0222014-04-24 21:00:08 -070018 : PolicyManager(clock, new FakeState()) {
Alex Deymo94c06162014-03-21 20:34:46 -070019 // The FakePolicyManager uses a DefaultPolicy.
20 set_policy(new DefaultPolicy());
21 }
22
Alex Deymo680d0222014-04-24 21:00:08 -070023 // PolicyManager overrides.
24 using PolicyManager::set_policy;
25
26 FakeState* state() {
27 return reinterpret_cast<FakeState*>(PolicyManager::state());
28 }
29
Alex Deymo94c06162014-03-21 20:34:46 -070030 private:
31 DISALLOW_COPY_AND_ASSIGN(FakePolicyManager);
32};
33
34} // namespace chromeos_policy_manager
35
36#endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_FAKE_POLICY_MANAGER_H_