diff options
-rw-r--r-- | src/connman.h | 1 | ||||
-rw-r--r-- | src/provider.c | 17 |
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; |