summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy/configuration_policy_provider.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/policy/configuration_policy_provider.h')
-rw-r--r--chrome/browser/policy/configuration_policy_provider.h31
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);