summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy/configuration_policy_provider.h
diff options
context:
space:
mode:
authormnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-29 13:09:55 +0000
committermnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-29 13:09:55 +0000
commit7c5972380d2432472b0bfe25fbd07db134731007 (patch)
tree06c7114340907eeb3abf5dc72053090c7160b95f /chrome/browser/policy/configuration_policy_provider.h
parent8127442bb787fcdfe6af0c40131d11103072af17 (diff)
downloadchromium_src-7c5972380d2432472b0bfe25fbd07db134731007.zip
chromium_src-7c5972380d2432472b0bfe25fbd07db134731007.tar.gz
chromium_src-7c5972380d2432472b0bfe25fbd07db134731007.tar.bz2
Dynamic policy refresh support for the Mac.
Adapt the file watching code we already had for ConfigDirPolicyProvider to support a loader delegate, make the old code use it and change the Mac policy provider to watch for changes to the plist file in /Library/Managed Preferences/<username>. BUG=52040 TEST=unit tests Review URL: http://codereview.chromium.org/4062002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64415 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy/configuration_policy_provider.h')
-rw-r--r--chrome/browser/policy/configuration_policy_provider.h25
1 files changed, 10 insertions, 15 deletions
diff --git a/chrome/browser/policy/configuration_policy_provider.h b/chrome/browser/policy/configuration_policy_provider.h
index 4115107..da8d69eb 100644
--- a/chrome/browser/policy/configuration_policy_provider.h
+++ b/chrome/browser/policy/configuration_policy_provider.h
@@ -6,9 +6,11 @@
#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"
@@ -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;
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();
@@ -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);