diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2010-06-16 23:41:30 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-06-16 23:42:22 +0200 |
commit | 99ea00d91233ba1d3aac9a36ebd299ac4c6b45c6 (patch) | |
tree | 4bceb2111afe468dafba65d03a179e41ca2ad843 | |
parent | 9e3f7729638f7a452f0c4dba5895ac2954c1b3e6 (diff) | |
download | connman-99ea00d91233ba1d3aac9a36ebd299ac4c6b45c6.tar.gz |
Add helper for network update
This is cleaner and more readable than going through the
network_set_group() routine.
-rw-r--r-- | include/network.h | 2 | ||||
-rw-r--r-- | src/network.c | 21 |
2 files changed, 23 insertions, 0 deletions
diff --git a/include/network.h b/include/network.h index 1f066ef4..322712ed 100644 --- a/include/network.h +++ b/include/network.h @@ -132,6 +132,8 @@ struct connman_device *connman_network_get_device(struct connman_network *networ void *connman_network_get_data(struct connman_network *network); void connman_network_set_data(struct connman_network *network, void *data); +void connman_network_update(struct connman_network *network); + struct connman_network_driver { const char *name; enum connman_network_type type; diff --git a/src/network.c b/src/network.c index eed97591..a241d15d 100644 --- a/src/network.c +++ b/src/network.c @@ -1565,6 +1565,27 @@ void connman_network_set_data(struct connman_network *network, void *data) network->driver_data = data; } +void connman_network_update(struct connman_network *network) +{ + switch (network->type) { + case CONNMAN_NETWORK_TYPE_UNKNOWN: + case CONNMAN_NETWORK_TYPE_VENDOR: + return; + case CONNMAN_NETWORK_TYPE_ETHERNET: + case CONNMAN_NETWORK_TYPE_BLUETOOTH_PAN: + case CONNMAN_NETWORK_TYPE_BLUETOOTH_DUN: + case CONNMAN_NETWORK_TYPE_CELLULAR: + case CONNMAN_NETWORK_TYPE_WIFI: + case CONNMAN_NETWORK_TYPE_WIMAX: + break; + } + + if (network->group != NULL) + __connman_service_update_from_network(network); + + return; +} + static gboolean match_driver(struct connman_network *network, struct connman_network_driver *driver) { |