OLD | NEW |
| (Empty) |
1 // Copyright 2014 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 COMPONENTS_WIFI_SYNC_WIFI_SECURITY_CLASS_H_ | |
6 #define COMPONENTS_WIFI_SYNC_WIFI_SECURITY_CLASS_H_ | |
7 | |
8 #include <string> | |
9 | |
10 #include "build/build_config.h" | |
11 #include "components/sync/protocol/sync.pb.h" | |
12 | |
13 namespace wifi_sync { | |
14 | |
15 enum WifiSecurityClass { | |
16 SECURITY_CLASS_INVALID, | |
17 SECURITY_CLASS_NONE, | |
18 SECURITY_CLASS_WEP, | |
19 SECURITY_CLASS_PSK, // WPA-PSK or RSN-PSK | |
20 SECURITY_CLASS_802_1X, // WPA-Enterprise or RSN-Enterprise | |
21 }; | |
22 | |
23 // Returns true iff |security_class| allows passphrases. Note that a | |
24 // security class may permit passphrases, without requiring them. | |
25 bool WifiSecurityClassSupportsPassphrases(WifiSecurityClass security_class); | |
26 | |
27 // Converts from Chrome Sync's serialized form of a security class, to | |
28 // a WifiSecurityClass. Returns the appropriate WifiSecurityClass | |
29 // value. If |sync_enum| is unrecognized, returns SECURITY_CLASS_INVALID. | |
30 WifiSecurityClass | |
31 WifiSecurityClassFromSyncSecurityClass( | |
32 sync_pb::WifiCredentialSpecifics_SecurityClass sync_enum); | |
33 | |
34 // Converts from a WifiSecurityClass enum to Chrome Sync's serialized | |
35 // form of a security class. Returns the appropriate sync value. If | |
36 // |security_class| is unrecognized, or unsupported by Chrome Sync, | |
37 // returns sync's SECURITY_CLASS_INVALID. | |
38 sync_pb::WifiCredentialSpecifics_SecurityClass | |
39 WifiSecurityClassToSyncSecurityClass(WifiSecurityClass security_class); | |
40 | |
41 // Converts from a WifiSecurityClass enum to an onc::wifi::kSecurity | |
42 // string value. The resulting string is written to | |
43 // |security_class_string|. Returns false if |security_class| is | |
44 // SECURITY_CLASS_INVALID, or unrecognized. | |
45 bool WifiSecurityClassToOncSecurityString(WifiSecurityClass security_class, | |
46 std::string* security_class_string); | |
47 | |
48 #if defined(OS_CHROMEOS) | |
49 // Converts from a Security string presented by the ChromeOS | |
50 // connection manager ("Shill") to a WifiSecurityClass enum. Returns | |
51 // the appropriate enum value. If |shill_security| is unrecognized, | |
52 // returns SECURITY_CLASS_INVALID. | |
53 WifiSecurityClass WifiSecurityClassFromShillSecurity( | |
54 const std::string& shill_security); | |
55 #endif // OS_CHROMEOS | |
56 | |
57 } // namespace wifi_sync | |
58 | |
59 #endif // COMPONENTS_WIFI_SYNC_WIFI_SECURITY_CLASS_H_ | |
OLD | NEW |