| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PREF_STORE_H_ | 5 #ifndef CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PREF_STORE_H_ |
| 6 #define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PREF_STORE_H_ | 6 #define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PREF_STORE_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| 11 | 11 |
| 12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
| 13 #include "base/gtest_prod_util.h" | 13 #include "base/gtest_prod_util.h" |
| 14 #include "base/scoped_ptr.h" | 14 #include "base/scoped_ptr.h" |
| 15 #include "base/values.h" | 15 #include "base/values.h" |
| 16 #include "chrome/browser/policy/configuration_policy_provider.h" | 16 #include "chrome/browser/policy/configuration_policy_provider.h" |
| 17 #include "chrome/browser/policy/configuration_policy_store_interface.h" | 17 #include "chrome/browser/policy/configuration_policy_store_interface.h" |
| 18 #include "chrome/common/pref_store.h" | 18 #include "chrome/common/pref_store.h" |
| 19 | 19 |
| 20 class Profile; |
| 21 |
| 20 namespace policy { | 22 namespace policy { |
| 21 | 23 |
| 22 // An implementation of the |PrefStore| that holds a Dictionary | 24 // An implementation of the |PrefStore| that holds a Dictionary |
| 23 // created through applied policy. | 25 // created through applied policy. |
| 24 class ConfigurationPolicyPrefStore : public PrefStore, | 26 class ConfigurationPolicyPrefStore : public PrefStore, |
| 25 public ConfigurationPolicyStoreInterface { | 27 public ConfigurationPolicyStoreInterface { |
| 26 public: | 28 public: |
| 27 typedef std::set<const char*> ProxyPreferenceSet; | 29 typedef std::set<const char*> ProxyPreferenceSet; |
| 28 | 30 |
| 29 // The ConfigurationPolicyPrefStore does not take ownership of the | 31 // The ConfigurationPolicyPrefStore does not take ownership of the |
| 30 // passed-in |provider|. | 32 // passed-in |provider|. |
| 31 explicit ConfigurationPolicyPrefStore(ConfigurationPolicyProvider* provider); | 33 explicit ConfigurationPolicyPrefStore(ConfigurationPolicyProvider* provider); |
| 32 virtual ~ConfigurationPolicyPrefStore() {} | 34 virtual ~ConfigurationPolicyPrefStore() {} |
| 33 | 35 |
| 34 // PrefStore methods: | 36 // PrefStore methods: |
| 35 virtual PrefReadError ReadPrefs(); | 37 virtual PrefReadError ReadPrefs(); |
| 36 virtual DictionaryValue* prefs() const { return prefs_.get(); } | 38 virtual DictionaryValue* prefs() const { return prefs_.get(); } |
| 37 | 39 |
| 38 // ConfigurationPolicyStore methods: | 40 // ConfigurationPolicyStore methods: |
| 39 virtual void Apply(ConfigurationPolicyType setting, Value* value); | 41 virtual void Apply(ConfigurationPolicyType setting, Value* value); |
| 40 | 42 |
| 41 // Creates a ConfigurationPolicyPrefStore that reads managed platform policy. | 43 // Creates a ConfigurationPolicyPrefStore that reads managed platform policy. |
| 42 static ConfigurationPolicyPrefStore* CreateManagedPlatformPolicyPrefStore(); | 44 static ConfigurationPolicyPrefStore* CreateManagedPlatformPolicyPrefStore(); |
| 43 | 45 |
| 44 // Creates a ConfigurationPolicyPrefStore that supplies policy from | 46 // Creates a ConfigurationPolicyPrefStore that supplies policy from |
| 45 // the device management server. | 47 // the device management server. |
| 46 static ConfigurationPolicyPrefStore* CreateDeviceManagementPolicyPrefStore(); | 48 static ConfigurationPolicyPrefStore* CreateDeviceManagementPolicyPrefStore( |
| 49 Profile* profile); |
| 47 | 50 |
| 48 // Creates a ConfigurationPolicyPrefStore that reads recommended policy. | 51 // Creates a ConfigurationPolicyPrefStore that reads recommended policy. |
| 49 static ConfigurationPolicyPrefStore* CreateRecommendedPolicyPrefStore(); | 52 static ConfigurationPolicyPrefStore* CreateRecommendedPolicyPrefStore(); |
| 50 | 53 |
| 51 // Returns the default policy definition list for Chrome. | 54 // Returns the default policy definition list for Chrome. |
| 52 static const ConfigurationPolicyProvider::PolicyDefinitionList* | 55 static const ConfigurationPolicyProvider::PolicyDefinitionList* |
| 53 GetChromePolicyDefinitionList(); | 56 GetChromePolicyDefinitionList(); |
| 54 | 57 |
| 55 // Returns the set of preference paths that can be affected by a proxy | 58 // Returns the set of preference paths that can be affected by a proxy |
| 56 // policy. | 59 // policy. |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 // unspecified map entries. Otherwise wipes all default search related | 134 // unspecified map entries. Otherwise wipes all default search related |
| 132 // map entries from |prefs_|. | 135 // map entries from |prefs_|. |
| 133 void FinalizeDefaultSearchPolicySettings(); | 136 void FinalizeDefaultSearchPolicySettings(); |
| 134 | 137 |
| 135 DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyPrefStore); | 138 DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyPrefStore); |
| 136 }; | 139 }; |
| 137 | 140 |
| 138 } // namespace policy | 141 } // namespace policy |
| 139 | 142 |
| 140 #endif // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PREF_STORE_H_ | 143 #endif // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PREF_STORE_H_ |
| OLD | NEW |