diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-29 13:09:55 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-29 13:09:55 +0000 |
commit | 7c5972380d2432472b0bfe25fbd07db134731007 (patch) | |
tree | 06c7114340907eeb3abf5dc72053090c7160b95f /chrome/browser/policy/configuration_policy_provider.h | |
parent | 8127442bb787fcdfe6af0c40131d11103072af17 (diff) | |
download | chromium_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.h | 25 |
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); |