configuration_policy_store_interface.h revision 513209b27ff55e2841eac0e4120199c23acce758
1// Copyright (c) 2010 The Chromium 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 CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_STORE_INTERFACE_H_
6#define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_STORE_INTERFACE_H_
7#pragma once
8
9#include "base/basictypes.h"
10
11class Value;
12
13namespace policy {
14
15enum ConfigurationPolicyType {
16  kPolicyHomePage,
17  kPolicyHomepageIsNewTabPage,
18  kPolicyRestoreOnStartup,
19  kPolicyURLsToRestoreOnStartup,
20  kPolicyDefaultSearchProviderEnabled,
21  kPolicyDefaultSearchProviderName,
22  kPolicyDefaultSearchProviderKeyword,
23  kPolicyDefaultSearchProviderSearchURL,
24  kPolicyDefaultSearchProviderSuggestURL,
25  kPolicyDefaultSearchProviderIconURL,
26  kPolicyDefaultSearchProviderEncodings,
27  kPolicyDisableSpdy,
28  kPolicyProxyServerMode,
29  kPolicyProxyServer,
30  kPolicyProxyPacUrl,
31  kPolicyProxyBypassList,
32  kPolicyAlternateErrorPagesEnabled,
33  kPolicySearchSuggestEnabled,
34  kPolicyDnsPrefetchingEnabled,
35  kPolicySafeBrowsingEnabled,
36  kPolicyMetricsReportingEnabled,
37  kPolicyPasswordManagerEnabled,
38  kPolicyPasswordManagerAllowShowPasswords,
39  kPolicyAutoFillEnabled,
40  kPolicySyncDisabled,
41  kPolicyApplicationLocale,
42  kPolicyExtensionInstallAllowList,
43  kPolicyExtensionInstallDenyList,
44  kPolicyShowHomeButton,
45  kPolicyDisabledPlugins,
46  kPolicyPrintingEnabled,
47  kPolicyChromeFrameRendererSettings,
48  kPolicyRenderInChromeFrameList,
49  kPolicyRenderInHostList,
50  kPolicyJavascriptEnabled,
51  kPolicySavingBrowserHistoryDisabled,
52  kPolicyDeveloperToolsDisabled,
53  kPolicyBlockThirdPartyCookies,
54  kPolicyExtensionInstallForceList,
55  kPolicyChromeOsLockOnIdleSuspend,
56};
57
58static const int kPolicyNoProxyServerMode = 0;
59static const int kPolicyAutoDetectProxyMode = 1;
60static const int kPolicyManuallyConfiguredProxyMode = 2;
61static const int kPolicyUseSystemProxyMode = 3;
62
63// An abstract super class for policy stores that provides a method that can be
64// called by a |ConfigurationPolicyProvider| to specify a policy.
65class ConfigurationPolicyStoreInterface {
66 public:
67  virtual ~ConfigurationPolicyStoreInterface() {}
68
69  // A |ConfigurationPolicyProvider| specifies the value of a policy
70  // setting through a call to |Apply|.  The configuration policy pref
71  // store takes over the ownership of |value|.
72  virtual void Apply(ConfigurationPolicyType policy, Value* value) = 0;
73
74 protected:
75  ConfigurationPolicyStoreInterface() {}
76
77 private:
78  DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyStoreInterface);
79};
80
81}  // namespace policy
82
83#endif  // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_STORE_INTERFACE_H_
84