service: Add __connman_service_string2type() function
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Thu, 5 Apr 2012 19:38:32 +0000 (22:38 +0300)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Wed, 11 Apr 2012 10:21:27 +0000 (13:21 +0300)
src/connman.h
src/service.c

index 463b3b7..306e9d6 100644 (file)
@@ -619,6 +619,7 @@ void __connman_service_auto_connect(void);
 void __connman_service_provision_changed(const char *ident);
 
 const char *__connman_service_type2string(enum connman_service_type type);
+enum connman_service_type __connman_service_string2type(const char *str);
 
 int __connman_service_nameserver_append(struct connman_service *service,
                                const char *nameserver, gboolean is_auto);
index be576b6..8a7e423 100644 (file)
@@ -170,6 +170,33 @@ const char *__connman_service_type2string(enum connman_service_type type)
        return NULL;
 }
 
+enum connman_service_type __connman_service_string2type(const char *str)
+{
+       if (str == NULL)
+               return CONNMAN_SERVICE_TYPE_UNKNOWN;
+
+       if (strcmp(str, "ethernet") == 0)
+               return CONNMAN_SERVICE_TYPE_ETHERNET;
+       if (strcmp(str, "gadget") == 0)
+               return CONNMAN_SERVICE_TYPE_GADGET;
+       if (strcmp(str, "wifi") == 0)
+               return CONNMAN_SERVICE_TYPE_WIFI;
+       if (strcmp(str, "cellular") == 0)
+               return CONNMAN_SERVICE_TYPE_CELLULAR;
+       if (strcmp(str, "bluetooth") == 0)
+               return CONNMAN_SERVICE_TYPE_BLUETOOTH;
+       if (strcmp(str, "wimax") == 0)
+               return CONNMAN_SERVICE_TYPE_WIMAX;
+       if (strcmp(str, "vpn") == 0)
+               return CONNMAN_SERVICE_TYPE_VPN;
+       if (strcmp(str, "gps") == 0)
+               return CONNMAN_SERVICE_TYPE_GPS;
+       if (strcmp(str, "system") == 0)
+               return CONNMAN_SERVICE_TYPE_SYSTEM;
+
+       return CONNMAN_SERVICE_TYPE_UNKNOWN;
+}
+
 static const char *security2string(enum connman_service_security security)
 {
        switch (security) {