vpn-provider: Set state when connecting and disconnecting
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 14 Dec 2012 11:01:18 +0000 (13:01 +0200)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 14 Dec 2012 14:16:10 +0000 (16:16 +0200)
Update provider state when connect or disconnect is initiated.

vpn/vpn-provider.c

index 0b164c0..e98573f 100644 (file)
@@ -966,14 +966,10 @@ int __vpn_provider_disconnect(struct vpn_provider *provider)
        else
                return -EOPNOTSUPP;
 
-       if (err < 0) {
-               if (err != -EINPROGRESS)
-                       return err;
-
-               return -EINPROGRESS;
-       }
+       if (err == -EINPROGRESS)
+               vpn_provider_set_state(provider, VPN_PROVIDER_STATE_CONNECT);
 
-       return 0;
+       return err;
 }
 
 static void connect_cb(struct vpn_provider *provider, void *user_data,
@@ -1009,6 +1005,9 @@ int __vpn_provider_connect(struct vpn_provider *provider, DBusMessage *msg)
        } else
                return -EOPNOTSUPP;
 
+       if (err == -EINPROGRESS)
+               vpn_provider_set_state(provider, VPN_PROVIDER_STATE_CONNECT);
+
        return err;
 }