diff options
author | Martin Xu <martin.xu@intel.com> | 2009-11-23 15:56:56 +0800 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-11-23 09:19:07 +0100 |
commit | cc350edc6b66083b3f29c576b31e5a7570945080 (patch) | |
tree | 47d5a0878c762bffbba40d565bba43719865801c /src/network.c | |
parent | 66101a531e2b230d9f1c799cd816b26d53377385 (diff) | |
download | connman-cc350edc6b66083b3f29c576b31e5a7570945080.tar.gz connman-cc350edc6b66083b3f29c576b31e5a7570945080.tar.bz2 connman-cc350edc6b66083b3f29c576b31e5a7570945080.zip |
Add function connman_network_set_error
Diffstat (limited to 'src/network.c')
-rw-r--r-- | src/network.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c index ea347be6..727cfa31 100644 --- a/src/network.c +++ b/src/network.c @@ -687,6 +687,35 @@ int connman_network_set_associating(struct connman_network *network, return 0; } +static void set_associate_error(struct connman_network *network) +{ + struct connman_service *service; + + if (network->associating == FALSE) + return ; + + network->associating = FALSE; + + service = __connman_service_lookup_from_network(network); + + __connman_service_indicate_state(service, + CONNMAN_SERVICE_STATE_FAILURE); +} + +void connman_network_set_error(struct connman_network *network, + enum connman_network_error error) +{ + DBG("nework %p, error %d", network, error); + + switch (error) { + case CONNMAN_NETWORK_ERROR_UNKNOWN: + return; + case CONNMAN_NETWORK_ERROR_ASSOCIATE_FAIL: + set_associate_error(network); + break; + } +} + static gboolean set_connected(gpointer user_data) { struct connman_network *network = user_data; |