summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2012-04-05 22:38:32 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-04-11 13:21:27 +0300
commit277eb409c909f4f7361bf441984656b0a7941de3 (patch)
tree70e5e06253e8acfbf30cf049877b4c84b9f5ac77
parent4fdc5f62f304215559c41ca34233b0a10e9c4b2f (diff)
downloadconnman-277eb409c909f4f7361bf441984656b0a7941de3.tar.gz
connman-277eb409c909f4f7361bf441984656b0a7941de3.tar.bz2
connman-277eb409c909f4f7361bf441984656b0a7941de3.zip
service: Add __connman_service_string2type() function
-rw-r--r--src/connman.h1
-rw-r--r--src/service.c27
2 files changed, 28 insertions, 0 deletions
diff --git a/src/connman.h b/src/connman.h
index 463b3b77..306e9d66 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -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);
diff --git a/src/service.c b/src/service.c
index be576b66..8a7e4238 100644
--- a/src/service.c
+++ b/src/service.c
@@ -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) {