service: Add __connman_service_is_idle()
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Fri, 8 Apr 2011 13:19:25 +0000 (15:19 +0200)
committerDaniel Wagner <daniel.wagner@bmw-carit.de>
Fri, 8 Apr 2011 14:53:25 +0000 (16:53 +0200)
src/connman.h
src/service.c

index fa7e4c35511af6d9545d40f96c5c3ed6d3367e14..fa28ead5836779bbbf0442d62a44143ba0f4723c 100644 (file)
@@ -567,6 +567,7 @@ GSequence *__connman_service_get_list(struct connman_session *session,
 
 connman_bool_t __connman_service_is_connecting(struct connman_service *service);
 connman_bool_t __connman_service_is_connected(struct connman_service *service);
+connman_bool_t __connman_service_is_idle(struct connman_service *service);
 const char *__connman_service_get_name(struct connman_service *service);
 
 #include <connman/location.h>
index 960a58a04dcc1ce16c269f832dcc251d8e395edb..20352bffcf51fd1fa74866a1ef23c27ce22f2b1d 100644 (file)
@@ -478,6 +478,15 @@ static connman_bool_t is_connected(struct connman_service *service)
        return is_connected_state(service, state);
 }
 
+static connman_bool_t is_idle(struct connman_service *service)
+{
+       enum connman_service_state state;
+
+       state = combine_state(service->state_ipv4, service->state_ipv6);
+
+       return state == CONNMAN_SERVICE_STATE_IDLE;
+}
+
 static void update_nameservers(struct connman_service *service)
 {
        const char *ifname;
@@ -1590,6 +1599,11 @@ connman_bool_t __connman_service_is_connected(struct connman_service *service)
        return is_connected(service);
 }
 
+connman_bool_t __connman_service_is_idle(struct connman_service *service)
+{
+       return is_idle(service);
+}
+
 const char *__connman_service_get_name(struct connman_service *service)
 {
        return service->name;