Index: components/wifi_sync/wifi_security_class_chromeos.cc |
diff --git a/components/wifi_sync/wifi_security_class_chromeos.cc b/components/wifi_sync/wifi_security_class_chromeos.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0d11e1de9d433274747623664a6626eda0d1fbfe |
--- /dev/null |
+++ b/components/wifi_sync/wifi_security_class_chromeos.cc |
@@ -0,0 +1,48 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "components/wifi_sync/wifi_security_class.h" |
+ |
+#include "base/logging.h" |
+#include "third_party/cros_system_api/dbus/service_constants.h" |
+ |
+namespace wifi_sync { |
+ |
+WifiSecurityClass WifiSecurityClassFromShillString( |
+ const std::string& security_class_in) { |
+ if (security_class_in == shill::kSecurityNone) |
+ return SECURITY_CLASS_NONE; |
+ else if (security_class_in == shill::kSecurityWep) |
+ return SECURITY_CLASS_WEP; |
+ else if (security_class_in == shill::kSecurityPsk) |
+ return SECURITY_CLASS_PSK; |
+ else if (security_class_in == shill::kSecurity8021x) |
+ return SECURITY_CLASS_802_1X; |
+ return SECURITY_CLASS_INVALID; |
+} |
+ |
+bool WifiSecurityClassToShillString(WifiSecurityClass security_class_in, |
+ std::string* security_class_out) { |
+ switch (security_class_in) { |
+ case SECURITY_CLASS_NONE: |
+ *security_class_out = shill::kSecurityNone; |
+ return true; |
+ case SECURITY_CLASS_WEP: |
+ *security_class_out = shill::kSecurityWep; |
+ return true; |
+ case SECURITY_CLASS_PSK: |
+ *security_class_out = shill::kSecurityPsk; |
+ return true; |
+ case SECURITY_CLASS_802_1X: |
+ *security_class_out = shill::kSecurity8021x; |
+ return true; |
+ case SECURITY_CLASS_INVALID: |
+ return false; |
+ } |
+ LOG(ERROR) << "Invalid WifiSecurityClass enum with value " |
+ << security_class_in; |
+ return false; |
+} |
+ |
+} // namespace wifi_sync |