ipconfig: Add function to check if the ipconfig is OFF
authorJukka Rissanen <jukka.rissanen@linux.intel.com>
Tue, 7 Aug 2012 14:08:38 +0000 (17:08 +0300)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Wed, 8 Aug 2012 12:57:07 +0000 (15:57 +0300)
src/connman.h
src/ipconfig.c

index 721f9af07d1ffbbbea37758bbe289dc87f9bc32c..e72bc2a0ecdb8ebb79aca45e374e49c34fa5c32d 100644 (file)
@@ -316,6 +316,7 @@ void __connman_ipconfig_set_prefixlen(struct connman_ipconfig *ipconfig, unsigne
 
 int __connman_ipconfig_enable(struct connman_ipconfig *ipconfig);
 int __connman_ipconfig_disable(struct connman_ipconfig *ipconfig);
+connman_bool_t __connman_ipconfig_is_usable(struct connman_ipconfig *ipconfig);
 
 const char *__connman_ipconfig_method2string(enum connman_ipconfig_method method);
 const char *__connman_ipconfig_type2string(enum connman_ipconfig_type type);
index 5e34ac07d9b3befa54652ccfd7fec561644fc4b1..36067db2a61383afce8e06711833d14203886d4d 100644 (file)
@@ -1664,6 +1664,25 @@ void __connman_ipconfig_disable_ipv6(struct connman_ipconfig *ipconfig)
        disable_ipv6(ipconfig);
 }
 
+connman_bool_t __connman_ipconfig_is_usable(struct connman_ipconfig *ipconfig)
+{
+       if (ipconfig == NULL)
+               return FALSE;
+
+       switch (ipconfig->method) {
+       case CONNMAN_IPCONFIG_METHOD_UNKNOWN:
+       case CONNMAN_IPCONFIG_METHOD_OFF:
+               return FALSE;
+       case CONNMAN_IPCONFIG_METHOD_AUTO:
+       case CONNMAN_IPCONFIG_METHOD_FIXED:
+       case CONNMAN_IPCONFIG_METHOD_DHCP:
+       case CONNMAN_IPCONFIG_METHOD_MANUAL:
+               break;
+       }
+
+       return TRUE;
+}
+
 int __connman_ipconfig_enable(struct connman_ipconfig *ipconfig)
 {
        struct connman_ipdevice *ipdevice;