1513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// found in the LICENSE file. 4513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 5513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch#include "chrome/browser/policy/mock_configuration_policy_provider.h" 6513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "base/stl_util-inl.h" 8513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch#include "chrome/browser/policy/configuration_policy_pref_store.h" 9513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 10513209b27ff55e2841eac0e4120199c23acce758Ben Murdochnamespace policy { 11513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 12513209b27ff55e2841eac0e4120199c23acce758Ben MurdochMockConfigurationPolicyProvider::MockConfigurationPolicyProvider() 13513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch : ConfigurationPolicyProvider( 1421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList()), 1521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen initialization_complete_(false) { 16513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch} 17513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 18dc0f95d653279beabeb9817299e2902918ba123eKristian MonsenMockConfigurationPolicyProvider::~MockConfigurationPolicyProvider() {} 19513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 20513209b27ff55e2841eac0e4120199c23acce758Ben Murdochvoid MockConfigurationPolicyProvider::AddPolicy(ConfigurationPolicyType policy, 21513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch Value* value) { 22dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen policy_map_.Set(policy, value); 23513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch} 24513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 2521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid MockConfigurationPolicyProvider::RemovePolicy( 2621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen ConfigurationPolicyType policy) { 27dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen policy_map_.Erase(policy); 2821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 2921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 3021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenvoid MockConfigurationPolicyProvider::SetInitializationComplete( 3121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen bool initialization_complete) { 3221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen initialization_complete_ = initialization_complete; 3321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 3421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 35513209b27ff55e2841eac0e4120199c23acce758Ben Murdochbool MockConfigurationPolicyProvider::Provide( 36513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch ConfigurationPolicyStoreInterface* store) { 37513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch for (PolicyMap::const_iterator current = policy_map_.begin(); 38513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch current != policy_map_.end(); ++current) { 39513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch store->Apply(current->first, current->second->DeepCopy()); 40513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch } 41513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch return true; 42513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch} 43513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 4421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenbool MockConfigurationPolicyProvider::IsInitializationComplete() const { 4521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen return initialization_complete_; 4621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} 4721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 48dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen} // namespace policy 49