OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_HANDLER_CHROMEOS_H_ | 5 #ifndef CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_HANDLER_CHROMEOS_H_ |
6 #define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_HANDLER_CHROMEOS_H_ | 6 #define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_HANDLER_CHROMEOS_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
| 9 #include "chrome/browser/chromeos/cros/network_ui_data.h" |
9 #include "chrome/browser/policy/configuration_policy_handler.h" | 10 #include "chrome/browser/policy/configuration_policy_handler.h" |
10 | 11 |
11 namespace policy { | 12 namespace policy { |
12 | 13 |
13 // ConfigurationPolicyHandler for validation of the network configuration | 14 // ConfigurationPolicyHandler for validation of the network configuration |
14 // policies. These actually don't set any preferences, but the handler just | 15 // policies. These actually don't set any preferences, but the handler just |
15 // generates error messages. | 16 // generates error messages. |
16 class NetworkConfigurationPolicyHandler : public TypeCheckingPolicyHandler { | 17 class NetworkConfigurationPolicyHandler : public TypeCheckingPolicyHandler { |
17 public: | 18 public: |
18 explicit NetworkConfigurationPolicyHandler(ConfigurationPolicyType type); | 19 NetworkConfigurationPolicyHandler( |
| 20 ConfigurationPolicyType type, |
| 21 chromeos::NetworkUIData::ONCSource onc_source); |
19 virtual ~NetworkConfigurationPolicyHandler(); | 22 virtual ~NetworkConfigurationPolicyHandler(); |
20 | 23 |
21 // ConfigurationPolicyHandler methods: | 24 // ConfigurationPolicyHandler methods: |
22 virtual bool CheckPolicySettings(const PolicyMap& policies, | 25 virtual bool CheckPolicySettings(const PolicyMap& policies, |
23 PolicyErrorMap* errors) OVERRIDE; | 26 PolicyErrorMap* errors) OVERRIDE; |
24 virtual void ApplyPolicySettings(const PolicyMap& policies, | 27 virtual void ApplyPolicySettings(const PolicyMap& policies, |
25 PrefValueMap* prefs) OVERRIDE; | 28 PrefValueMap* prefs) OVERRIDE; |
26 virtual void PrepareForDisplaying(PolicyMap* policies) const OVERRIDE; | 29 virtual void PrepareForDisplaying(PolicyMap* policies) const OVERRIDE; |
27 | 30 |
28 private: | 31 private: |
29 // Takes network policy in Value representation and produces an output Value | 32 // Takes network policy in Value representation and produces an output Value |
30 // that contains a pretty-printed and sanitized version. In particular, we | 33 // that contains a pretty-printed and sanitized version. In particular, we |
31 // remove any Passphrases that may be contained in the JSON. Ownership of the | 34 // remove any Passphrases that may be contained in the JSON. Ownership of the |
32 // return value is transferred to the caller. | 35 // return value is transferred to the caller. |
33 static Value* SanitizeNetworkConfig(const Value* config); | 36 static Value* SanitizeNetworkConfig(const Value* config); |
34 | 37 |
35 // Filters a network dictionary to remove all sensitive fields and replace | 38 // Filters a network dictionary to remove all sensitive fields and replace |
36 // their values with placeholders. | 39 // their values with placeholders. |
37 static void StripSensitiveValues(DictionaryValue* network_dict); | 40 static void StripSensitiveValues(DictionaryValue* network_dict); |
38 | 41 |
| 42 chromeos::NetworkUIData::ONCSource onc_source_; |
| 43 |
39 DISALLOW_COPY_AND_ASSIGN(NetworkConfigurationPolicyHandler); | 44 DISALLOW_COPY_AND_ASSIGN(NetworkConfigurationPolicyHandler); |
40 }; | 45 }; |
41 | 46 |
42 } // namespace policy | 47 } // namespace policy |
43 | 48 |
44 #endif // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_HANDLER_CHROMEOS_H_ | 49 #endif // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_HANDLER_CHROMEOS_H_ |
OLD | NEW |