#include "test-connman.h"
+static enum connman_session_state string2state(const char *state)
+{
+ if (g_strcmp0(state, "connected") == 0)
+ return CONNMAN_SESSION_STATE_CONNECTED;
+ if (g_strcmp0(state, "online") == 0)
+ return CONNMAN_SESSION_STATE_ONLINE;
+
+ return CONNMAN_SESSION_STATE_DISCONNECTED;
+}
+
static const char *roamingpolicy2string(enum connman_session_roaming_policy policy)
{
switch (policy) {
}
break;
case DBUS_TYPE_BOOLEAN:
- if (g_str_equal(key, "Online") == TRUE) {
- dbus_message_iter_get_basic(&value,
- &info->online);
- } else if (g_str_equal(key, "Priority") == TRUE) {
+ if (g_str_equal(key, "Priority") == TRUE) {
dbus_message_iter_get_basic(&value,
&info->priority);
}
break;
case DBUS_TYPE_STRING:
- if (g_str_equal(key, "Bearer") == TRUE) {
+ if (g_str_equal(key, "State") == TRUE) {
+ const char *val;
+ dbus_message_iter_get_basic(&value, &val);
+
+ info->state = string2state(val);
+ } else if (g_str_equal(key, "Bearer") == TRUE) {
const char *val;
dbus_message_iter_get_basic(&value, &val);
static void test_session_connect_notify(struct test_session *session)
{
- LOG("session %p online %d", session, session->info->online);
+ LOG("session %p state %d", session, session->info->state);
- if (session->info->online != TRUE)
+ if (session->info->state == CONNMAN_SESSION_STATE_DISCONNECTED)
return;
util_session_cleanup(session);
static void test_session_disconnect_notify(struct test_session *session)
{
- LOG("session %p online %d", session, session->info->online);
+ LOG("session %p state %d", session, session->info->state);
- if (session->info->online != FALSE)
+ if (session->info->state >= CONNMAN_SESSION_STATE_CONNECTED)
return;
util_session_cleanup(session);
enum test_session_state next_state = state;
DBusMessage *msg;
- LOG("state %d session %p %s online %d", state, session,
- session->notify_path, session->info->online);
+ LOG("state %d session %p %s state %d", state, session,
+ session->notify_path, session->info->state);
switch (state) {
case TEST_SESSION_STATE_0:
- if (session->info->online == FALSE)
+ if (session->info->state == CONNMAN_SESSION_STATE_DISCONNECTED)
next_state = TEST_SESSION_STATE_1;
break;
case TEST_SESSION_STATE_1:
- if (session->info->online == TRUE)
+ if (session->info->state >= CONNMAN_SESSION_STATE_CONNECTED)
next_state = TEST_SESSION_STATE_2;
break;
case TEST_SESSION_STATE_2:
- if (session->info->online == FALSE)
+ if (session->info->state == CONNMAN_SESSION_STATE_DISCONNECTED)
next_state = TEST_SESSION_STATE_3;
default:
break;
enum test_session_state next_state = state;
DBusMessage *msg;
- LOG("state %d session %p %s online %d", state, session,
- session->notify_path, session->info->online);
+ LOG("state %d session %p %s state %d", state, session,
+ session->notify_path, session->info->state);
switch (state) {
case TEST_SESSION_STATE_0:
- if (session0->info->online == FALSE &&
- session1->info->online == FALSE) {
+ if (session0->info->state == CONNMAN_SESSION_STATE_DISCONNECTED
+ && session1->info->state ==
+ CONNMAN_SESSION_STATE_DISCONNECTED) {
next_state = TEST_SESSION_STATE_1;
}
break;
case TEST_SESSION_STATE_1:
- if (session0->info->online == TRUE &&
- session1->info->online == TRUE) {
+ if (session0->info->state >= CONNMAN_SESSION_STATE_CONNECTED &&
+ session1->info->state >=
+ CONNMAN_SESSION_STATE_CONNECTED) {
next_state = TEST_SESSION_STATE_2;
}
break;
case TEST_SESSION_STATE_2:
- if (session0->info->online == FALSE &&
- session1->info->online == FALSE) {
+ if (session0->info->state == CONNMAN_SESSION_STATE_DISCONNECTED
+ && session1->info->state ==
+ CONNMAN_SESSION_STATE_DISCONNECTED) {
next_state = TEST_SESSION_STATE_3;
}