Index: chrome/browser/policy/configuration_policy_handler.h |
diff --git a/chrome/browser/policy/configuration_policy_handler.h b/chrome/browser/policy/configuration_policy_handler.h |
deleted file mode 100644 |
index f7b7eae5d1035070ce6a7f9aea36f7fa350f5e50..0000000000000000000000000000000000000000 |
--- a/chrome/browser/policy/configuration_policy_handler.h |
+++ /dev/null |
@@ -1,229 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_HANDLER_H_ |
-#define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_HANDLER_H_ |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/values.h" |
- |
-class PrefValueMap; |
- |
-namespace policy { |
- |
-class PolicyErrorMap; |
-class PolicyMap; |
- |
-// Maps a policy type to a preference path, and to the expected value type. |
-struct PolicyToPreferenceMapEntry { |
- const char* const policy_name; |
- const char* const preference_path; |
- const base::Value::Type value_type; |
-}; |
- |
-// An abstract super class that subclasses should implement to map policies to |
-// their corresponding preferences, and to check whether the policies are valid. |
-class ConfigurationPolicyHandler { |
- public: |
- static std::string ValueTypeToString(Value::Type type); |
- |
- ConfigurationPolicyHandler(); |
- virtual ~ConfigurationPolicyHandler(); |
- |
- // Returns whether the policy settings handled by this |
- // ConfigurationPolicyHandler can be applied. Fills |errors| with error |
- // messages or warnings. |errors| may contain error messages even when |
- // |CheckPolicySettings()| returns true. |
- virtual bool CheckPolicySettings(const PolicyMap& policies, |
- PolicyErrorMap* errors) = 0; |
- |
- // Processes the policies handled by this ConfigurationPolicyHandler and sets |
- // the appropriate preferences in |prefs|. |
- virtual void ApplyPolicySettings(const PolicyMap& policies, |
- PrefValueMap* prefs) = 0; |
- |
- // Modifies the values of some of the policies in |policies| so that they |
- // are more suitable to display to the user. This can be used to remove |
- // sensitive values such as passwords, or to pretty-print values. |
- virtual void PrepareForDisplaying(PolicyMap* policies) const; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyHandler); |
-}; |
- |
-// Abstract class derived from ConfigurationPolicyHandler that should be |
-// subclassed to handle a single policy (not a combination of policies). |
-class TypeCheckingPolicyHandler : public ConfigurationPolicyHandler { |
- public: |
- TypeCheckingPolicyHandler(const char* policy_name, |
- base::Value::Type value_type); |
- virtual ~TypeCheckingPolicyHandler(); |
- |
- // ConfigurationPolicyHandler methods: |
- virtual bool CheckPolicySettings(const PolicyMap& policies, |
- PolicyErrorMap* errors) OVERRIDE; |
- |
- const char* policy_name() const; |
- |
- protected: |
- // Runs policy checks and returns the policy value if successful. |
- bool CheckAndGetValue(const PolicyMap& policies, |
- PolicyErrorMap* errors, |
- const Value** value); |
- |
- private: |
- // The name of the policy. |
- const char* policy_name_; |
- |
- // The type the value of the policy should have. |
- base::Value::Type value_type_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TypeCheckingPolicyHandler); |
-}; |
- |
-// Abstract class derived from TypeCheckingPolicyHandler that ensures an int |
-// policy's value lies in an allowed range. Either clamps or rejects values |
-// outside the range. |
-class IntRangePolicyHandlerBase : public TypeCheckingPolicyHandler { |
- public: |
- IntRangePolicyHandlerBase(const char* policy_name, |
- int min, |
- int max, |
- bool clamp); |
- |
- // ConfigurationPolicyHandler: |
- virtual bool CheckPolicySettings(const PolicyMap& policies, |
- PolicyErrorMap* errors) OVERRIDE; |
- |
- protected: |
- virtual ~IntRangePolicyHandlerBase(); |
- |
- // Ensures that the value is in the allowed range. Returns false if the value |
- // cannot be parsed or lies outside the allowed range and clamping is |
- // disabled. |
- bool EnsureInRange(const base::Value* input, |
- int* output, |
- PolicyErrorMap* errors); |
- |
- private: |
- // The minimum value allowed. |
- int min_; |
- |
- // The maximum value allowed. |
- int max_; |
- |
- // Whether to clamp values lying outside the allowed range instead of |
- // rejecting them. |
- bool clamp_; |
- |
- DISALLOW_COPY_AND_ASSIGN(IntRangePolicyHandlerBase); |
-}; |
- |
-// ConfigurationPolicyHandler for policies that map directly to a preference. |
-class SimplePolicyHandler : public TypeCheckingPolicyHandler { |
- public: |
- SimplePolicyHandler(const char* policy_name, |
- const char* pref_path, |
- base::Value::Type value_type); |
- virtual ~SimplePolicyHandler(); |
- |
- // ConfigurationPolicyHandler methods: |
- virtual void ApplyPolicySettings(const PolicyMap& policies, |
- PrefValueMap* prefs) OVERRIDE; |
- |
- private: |
- // The DictionaryValue path of the preference the policy maps to. |
- const char* pref_path_; |
- |
- DISALLOW_COPY_AND_ASSIGN(SimplePolicyHandler); |
-}; |
- |
-// A policy handler implementation that maps a string enum list to an int enum |
-// list as specified by a mapping table. |
-class StringToIntEnumListPolicyHandler : public TypeCheckingPolicyHandler { |
- public: |
- struct MappingEntry { |
- const char* enum_value; |
- int int_value; |
- }; |
- |
- StringToIntEnumListPolicyHandler(const char* policy_name, |
- const char* pref_path, |
- const MappingEntry* mapping_begin, |
- const MappingEntry* mapping_end); |
- |
- // ConfigurationPolicyHandler methods: |
- virtual bool CheckPolicySettings(const PolicyMap& policies, |
- PolicyErrorMap* errors) OVERRIDE; |
- virtual void ApplyPolicySettings(const PolicyMap& policies, |
- PrefValueMap* prefs) OVERRIDE; |
- |
- private: |
- // Attempts to convert the list in |input| to |output| according to the table, |
- // returns false on errors. |
- bool Convert(const base::Value* input, |
- base::ListValue* output, |
- PolicyErrorMap* errors); |
- |
- // Name of the pref to write. |
- const char* pref_path_; |
- |
- // The mapping table. |
- const MappingEntry* mapping_begin_; |
- const MappingEntry* mapping_end_; |
- |
- DISALLOW_COPY_AND_ASSIGN(StringToIntEnumListPolicyHandler); |
-}; |
- |
-// A policy handler implementation that ensures an int policy's value lies in an |
-// allowed range. |
-class IntRangePolicyHandler : public IntRangePolicyHandlerBase { |
- public: |
- IntRangePolicyHandler(const char* policy_name, |
- const char* pref_path, |
- int min, |
- int max, |
- bool clamp); |
- virtual ~IntRangePolicyHandler(); |
- |
- // ConfigurationPolicyHandler: |
- virtual void ApplyPolicySettings(const PolicyMap& policies, |
- PrefValueMap* prefs) OVERRIDE; |
- |
- private: |
- // Name of the pref to write. |
- const char* pref_path_; |
- |
- DISALLOW_COPY_AND_ASSIGN(IntRangePolicyHandler); |
-}; |
- |
-// A policy handler implementation that maps an int percentage value to a |
-// double. |
-class IntPercentageToDoublePolicyHandler : public IntRangePolicyHandlerBase { |
- public: |
- IntPercentageToDoublePolicyHandler(const char* policy_name, |
- const char* pref_path, |
- int min, |
- int max, |
- bool clamp); |
- virtual ~IntPercentageToDoublePolicyHandler(); |
- |
- // ConfigurationPolicyHandler: |
- virtual void ApplyPolicySettings(const PolicyMap& policies, |
- PrefValueMap* prefs) OVERRIDE; |
- |
- private: |
- // Name of the pref to write. |
- const char* pref_path_; |
- |
- DISALLOW_COPY_AND_ASSIGN(IntPercentageToDoublePolicyHandler); |
-}; |
- |
-} // namespace policy |
- |
-#endif // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_HANDLER_H_ |