Add helper for network update
authorSamuel Ortiz <sameo@linux.intel.com>
Wed, 16 Jun 2010 21:41:30 +0000 (23:41 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 16 Jun 2010 21:42:22 +0000 (23:42 +0200)
This is cleaner and more readable than going through the
network_set_group() routine.

include/network.h
src/network.c

index 1f066ef..322712e 100644 (file)
@@ -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;
index eed9759..a241d15 100644 (file)
@@ -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)
 {