OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 CHROMEOS_NETWORK_POLICY_UTIL_H_ | 5 #ifndef CHROMEOS_NETWORK_POLICY_UTIL_H_ |
6 #define CHROMEOS_NETWORK_POLICY_UTIL_H_ | 6 #define CHROMEOS_NETWORK_POLICY_UTIL_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 | 12 |
13 namespace base { | 13 namespace base { |
14 class DictionaryValue; | 14 class DictionaryValue; |
15 } | 15 } |
16 | 16 |
17 namespace chromeos { | 17 namespace chromeos { |
18 | 18 |
19 struct NetworkProfile; | 19 struct NetworkProfile; |
20 | 20 |
21 namespace policy_util { | 21 namespace policy_util { |
22 | 22 |
23 typedef std::map<std::string, const base::DictionaryValue*> GuidToPolicyMap; | 23 typedef std::map<std::string, const base::DictionaryValue*> GuidToPolicyMap; |
24 | 24 |
25 // Creates a Shill property dictionary from the given arguments. The resulting | 25 // Creates a Shill property dictionary from the given arguments. The resulting |
26 // dictionary will be sent to Shill by the caller. Depending on the profile | 26 // dictionary will be sent to Shill by the caller. Depending on the profile |
27 // type, |policy| is interpreted as the user or device policy and |settings| as | 27 // type, |policy| is interpreted as the user or device policy and |
28 // the user or shared settings. |policy| or |settings| can be NULL, but not | 28 // |user_settings| as the user or shared settings. |policy| or |user_settings| |
29 // both. | 29 // can be NULL, but not both. |
30 scoped_ptr<base::DictionaryValue> CreateShillConfiguration( | 30 scoped_ptr<base::DictionaryValue> CreateShillConfiguration( |
31 const NetworkProfile& profile, | 31 const NetworkProfile& profile, |
32 const std::string& guid, | 32 const std::string& guid, |
33 const base::DictionaryValue* policy, | 33 const base::DictionaryValue* policy, |
34 const base::DictionaryValue* settings); | 34 const base::DictionaryValue* user_settings); |
35 | 35 |
36 // Returns the policy from |policies| matching |actual_network|, if any exists. | 36 // Returns the policy from |policies| matching |actual_network|, if any exists. |
37 // Returns NULL otherwise. |actual_network| must be part of a ONC | 37 // Returns NULL otherwise. |actual_network| must be part of a ONC |
38 // NetworkConfiguration. | 38 // NetworkConfiguration. |
39 const base::DictionaryValue* FindMatchingPolicy( | 39 const base::DictionaryValue* FindMatchingPolicy( |
40 const GuidToPolicyMap& policies, | 40 const GuidToPolicyMap& policies, |
41 const base::DictionaryValue& actual_network); | 41 const base::DictionaryValue& actual_network); |
42 | 42 |
43 } // namespace policy_util | 43 } // namespace policy_util |
44 | 44 |
45 } // namespace chromeos | 45 } // namespace chromeos |
46 | 46 |
47 #endif // CHROMEOS_NETWORK_POLICY_UTIL_H_ | 47 #endif // CHROMEOS_NETWORK_POLICY_UTIL_H_ |
OLD | NEW |