diff options
Diffstat (limited to 'chrome/browser/policy/configuration_policy_provider.h')
| -rw-r--r-- | chrome/browser/policy/configuration_policy_provider.h | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/chrome/browser/policy/configuration_policy_provider.h b/chrome/browser/policy/configuration_policy_provider.h index 4115107..7969988 100644 --- a/chrome/browser/policy/configuration_policy_provider.h +++ b/chrome/browser/policy/configuration_policy_provider.h @@ -6,11 +6,13 @@ #define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PROVIDER_H_ #pragma once +#include <string> #include <vector> #include "base/basictypes.h" +#include "base/scoped_ptr.h" #include "base/values.h" -#include "chrome/browser/policy/configuration_policy_store.h" +#include "chrome/browser/policy/configuration_policy_store_interface.h" namespace policy { @@ -21,18 +23,18 @@ class ConfigurationPolicyProvider { public: // Used for static arrays of policy values that is used to initialize an // instance of the ConfigurationPolicyProvider. - struct StaticPolicyValueMap { + struct PolicyDefinitionList { struct Entry { - ConfigurationPolicyStore::PolicyType policy_type; + ConfigurationPolicyType policy_type; Value::ValueType value_type; const char* name; }; - size_t entry_count; - const Entry* entries; + const Entry* begin; + const Entry* end; }; - explicit ConfigurationPolicyProvider(const StaticPolicyValueMap& policy_map); + explicit ConfigurationPolicyProvider(const PolicyDefinitionList* policy_list); virtual ~ConfigurationPolicyProvider(); @@ -43,7 +45,7 @@ class ConfigurationPolicyProvider { // the |ConfigurationPolicyProvider| must make calls to the // |Apply| method of |store| to apply specific policies. // Returns true if the policy could be provided, otherwise false. - virtual bool Provide(ConfigurationPolicyStore* store) = 0; + virtual bool Provide(ConfigurationPolicyStoreInterface* store) = 0; // Called by the subclass provider at any time to indicate that the currently // applied policy is not longer current. A policy refresh will be initiated as @@ -51,21 +53,14 @@ class ConfigurationPolicyProvider { virtual void NotifyStoreOfPolicyChange(); protected: - // A structure mapping policies to their implementations by providers. - struct PolicyValueMapEntry { - ConfigurationPolicyStore::PolicyType policy_type; - Value::ValueType value_type; - std::string name; - }; - typedef std::vector<PolicyValueMapEntry> PolicyValueMap; - - const PolicyValueMap& policy_value_map() const { - return policy_value_map_; + const PolicyDefinitionList* policy_definition_list() const { + return policy_definition_list_; } private: // Contains the default mapping from policy values to the actual names. - PolicyValueMap policy_value_map_; + const ConfigurationPolicyProvider::PolicyDefinitionList* + policy_definition_list_; private: DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyProvider); |
