From a22545efcdd9e7b1d5965d5c7b63c4d59d24cf7d Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Mon, 12 Nov 2012 14:07:24 +0200 Subject: provider: Provider disconnect function made available to plugin The VPN needs to be able to call the provider disconnect. --- include/provider.h | 2 ++ src/connman.h | 1 - src/provider.c | 4 ++-- src/service.c | 8 ++++---- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/provider.h b/include/provider.h index 2a71b95f..cd059a8e 100644 --- a/include/provider.h +++ b/include/provider.h @@ -71,6 +71,8 @@ connman_provider_ref_debug(struct connman_provider *provider, void connman_provider_unref_debug(struct connman_provider *provider, const char *file, int line, const char *caller); +int connman_provider_disconnect(struct connman_provider *provider); + int connman_provider_set_string(struct connman_provider *provider, const char *key, const char *value); const char *connman_provider_get_string(struct connman_provider *provider, diff --git a/src/connman.h b/src/connman.h index 08e03032..291da008 100644 --- a/src/connman.h +++ b/src/connman.h @@ -560,7 +560,6 @@ int __connman_provider_indicate_state(struct connman_provider *provider, int __connman_provider_indicate_error(struct connman_provider *provider, enum connman_provider_error error); int __connman_provider_connect(struct connman_provider *provider); -int __connman_provider_disconnect(struct connman_provider *provider); int __connman_provider_remove(const char *path); void __connman_provider_cleanup(void); int __connman_provider_init(void); diff --git a/src/provider.c b/src/provider.c index 3af6f19c..c93a7925 100644 --- a/src/provider.c +++ b/src/provider.c @@ -432,7 +432,7 @@ static int provider_indicate_state(struct connman_provider *provider, state, CONNMAN_IPCONFIG_TYPE_IPV6); } -int __connman_provider_disconnect(struct connman_provider *provider) +int connman_provider_disconnect(struct connman_provider *provider) { int err; @@ -1478,7 +1478,7 @@ static void provider_service_changed(struct connman_service *service, DBG("disconnect %p index %d", provider, vpn_index); - __connman_provider_disconnect(provider); + connman_provider_disconnect(provider); return; } diff --git a/src/service.c b/src/service.c index ac0704f5..2bc7fb98 100644 --- a/src/service.c +++ b/src/service.c @@ -3609,7 +3609,7 @@ static gboolean connect_timeout(gpointer user_data) if (service->network != NULL) __connman_network_disconnect(service->network); else if (service->provider != NULL) - __connman_provider_disconnect(service->provider); + connman_provider_disconnect(service->provider); __connman_ipconfig_disable(service->ipconfig_ipv4); __connman_ipconfig_disable(service->ipconfig_ipv6); @@ -5112,7 +5112,7 @@ static int service_indicate_state(struct connman_service *service) if (__connman_notifier_is_connected() == FALSE && def_service != NULL && def_service->provider != NULL) - __connman_provider_disconnect(def_service->provider); + connman_provider_disconnect(def_service->provider); default_changed(); @@ -5683,7 +5683,7 @@ int __connman_service_connect(struct connman_service *service) __connman_network_disconnect(service->network); else if (service->type == CONNMAN_SERVICE_TYPE_VPN && service->provider != NULL) - __connman_provider_disconnect(service->provider); + connman_provider_disconnect(service->provider); if (service->userconnect == TRUE) { if (err == -ENOKEY || err == -EPERM) { @@ -5727,7 +5727,7 @@ int __connman_service_disconnect(struct connman_service *service) err = __connman_network_disconnect(service->network); } else if (service->type == CONNMAN_SERVICE_TYPE_VPN && service->provider != NULL) - err = __connman_provider_disconnect(service->provider); + err = connman_provider_disconnect(service->provider); else return -EOPNOTSUPP; -- cgit v1.2.3