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