summaryrefslogtreecommitdiff
path: root/vpn
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2012-11-30 09:30:51 (GMT)
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-11-30 13:01:19 (GMT)
commitc6dc437648097c21965ca87016365a7d6616ad32 (patch)
treefe0ea4c82fc07c9c272605d4b3c024041d3c57cd /vpn
parentd27c42180b7d0d6fe0e7516019d61d6022421799 (diff)
downloadconnman-c6dc437648097c21965ca87016365a7d6616ad32.zip
connman-c6dc437648097c21965ca87016365a7d6616ad32.tar.gz
connman-c6dc437648097c21965ca87016365a7d6616ad32.tar.bz2
vpn: Driver disconnect needs provider information
The provider pointer needs to be passed to VPN driver when disconnecting. Otherwise we cannot find the correct provider that is being disconnected.
Diffstat (limited to 'vpn')
-rw-r--r--vpn/plugins/vpn.c2
-rw-r--r--vpn/plugins/vpn.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c
index a8603d9..05068f5 100644
--- a/vpn/plugins/vpn.c
+++ b/vpn/plugins/vpn.c
@@ -458,7 +458,7 @@ static int vpn_disconnect(struct vpn_provider *provider)
vpn_driver_data = g_hash_table_lookup(driver_hash, name);
if (vpn_driver_data->vpn_driver->disconnect)
- vpn_driver_data->vpn_driver->disconnect();
+ vpn_driver_data->vpn_driver->disconnect(provider);
if (data->watch != 0) {
vpn_provider_unref(provider);
diff --git a/vpn/plugins/vpn.h b/vpn/plugins/vpn.h
index d1e322c..6f86aac 100644
--- a/vpn/plugins/vpn.h
+++ b/vpn/plugins/vpn.h
@@ -46,7 +46,7 @@ struct vpn_driver {
int (*connect) (struct vpn_provider *provider,
struct connman_task *task, const char *if_name,
vpn_provider_connect_cb_t cb, void *user_data);
- void (*disconnect) (void);
+ void (*disconnect) (struct vpn_provider *provider);
int (*error_code) (int exit_code);
int (*save) (struct vpn_provider *provider, GKeyFile *keyfile);
};