summaryrefslogtreecommitdiff
path: root/src/technology.c
diff options
context:
space:
mode:
authorAlok Barsode <alok.barsode@linux.intel.com>2011-08-24 16:44:15 +0300
committerSamuel Ortiz <sameo@linux.intel.com>2011-08-25 11:14:22 +0200
commitafe64c7ea9931f2442a464cb5c7d5bcd47e98560 (patch)
tree4c1acacf917510b2291d0b8bf1c26c62f185eb91 /src/technology.c
parentfa0e75c2255edd7cecd8a1d63390e7e000cc7d83 (diff)
downloadconnman-afe64c7ea9931f2442a464cb5c7d5bcd47e98560.tar.gz
connman-afe64c7ea9931f2442a464cb5c7d5bcd47e98560.tar.bz2
connman-afe64c7ea9931f2442a464cb5c7d5bcd47e98560.zip
technology: Remove 'available' state
The connman technology state machine is simplified. It now has 3 states: Offline: Technology is disabled. Enabled: Technology is enabled. Connected: Technology is connected.
Diffstat (limited to 'src/technology.c')
-rw-r--r--src/technology.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/technology.c b/src/technology.c
index 19a096d7..4d8eb03d 100644
--- a/src/technology.c
+++ b/src/technology.c
@@ -44,9 +44,8 @@ struct connman_rfkill {
enum connman_technology_state {
CONNMAN_TECHNOLOGY_STATE_UNKNOWN = 0,
CONNMAN_TECHNOLOGY_STATE_OFFLINE = 1,
- CONNMAN_TECHNOLOGY_STATE_AVAILABLE = 2,
- CONNMAN_TECHNOLOGY_STATE_ENABLED = 3,
- CONNMAN_TECHNOLOGY_STATE_CONNECTED = 4,
+ CONNMAN_TECHNOLOGY_STATE_ENABLED = 2,
+ CONNMAN_TECHNOLOGY_STATE_CONNECTED = 3,
};
struct connman_technology {
@@ -256,8 +255,6 @@ static const char *state2string(enum connman_technology_state state)
break;
case CONNMAN_TECHNOLOGY_STATE_OFFLINE:
return "offline";
- case CONNMAN_TECHNOLOGY_STATE_AVAILABLE:
- return "available";
case CONNMAN_TECHNOLOGY_STATE_ENABLED:
return "enabled";
case CONNMAN_TECHNOLOGY_STATE_CONNECTED:
@@ -634,10 +631,6 @@ int __connman_technology_add_device(struct connman_device *device)
if (g_atomic_int_get(&technology->blocked))
goto done;
- technology->state = CONNMAN_TECHNOLOGY_STATE_AVAILABLE;
-
- state_changed(technology);
-
done:
technology->device_list = g_slist_append(technology->device_list,
@@ -797,8 +790,7 @@ int __connman_technology_disabled(enum connman_service_type type)
if (g_atomic_int_dec_and_test(&technology->enabled) == TRUE) {
__connman_notifier_disable(type);
-
- technology->state = CONNMAN_TECHNOLOGY_STATE_AVAILABLE;
+ technology->state = CONNMAN_TECHNOLOGY_STATE_OFFLINE;
state_changed(technology);
}
@@ -809,9 +801,6 @@ int __connman_technology_disabled(enum connman_service_type type)
return 0;
}
- technology->state = CONNMAN_TECHNOLOGY_STATE_OFFLINE;
- state_changed(technology);
-
return 0;
}
@@ -992,7 +981,7 @@ int __connman_technology_update_rfkill(unsigned int index,
return 0;
technology_blocked(technology, blocked);
- technology->state = CONNMAN_TECHNOLOGY_STATE_AVAILABLE;
+ technology->state = CONNMAN_TECHNOLOGY_STATE_ENABLED;
state_changed(technology);
}
@@ -1023,7 +1012,7 @@ int __connman_technology_remove_rfkill(unsigned int index,
if (blocked &&
g_atomic_int_dec_and_test(&technology->blocked) == TRUE) {
technology_blocked(technology, FALSE);
- technology->state = CONNMAN_TECHNOLOGY_STATE_AVAILABLE;
+ technology->state = CONNMAN_TECHNOLOGY_STATE_OFFLINE;
state_changed(technology);
}