Home | History | Annotate | Download | only in policy
      1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
      6 
      7 #include "base/stl_util-inl.h"
      8 #include "chrome/browser/policy/configuration_policy_pref_store.h"
      9 
     10 namespace policy {
     11 
     12 MockConfigurationPolicyProvider::MockConfigurationPolicyProvider()
     13     : ConfigurationPolicyProvider(
     14           ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList()),
     15       initialization_complete_(false) {
     16 }
     17 
     18 MockConfigurationPolicyProvider::~MockConfigurationPolicyProvider() {}
     19 
     20 void MockConfigurationPolicyProvider::AddPolicy(ConfigurationPolicyType policy,
     21                                                 Value* value) {
     22   policy_map_.Set(policy, value);
     23 }
     24 
     25 void MockConfigurationPolicyProvider::RemovePolicy(
     26     ConfigurationPolicyType policy) {
     27   policy_map_.Erase(policy);
     28 }
     29 
     30 void MockConfigurationPolicyProvider::SetInitializationComplete(
     31     bool initialization_complete) {
     32   initialization_complete_ = initialization_complete;
     33 }
     34 
     35 bool MockConfigurationPolicyProvider::Provide(
     36     ConfigurationPolicyStoreInterface* store) {
     37   for (PolicyMap::const_iterator current = policy_map_.begin();
     38        current != policy_map_.end(); ++current) {
     39     store->Apply(current->first, current->second->DeepCopy());
     40   }
     41   return true;
     42 }
     43 
     44 bool MockConfigurationPolicyProvider::IsInitializationComplete() const {
     45   return initialization_complete_;
     46 }
     47 
     48 }  // namespace policy
     49