---
 include/provider.h |  1 +
 src/provider.c     | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/include/provider.h b/include/provider.h
index bfefaed..fdd8ae0 100644
--- a/include/provider.h
+++ b/include/provider.h
@@ -79,6 +79,7 @@ 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_remove(struct connman_provider *provider);
 
 int connman_provider_set_string(struct connman_provider *provider,
                                        const char *key, const char *value);
diff --git a/src/provider.c b/src/provider.c
index b86e7d6..f7bb4e1 100644
--- a/src/provider.c
+++ b/src/provider.c
@@ -150,6 +150,19 @@ int connman_provider_disconnect(struct connman_provider 
*provider)
        return 0;
 }
 
+int connman_provider_remove(struct connman_provider *provider)
+{
+       DBG("Removing VPN %s", provider->identifier);
+
+       provider_remove(provider);
+
+       connman_provider_set_state(provider, CONNMAN_PROVIDER_STATE_IDLE);
+
+       g_hash_table_remove(provider_hash, provider->identifier);
+
+       return 0;
+}
+
 int __connman_provider_connect(struct connman_provider *provider)
 {
        int err;
-- 
1.7.11.4

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to