summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/connman.h1
-rw-r--r--src/provider.c17
2 files changed, 18 insertions, 0 deletions
diff --git a/src/connman.h b/src/connman.h
index 556b9e1d..e97f856e 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -498,6 +498,7 @@ int __connman_private_network_release(const char *path);
#include <connman/provider.h>
+connman_bool_t __connman_provider_check_routes(struct connman_provider *provider);
int __connman_provider_append_user_route(struct connman_provider *provider,
int family, const char *network, const char *netmask);
void __connman_provider_append_properties(struct connman_provider *provider, DBusMessageIter *iter);
diff --git a/src/provider.c b/src/provider.c
index b893e20d..42fd112f 100644
--- a/src/provider.c
+++ b/src/provider.c
@@ -970,6 +970,23 @@ const char *connman_provider_get_string(struct connman_provider *provider,
return g_hash_table_lookup(provider->setting_strings, key);
}
+connman_bool_t
+__connman_provider_check_routes(struct connman_provider *provider)
+{
+ if (provider == NULL)
+ return FALSE;
+
+ if (provider->user_routes != NULL &&
+ g_hash_table_size(provider->user_routes) > 0)
+ return TRUE;
+
+ if (provider->routes != NULL &&
+ g_hash_table_size(provider->routes) > 0)
+ return TRUE;
+
+ return FALSE;
+}
+
void *connman_provider_get_data(struct connman_provider *provider)
{
return provider->driver_data;