blob: 5819c43c2709f91d5f193248f619ef418c290663 [file] [log] [blame]
Alex Deymoc83baf62014-04-02 17:43:35 -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
Gilad Arnold48415f12014-06-27 07:10:58 -07005#ifndef UPDATE_ENGINE_UPDATE_MANAGER_FAKE_DEVICE_POLICY_PROVIDER_H_
6#define UPDATE_ENGINE_UPDATE_MANAGER_FAKE_DEVICE_POLICY_PROVIDER_H_
Alex Deymoc83baf62014-04-02 17:43:35 -07007
8#include <set>
9#include <string>
10
Alex Deymo63784a52014-05-28 10:46:14 -070011#include "update_engine/update_manager/device_policy_provider.h"
12#include "update_engine/update_manager/fake_variable.h"
Alex Deymoc83baf62014-04-02 17:43:35 -070013
Alex Deymo63784a52014-05-28 10:46:14 -070014namespace chromeos_update_manager {
Alex Deymoc83baf62014-04-02 17:43:35 -070015
16// Fake implementation of the DevicePolicyProvider base class.
17class FakeDevicePolicyProvider : public DevicePolicyProvider {
18 public:
19 FakeDevicePolicyProvider() {}
20
Alex Vakulenko157fe302014-08-11 15:59:58 -070021 FakeVariable<bool>* var_device_policy_is_loaded() override {
Alex Deymoc83baf62014-04-02 17:43:35 -070022 return &var_device_policy_is_loaded_;
23 }
24
Alex Vakulenko157fe302014-08-11 15:59:58 -070025 FakeVariable<std::string>* var_release_channel() override {
Alex Deymoc83baf62014-04-02 17:43:35 -070026 return &var_release_channel_;
27 }
28
Alex Vakulenko157fe302014-08-11 15:59:58 -070029 FakeVariable<bool>* var_release_channel_delegated() override {
Alex Deymoc83baf62014-04-02 17:43:35 -070030 return &var_release_channel_delegated_;
31 }
32
Alex Vakulenko157fe302014-08-11 15:59:58 -070033 FakeVariable<bool>* var_update_disabled() override {
Alex Deymoc83baf62014-04-02 17:43:35 -070034 return &var_update_disabled_;
35 }
36
Alex Vakulenko157fe302014-08-11 15:59:58 -070037 FakeVariable<std::string>* var_target_version_prefix() override {
Alex Deymoc83baf62014-04-02 17:43:35 -070038 return &var_target_version_prefix_;
39 }
40
Alex Vakulenko157fe302014-08-11 15:59:58 -070041 FakeVariable<base::TimeDelta>* var_scatter_factor() override {
Alex Deymoc83baf62014-04-02 17:43:35 -070042 return &var_scatter_factor_;
43 }
44
Alex Vakulenko157fe302014-08-11 15:59:58 -070045 FakeVariable<std::set<ConnectionType>>*
Alex Deymoc83baf62014-04-02 17:43:35 -070046 var_allowed_connection_types_for_update() override {
47 return &var_allowed_connection_types_for_update_;
48 }
49
Gilad Arnoldef8d0872014-10-03 14:14:06 -070050 FakeVariable<std::string>* var_owner() override {
51 return &var_owner_;
Alex Deymoc83baf62014-04-02 17:43:35 -070052 }
53
Alex Vakulenko157fe302014-08-11 15:59:58 -070054 FakeVariable<bool>* var_http_downloads_enabled() override {
Alex Deymoc83baf62014-04-02 17:43:35 -070055 return &var_http_downloads_enabled_;
56 }
57
Alex Vakulenko157fe302014-08-11 15:59:58 -070058 FakeVariable<bool>* var_au_p2p_enabled() override {
Alex Deymoc83baf62014-04-02 17:43:35 -070059 return &var_au_p2p_enabled_;
60 }
61
62 private:
Alex Deymoc83baf62014-04-02 17:43:35 -070063 FakeVariable<bool> var_device_policy_is_loaded_{
64 "policy_is_loaded", kVariableModePoll};
65 FakeVariable<std::string> var_release_channel_{
66 "release_channel", kVariableModePoll};
67 FakeVariable<bool> var_release_channel_delegated_{
68 "release_channel_delegated", kVariableModePoll};
69 FakeVariable<bool> var_update_disabled_{
70 "update_disabled", kVariableModePoll};
71 FakeVariable<std::string> var_target_version_prefix_{
72 "target_version_prefix", kVariableModePoll};
73 FakeVariable<base::TimeDelta> var_scatter_factor_{
74 "scatter_factor", kVariableModePoll};
75 FakeVariable<std::set<ConnectionType>>
76 var_allowed_connection_types_for_update_{
77 "allowed_connection_types_for_update", kVariableModePoll};
Gilad Arnoldef8d0872014-10-03 14:14:06 -070078 FakeVariable<std::string> var_owner_{"owner", kVariableModePoll};
Alex Deymoc83baf62014-04-02 17:43:35 -070079 FakeVariable<bool> var_http_downloads_enabled_{
80 "http_downloads_enabled", kVariableModePoll};
81 FakeVariable<bool> var_au_p2p_enabled_{"au_p2p_enabled", kVariableModePoll};
82
83 DISALLOW_COPY_AND_ASSIGN(FakeDevicePolicyProvider);
84};
85
Alex Deymo63784a52014-05-28 10:46:14 -070086} // namespace chromeos_update_manager
Alex Deymoc83baf62014-04-02 17:43:35 -070087
Gilad Arnold48415f12014-06-27 07:10:58 -070088#endif // UPDATE_ENGINE_UPDATE_MANAGER_FAKE_DEVICE_POLICY_PROVIDER_H_