• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #ifndef CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PROVIDER_DELEGATE_WIN_H_
6 #define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PROVIDER_DELEGATE_WIN_H_
7 #pragma once
8 
9 #include "chrome/browser/policy/asynchronous_policy_provider.h"
10 
11 namespace policy {
12 
13 class ConfigurationPolicyProviderDelegateWin
14     : public AsynchronousPolicyProvider::Delegate {
15  public:
16   ConfigurationPolicyProviderDelegateWin(
17       const ConfigurationPolicyProvider::PolicyDefinitionList*
18           policy_definition_list);
~ConfigurationPolicyProviderDelegateWin()19   virtual ~ConfigurationPolicyProviderDelegateWin() {}
20 
21   // AsynchronousPolicyProvider::Delegate overrides:
22   virtual DictionaryValue* Load();
23 
24  private:
25   // Methods to perform type-specific policy lookups in the registry.
26   // HKLM is checked first, then HKCU.
27 
28   // Reads a string registry value |name| at the specified |key| and puts the
29   // resulting string in |result|.
30   bool GetRegistryPolicyString(const string16& name, string16* result) const;
31   // Gets a list value contained under |key| one level below the policy root.
32   bool GetRegistryPolicyStringList(const string16& key,
33                                    ListValue* result) const;
34   bool GetRegistryPolicyBoolean(const string16& value_name,
35                                 bool* result) const;
36   bool GetRegistryPolicyInteger(const string16& value_name,
37                                 uint32* result) const;
38 
39   const ConfigurationPolicyProvider::PolicyDefinitionList*
40       policy_definition_list_;
41 
42   DISALLOW_COPY_AND_ASSIGN(ConfigurationPolicyProviderDelegateWin);
43 };
44 
45 }  // namespace policy
46 
47 #endif  // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_PROVIDER_DELEGATE_WIN_H_
48