diff options
Diffstat (limited to 'chromium/components/policy/core/common/policy_service.cc')
-rw-r--r-- | chromium/components/policy/core/common/policy_service.cc | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/chromium/components/policy/core/common/policy_service.cc b/chromium/components/policy/core/common/policy_service.cc deleted file mode 100644 index fe4bb3037ce..00000000000 --- a/chromium/components/policy/core/common/policy_service.cc +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "components/policy/core/common/policy_service.h" - -#include "base/values.h" - -namespace policy { - -PolicyChangeRegistrar::PolicyChangeRegistrar(PolicyService* policy_service, - const PolicyNamespace& ns) - : policy_service_(policy_service), - ns_(ns) {} - -PolicyChangeRegistrar::~PolicyChangeRegistrar() { - if (!callback_map_.empty()) - policy_service_->RemoveObserver(ns_.domain, this); -} - -void PolicyChangeRegistrar::Observe(const std::string& policy_name, - const UpdateCallback& callback) { - if (callback_map_.empty()) - policy_service_->AddObserver(ns_.domain, this); - callback_map_[policy_name] = callback; -} - -void PolicyChangeRegistrar::OnPolicyUpdated(const PolicyNamespace& ns, - const PolicyMap& previous, - const PolicyMap& current) { - if (ns != ns_) - return; - for (CallbackMap::iterator it = callback_map_.begin(); - it != callback_map_.end(); ++it) { - const Value* prev = previous.GetValue(it->first); - const Value* cur = current.GetValue(it->first); - if (!base::Value::Equals(prev, cur)) - it->second.Run(prev, cur); - } -} - -} // namespace policy |