From 3ebbb08880de8efe874ed421ad99e8655b75e4c2 Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Wed, 15 Feb 2012 10:19:42 +0200 Subject: [PATCH] service: adding a function to know the connected state of an ipconfig --- src/connman.h | 2 ++ src/service.c | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/connman.h b/src/connman.h index 2cb78c8..8609614 100644 --- a/src/connman.h +++ b/src/connman.h @@ -537,6 +537,8 @@ struct connman_ipconfig *__connman_service_get_ip6config( struct connman_service *service); struct connman_ipconfig *__connman_service_get_ipconfig( struct connman_service *service, int family); +connman_bool_t __connman_service_is_connected_state(struct connman_service *service, + enum connman_ipconfig_type type); const char *__connman_service_get_ident(struct connman_service *service); const char *__connman_service_get_path(struct connman_service *service); unsigned int __connman_service_get_order(struct connman_service *service); diff --git a/src/service.c b/src/service.c index a21ee3f..210f021 100644 --- a/src/service.c +++ b/src/service.c @@ -3795,6 +3795,23 @@ __connman_service_get_ipconfig(struct connman_service *service, int family) } +connman_bool_t __connman_service_is_connected_state(struct connman_service *service, + enum connman_ipconfig_type type) +{ + if (service == NULL) + return FALSE; + + switch (type) { + case CONNMAN_IPCONFIG_TYPE_UNKNOWN: + break; + case CONNMAN_IPCONFIG_TYPE_IPV4: + return is_connected_state(service, service->state_ipv4); + case CONNMAN_IPCONFIG_TYPE_IPV6: + return is_connected_state(service, service->state_ipv6); + } + + return FALSE; +} enum connman_service_security __connman_service_get_security(struct connman_service *service) { if (service == NULL) -- 2.7.4