blob: 2af8de0fc4b940550f177b822be9f5c02ab3dd09 [file] [log] [blame]
Alex Deymo2de23f52014-02-26 14:30:13 -08001// 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
Alex Deymo2de23f52014-02-26 14:30:13 -08005#include "update_engine/policy_manager/fake_state.h"
Alex Deymo94c06162014-03-21 20:34:46 -07006
7#include "base/memory/scoped_ptr.h"
Alex Deymo2de23f52014-02-26 14:30:13 -08008
9namespace chromeos_policy_manager {
10
Alex Deymoc83baf62014-04-02 17:43:35 -070011FakeState::FakeState() : State(new FakeDevicePolicyProvider(),
12 new FakeRandomProvider(),
Alex Deymo94c06162014-03-21 20:34:46 -070013 new FakeShillProvider(),
14 new FakeSystemProvider(),
Gilad Arnoldae47a9a2014-03-26 12:16:47 -070015 new FakeTimeProvider(),
16 new FakeUpdaterProvider()) {
Alex Deymo94c06162014-03-21 20:34:46 -070017}
18
19FakeState* FakeState::Construct() {
20 scoped_ptr<FakeState> fake_state(new FakeState());
Alex Deymoc83baf62014-04-02 17:43:35 -070021 if (!(fake_state->device_policy_provider()->Init() &&
22 fake_state->random_provider()->Init() &&
Alex Deymo94c06162014-03-21 20:34:46 -070023 fake_state->shill_provider()->Init() &&
24 fake_state->system_provider()->Init() &&
Gilad Arnoldae47a9a2014-03-26 12:16:47 -070025 fake_state->time_provider()->Init() &&
26 fake_state->updater_provider()->Init())) {
Alex Deymo94c06162014-03-21 20:34:46 -070027 return NULL;
28 }
29 return fake_state.release();
Alex Deymo2de23f52014-02-26 14:30:13 -080030}
31
32} // namespace chromeos_policy_manager