| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2011 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/configuration_policy_provider_keeper.h" | |
| 6 | |
| 7 #include "base/path_service.h" | |
| 8 #include "chrome/browser/policy/configuration_policy_pref_store.h" | |
| 9 #include "chrome/browser/policy/configuration_policy_provider.h" | |
| 10 #if defined(OS_WIN) | |
| 11 #include "chrome/browser/policy/configuration_policy_provider_win.h" | |
| 12 #elif defined(OS_MACOSX) | |
| 13 #include "chrome/browser/policy/configuration_policy_provider_mac.h" | |
| 14 #elif defined(OS_POSIX) | |
| 15 #include "chrome/browser/policy/config_dir_policy_provider.h" | |
| 16 #endif | |
| 17 #include "chrome/browser/policy/dummy_configuration_policy_provider.h" | |
| 18 #include "chrome/common/chrome_paths.h" | |
| 19 | |
| 20 namespace policy { | |
| 21 | |
| 22 ConfigurationPolicyProviderKeeper::ConfigurationPolicyProviderKeeper() | |
| 23 : managed_platform_provider_(CreateManagedPlatformProvider()), | |
| 24 device_management_provider_(CreateDeviceManagementProvider()), | |
| 25 recommended_provider_(CreateRecommendedProvider()) { | |
| 26 } | |
| 27 | |
| 28 ConfigurationPolicyProviderKeeper::ConfigurationPolicyProviderKeeper( | |
| 29 ConfigurationPolicyProvider* managed_platform_provider, | |
| 30 ConfigurationPolicyProvider* device_management_provider, | |
| 31 ConfigurationPolicyProvider* recommended_provider) | |
| 32 : managed_platform_provider_(managed_platform_provider), | |
| 33 device_management_provider_(device_management_provider), | |
| 34 recommended_provider_(recommended_provider) { | |
| 35 } | |
| 36 | |
| 37 ConfigurationPolicyProviderKeeper::~ConfigurationPolicyProviderKeeper() {} | |
| 38 | |
| 39 ConfigurationPolicyProvider* | |
| 40 ConfigurationPolicyProviderKeeper::managed_platform_provider() const { | |
| 41 return managed_platform_provider_.get(); | |
| 42 } | |
| 43 | |
| 44 ConfigurationPolicyProvider* | |
| 45 ConfigurationPolicyProviderKeeper::device_management_provider() const { | |
| 46 return device_management_provider_.get(); | |
| 47 } | |
| 48 | |
| 49 ConfigurationPolicyProvider* | |
| 50 ConfigurationPolicyProviderKeeper::recommended_provider() const { | |
| 51 return recommended_provider_.get(); | |
| 52 } | |
| 53 | |
| 54 ConfigurationPolicyProvider* | |
| 55 ConfigurationPolicyProviderKeeper::CreateManagedPlatformProvider() { | |
| 56 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list = | |
| 57 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(); | |
| 58 #if defined(OS_WIN) | |
| 59 return new ConfigurationPolicyProviderWin(policy_list); | |
| 60 #elif defined(OS_MACOSX) | |
| 61 return new ConfigurationPolicyProviderMac(policy_list); | |
| 62 #elif defined(OS_POSIX) | |
| 63 FilePath config_dir_path; | |
| 64 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) { | |
| 65 return new ConfigDirPolicyProvider( | |
| 66 policy_list, | |
| 67 config_dir_path.Append(FILE_PATH_LITERAL("managed"))); | |
| 68 } else { | |
| 69 return new DummyConfigurationPolicyProvider(policy_list); | |
| 70 } | |
| 71 #else | |
| 72 return new DummyConfigurationPolicyProvider(policy_list); | |
| 73 #endif | |
| 74 } | |
| 75 | |
| 76 ConfigurationPolicyProvider* | |
| 77 ConfigurationPolicyProviderKeeper::CreateDeviceManagementProvider() { | |
| 78 return new DummyConfigurationPolicyProvider( | |
| 79 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList()); | |
| 80 } | |
| 81 | |
| 82 ConfigurationPolicyProvider* | |
| 83 ConfigurationPolicyProviderKeeper::CreateRecommendedProvider() { | |
| 84 const ConfigurationPolicyProvider::PolicyDefinitionList* policy_list = | |
| 85 ConfigurationPolicyPrefStore::GetChromePolicyDefinitionList(); | |
| 86 #if defined(OS_POSIX) && !defined(OS_MACOSX) | |
| 87 FilePath config_dir_path; | |
| 88 if (PathService::Get(chrome::DIR_POLICY_FILES, &config_dir_path)) { | |
| 89 return new ConfigDirPolicyProvider( | |
| 90 policy_list, | |
| 91 config_dir_path.Append(FILE_PATH_LITERAL("recommended"))); | |
| 92 } else { | |
| 93 return new DummyConfigurationPolicyProvider(policy_list); | |
| 94 } | |
| 95 #else | |
| 96 return new DummyConfigurationPolicyProvider(policy_list); | |
| 97 #endif | |
| 98 } | |
| 99 | |
| 100 } // namespace | |
| OLD | NEW |