diff options
author | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-29 15:08:33 +0000 |
---|---|---|
committer | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-29 15:08:33 +0000 |
commit | b6e695a9c6fa185592c01bd16fcbd7b95296e571 (patch) | |
tree | 10349ec3142cca9f7dcb01f6d519c7964a90d899 /chrome/browser/policy/policy_map.cc | |
parent | 8373335453c1100bcaa43f070b30a00217bd3216 (diff) | |
download | chromium_src-b6e695a9c6fa185592c01bd16fcbd7b95296e571.zip chromium_src-b6e695a9c6fa185592c01bd16fcbd7b95296e571.tar.gz chromium_src-b6e695a9c6fa185592c01bd16fcbd7b95296e571.tar.bz2 |
Move observers to ConfigurationPolicyProvider.
Share more code for ConfigurationPolicyProviders at the base class.
Removed the DummyConfigurationPolicyProvider.
Removed the DummyCloudPolicyProvider.
Moved ApplyPolicyValueTree to PolicyMap.
BUG=chromium-os:17309
TEST=Everything works as before
Review URL: http://codereview.chromium.org/8059029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103274 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/policy/policy_map.cc')
-rw-r--r-- | chrome/browser/policy/policy_map.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/chrome/browser/policy/policy_map.cc b/chrome/browser/policy/policy_map.cc index 9d93172..a9c16d9 100644 --- a/chrome/browser/policy/policy_map.cc +++ b/chrome/browser/policy/policy_map.cc @@ -46,6 +46,17 @@ void PolicyMap::CopyFrom(const PolicyMap& other) { } } +void PolicyMap::LoadFrom( + const DictionaryValue* policies, + const ConfigurationPolicyProvider::PolicyDefinitionList* list) { + const ConfigurationPolicyProvider::PolicyDefinitionList::Entry* entry; + for (entry = list->begin; entry != list->end; ++entry) { + Value* value; + if (policies->Get(entry->name, &value) && value->IsType(entry->value_type)) + Set(entry->policy_type, value->DeepCopy()); + } +} + bool PolicyMap::Equals(const PolicyMap& other) const { return other.map_.size() == map_.size() && std::equal(map_.begin(), map_.end(), other.map_.begin(), MapEntryEquals); |