summaryrefslogtreecommitdiffstats
path: root/chrome/browser/policy/policy_map.cc
diff options
context:
space:
mode:
authorjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-29 15:08:33 +0000
committerjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-29 15:08:33 +0000
commitb6e695a9c6fa185592c01bd16fcbd7b95296e571 (patch)
tree10349ec3142cca9f7dcb01f6d519c7964a90d899 /chrome/browser/policy/policy_map.cc
parent8373335453c1100bcaa43f070b30a00217bd3216 (diff)
downloadchromium_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.cc11
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);