blob: 8bbf452f4055f2f2cb6e59a03ed4b2aa4a9b20a6 [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 Deymof9f12632014-04-17 13:51:26 -070011FakeState::FakeState() : State(new FakeConfigProvider(),
12 new FakeDevicePolicyProvider(),
Alex Deymoc83baf62014-04-02 17:43:35 -070013 new FakeRandomProvider(),
Alex Deymo94c06162014-03-21 20:34:46 -070014 new FakeShillProvider(),
15 new FakeSystemProvider(),
Gilad Arnoldae47a9a2014-03-26 12:16:47 -070016 new FakeTimeProvider(),
17 new FakeUpdaterProvider()) {
Alex Deymo94c06162014-03-21 20:34:46 -070018}
19
20FakeState* FakeState::Construct() {
21 scoped_ptr<FakeState> fake_state(new FakeState());
Alex Deymof9f12632014-04-17 13:51:26 -070022 if (!(fake_state->config_provider()->Init() &&
23 fake_state->device_policy_provider()->Init() &&
Alex Deymoc83baf62014-04-02 17:43:35 -070024 fake_state->random_provider()->Init() &&
Alex Deymo94c06162014-03-21 20:34:46 -070025 fake_state->shill_provider()->Init() &&
26 fake_state->system_provider()->Init() &&
Gilad Arnoldae47a9a2014-03-26 12:16:47 -070027 fake_state->time_provider()->Init() &&
28 fake_state->updater_provider()->Init())) {
Alex Deymo94c06162014-03-21 20:34:46 -070029 return NULL;
30 }
31 return fake_state.release();
Alex Deymo2de23f52014-02-26 14:30:13 -080032}
33
34} // namespace chromeos_policy_manager