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 721f9af..e72bc2a 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 5e34ac0..36067db 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;