From: Daniel Wagner <[email protected]>
Since the service object doesn't take a reference the
intermediate step of having a connman_network_register/unregister
is not needed. This function are only there to have an additional
step where probe()/remove() will be called. This is the job of
connman_device_add_network()/connman_device_remove_network().
---
include/network.h | 3 ---
plugins/bluetooth.c | 3 ---
plugins/ethernet.c | 3 ---
plugins/ofono.c | 4 ----
plugins/wifi.c | 8 ++++----
src/device.c | 5 ++---
src/network.c | 19 ++++---------------
src/service.c | 7 +------
8 files changed, 11 insertions(+), 41 deletions(-)
diff --git a/include/network.h b/include/network.h
index e9bbdb3..3db5e9b 100644
--- a/include/network.h
+++ b/include/network.h
@@ -138,9 +138,6 @@ void connman_network_set_data(struct connman_network
*network, void *data);
void connman_network_update(struct connman_network *network);
-int connman_network_register(struct connman_network *network);
-void connman_network_unregister(struct connman_network *network);
-
struct connman_network_driver {
const char *name;
enum connman_network_type type;
diff --git a/plugins/bluetooth.c b/plugins/bluetooth.c
index d112f87..ccc5e9b 100644
--- a/plugins/bluetooth.c
+++ b/plugins/bluetooth.c
@@ -215,7 +215,6 @@ done:
dbus_pending_call_unref(call);
- connman_network_unregister(network);
connman_network_unref(network);
}
@@ -439,8 +438,6 @@ static void network_properties_reply(DBusPendingCall *call,
void *user_data)
if (network == NULL)
goto done;
- connman_network_register(network);
-
connman_network_set_string(network, "Path", path);
connman_network_set_name(network, name);
diff --git a/plugins/ethernet.c b/plugins/ethernet.c
index 4829a33..2ccd498 100644
--- a/plugins/ethernet.c
+++ b/plugins/ethernet.c
@@ -92,15 +92,12 @@ static void add_network(struct connman_device *device)
if (network == NULL)
return;
- connman_network_register(network);
-
index = connman_device_get_index(device);
connman_network_set_index(network, index);
connman_network_set_name(network, "Wired");
if (connman_device_add_network(device, network) < 0) {
- connman_network_unregister(network);
connman_network_unref(network);
return;
}
diff --git a/plugins/ofono.c b/plugins/ofono.c
index 5a60882..9cc48c6 100644
--- a/plugins/ofono.c
+++ b/plugins/ofono.c
@@ -365,7 +365,6 @@ static void remove_network(gpointer data)
{
struct network_info *info = data;
- connman_network_unregister(info->network);
connman_network_unref(info->network);
g_free(info);
@@ -833,11 +832,8 @@ static int add_network(struct connman_device *device,
if (network == NULL)
return -ENOMEM;
- connman_network_register(network);
-
info = g_try_new0(struct network_info, 1);
if (info == NULL) {
- connman_network_unregister(network);
connman_network_unref(network);
return -ENOMEM;
}
diff --git a/plugins/wifi.c b/plugins/wifi.c
index f4e51b2..8a7da09 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -793,8 +793,6 @@ static void network_added(GSupplicantNetwork
*supplicant_network)
if (network == NULL)
return;
- connman_network_register(network);
-
connman_network_set_index(network, wifi->index);
if (connman_device_add_network(wifi->device, network) < 0) {
@@ -835,10 +833,12 @@ static void network_removed(GSupplicantNetwork *network)
if (wifi != NULL) {
connman_network = connman_device_get_network(wifi->device,
identifier);
- if (connman_network != NULL)
- connman_network_unregister(connman_network);
connman_device_remove_network(wifi->device, identifier);
+
+ if (connman_network != NULL)
+ connman_network_unref(connman_network);
+
}
}
diff --git a/src/device.c b/src/device.c
index 601f727..7d02c33 100644
--- a/src/device.c
+++ b/src/device.c
@@ -418,7 +418,7 @@ void connman_device_driver_unregister(struct
connman_device_driver *driver)
remove_driver(driver);
}
-static void unregister_network(gpointer data)
+static void free_network(gpointer data)
{
struct connman_network *network = data;
@@ -426,7 +426,6 @@ static void unregister_network(gpointer data)
__connman_network_set_device(network, NULL);
- connman_network_unregister(network);
connman_network_unref(network);
}
@@ -511,7 +510,7 @@ struct connman_device *connman_device_create(const char
*node,
}
device->networks = g_hash_table_new_full(g_str_hash, g_str_equal,
- g_free, unregister_network);
+ g_free, free_network);
device_list = g_slist_append(device_list, device);
diff --git a/src/network.c b/src/network.c
index 06aec05..220164a 100644
--- a/src/network.c
+++ b/src/network.c
@@ -242,21 +242,6 @@ static void probe_driver(struct connman_network_driver
*driver)
}
}
-int connman_network_register(struct connman_network *network)
-{
- network_list = g_slist_append(network_list, network);
-
- return network_probe(network);
-}
-
-
-void connman_network_unregister(struct connman_network *network)
-{
- network_list = g_slist_remove(network_list, network);
-
- network_remove(network);
-}
-
static void remove_driver(struct connman_network_driver *driver)
{
GSList *list;
@@ -391,6 +376,8 @@ struct connman_network *connman_network_create(const char
*identifier,
network->type = type;
network->identifier = ident;
+ network_list = g_slist_append(network_list, network);
+
return network;
}
@@ -424,6 +411,8 @@ void connman_network_unref(struct connman_network *network)
if (g_atomic_int_dec_and_test(&network->refcount) == FALSE)
return;
+ network_list = g_slist_remove(network_list, network);
+
network_destruct(network);
}
diff --git a/src/service.c b/src/service.c
index b2516cd..d442c16 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2962,8 +2962,7 @@ static void service_free(gpointer user_data)
if (service->network != NULL) {
if (service->network_created == TRUE)
- connman_network_unregister(service->network);
- connman_network_unref(service->network);
+ connman_network_unref(service->network);
}
if (service->provider != NULL)
@@ -4075,8 +4074,6 @@ static struct connman_network *create_hidden_wifi(struct
connman_device *device,
if (network == NULL)
return NULL;
- connman_network_register(network);
-
connman_network_set_blob(network, "WiFi.SSID",
(unsigned char *) ssid, ssid_len);
@@ -4085,7 +4082,6 @@ static struct connman_network *create_hidden_wifi(struct
connman_device *device,
name = g_try_malloc0(ssid_len + 1);
if (name == NULL) {
- connman_network_unregister(network);
connman_network_unref(network);
return NULL;
}
@@ -4105,7 +4101,6 @@ static struct connman_network *create_hidden_wifi(struct
connman_device *device,
connman_network_set_index(network, index);
if (connman_device_add_network(device, network) < 0) {
- connman_network_unregister(network);
connman_network_unref(network);
return NULL;
}
--
1.7.6
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman