Add special "online" service state
authorMarcel Holtmann <marcel@holtmann.org>
Wed, 13 Jan 2010 10:52:10 +0000 (02:52 -0800)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 13 Jan 2010 10:52:10 +0000 (02:52 -0800)
doc/overview-api.txt
include/service.h
src/service.c

index 8bc387d..90ae4df 100644 (file)
@@ -297,7 +297,13 @@ the "idle" state since the service is not connected.
                      | success                                  |
                      V                                          |
                +---------------+                                |
-               | ready         |<----------------+              |
+               | ready         |                                |
+               +---------------+                                |
+                     |                                          |
+                     | success                                  |
+                     V                                          |
+               +---------------+                                |
+               | online        |<----------------+              |
                +---------------+                 |              |
                      |                           |              |
                      | service.Disconnect()      |              |
index 3c345fa..170cd6c 100644 (file)
@@ -71,6 +71,7 @@ enum connman_service_state {
        CONNMAN_SERVICE_STATE_ASSOCIATION   = 2,
        CONNMAN_SERVICE_STATE_CONFIGURATION = 3,
        CONNMAN_SERVICE_STATE_READY         = 4,
+       CONNMAN_SERVICE_STATE_ONLINE        = 5,
        CONNMAN_SERVICE_STATE_DISCONNECT    = 6,
        CONNMAN_SERVICE_STATE_FAILURE       = 7,
 };
index f5bb772..aa0599b 100644 (file)
@@ -203,6 +203,8 @@ static const char *state2string(enum connman_service_state state)
                return "configuration";
        case CONNMAN_SERVICE_STATE_READY:
                return "ready";
+       case CONNMAN_SERVICE_STATE_ONLINE:
+               return "online";
        case CONNMAN_SERVICE_STATE_DISCONNECT:
                return "disconnect";
        case CONNMAN_SERVICE_STATE_FAILURE:
@@ -429,6 +431,7 @@ static void append_ethernet(DBusMessageIter *iter, void *user_data)
        case CONNMAN_SERVICE_STATE_ASSOCIATION:
        case CONNMAN_SERVICE_STATE_CONFIGURATION:
        case CONNMAN_SERVICE_STATE_READY:
+       case CONNMAN_SERVICE_STATE_ONLINE:
                break;
        }
 
@@ -449,6 +452,7 @@ static void append_ipv4(DBusMessageIter *iter, void *user_data)
        case CONNMAN_SERVICE_STATE_CONFIGURATION:
                return;
        case CONNMAN_SERVICE_STATE_READY:
+       case CONNMAN_SERVICE_STATE_ONLINE:
                break;
        }
 
@@ -477,6 +481,7 @@ static void append_proxy(DBusMessageIter *iter, void *user_data)
        case CONNMAN_SERVICE_STATE_CONFIGURATION:
                return;
        case CONNMAN_SERVICE_STATE_READY:
+       case CONNMAN_SERVICE_STATE_ONLINE:
                break;
        }
 
@@ -841,6 +846,7 @@ static connman_bool_t is_connecting(struct connman_service *service)
        case CONNMAN_SERVICE_STATE_FAILURE:
        case CONNMAN_SERVICE_STATE_DISCONNECT:
        case CONNMAN_SERVICE_STATE_READY:
+       case CONNMAN_SERVICE_STATE_ONLINE:
                break;
        case CONNMAN_SERVICE_STATE_ASSOCIATION:
        case CONNMAN_SERVICE_STATE_CONFIGURATION: