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 2a71b95..cd059a8 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 ebdaaac..779a8cd 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -559,7 +559,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 3af6f19..c93a792 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 3417e89..5476e84 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3606,7 +3606,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);
@@ -5080,7 +5080,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();
@@ -5651,7 +5651,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) {
@@ -5693,7 +5693,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;
--
1.7.11.4
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman