Input a string, output a security type, if any was detected.
---
 src/connman.h |  1 +
 src/service.c | 17 +++++++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/src/connman.h b/src/connman.h
index db6461f..9fecb28 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -736,6 +736,7 @@ void __connman_service_set_config(struct connman_service 
*service,
 
 const char *__connman_service_type2string(enum connman_service_type type);
 enum connman_service_type __connman_service_string2type(const char *str);
+enum connman_service_security __connman_service_string2security(const char 
*str);
 
 int __connman_service_nameserver_append(struct connman_service *service,
                                const char *nameserver, bool is_auto);
diff --git a/src/service.c b/src/service.c
index 5c9a3db..0d2007d 100644
--- a/src/service.c
+++ b/src/service.c
@@ -234,6 +234,23 @@ enum connman_service_type 
__connman_service_string2type(const char *str)
        return CONNMAN_SERVICE_TYPE_UNKNOWN;
 }
 
+enum connman_service_security __connman_service_string2security(const char 
*str)
+{
+       if (!str)
+               return CONNMAN_SERVICE_SECURITY_UNKNOWN;
+
+       if (!strcmp(str, "psk"))
+               return CONNMAN_SERVICE_SECURITY_PSK;
+       if (!strcmp(str, "ieee8021x"))
+               return CONNMAN_SERVICE_SECURITY_8021X;
+       if (!strcmp(str, "none"))
+               return CONNMAN_SERVICE_SECURITY_NONE;
+       if (!strcmp(str, "wep"))
+               return CONNMAN_SERVICE_SECURITY_WEP;
+
+       return CONNMAN_SERVICE_SECURITY_UNKNOWN;
+}
+
 static const char *security2string(enum connman_service_security security)
 {
        switch (security) {
-- 
1.9.1

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to