Make use of property changed helper for arrays
authorMarcel Holtmann <marcel@holtmann.org>
Sat, 19 Dec 2009 23:12:10 +0000 (15:12 -0800)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 19 Dec 2009 23:12:10 +0000 (15:12 -0800)
src/device.c
src/network.c
src/notifier.c
src/profile.c

index 4515245..fba934e 100644 (file)
@@ -480,19 +480,9 @@ static GDBusSignalTable device_signals[] = {
 
 static void emit_devices_signal(void)
 {
-       DBusMessage *signal;
-       DBusMessageIter iter;
-
-       signal = dbus_message_new_signal(CONNMAN_MANAGER_PATH,
-                               CONNMAN_MANAGER_INTERFACE, "PropertyChanged");
-       if (signal == NULL)
-               return;
-
-       dbus_message_iter_init_append(signal, &iter);
-       connman_dbus_property_append_variable_array(&iter, "Devices",
+       connman_dbus_property_changed_array(CONNMAN_MANAGER_PATH,
+                       CONNMAN_MANAGER_INTERFACE, "Devices",
                        DBUS_TYPE_OBJECT_PATH, __connman_device_list, NULL);
-
-       g_dbus_send_message(connection, signal);
 }
 
 static int register_interface(struct connman_element *element)
index 81be9be..6c1a359 100644 (file)
@@ -190,19 +190,10 @@ static void append_networks(DBusMessageIter *iter, void *user_data)
 static void emit_networks_signal(struct connman_device *device)
 {
        const char *path = connman_device_get_path(device);
-       DBusMessage *signal;
-       DBusMessageIter iter;
 
-       signal = dbus_message_new_signal(path,
-                               CONNMAN_DEVICE_INTERFACE, "PropertyChanged");
-       if (signal == NULL)
-               return;
-
-       dbus_message_iter_init_append(signal, &iter);
-       connman_dbus_property_append_variable_array(&iter, "Networks",
+       connman_dbus_property_changed_array(path,
+                       CONNMAN_DEVICE_INTERFACE, "Networks",
                        DBUS_TYPE_OBJECT_PATH, append_networks, device);
-
-       g_dbus_send_message(connection, signal);
 }
 
 static int register_interface(struct connman_element *element)
index de371be..8a14075 100644 (file)
@@ -127,46 +127,24 @@ void __connman_notifier_list_connected(DBusMessageIter *iter, void *user_data)
 static void technology_registered(enum connman_service_type type,
                                                connman_bool_t registered)
 {
-       DBusMessage *signal;
-       DBusMessageIter iter;
-
        DBG("type %d registered %d", type, registered);
 
-       signal = dbus_message_new_signal(CONNMAN_MANAGER_PATH,
-                               CONNMAN_MANAGER_INTERFACE, "PropertyChanged");
-       if (signal == NULL)
-               return;
-
-       dbus_message_iter_init_append(signal, &iter);
-       connman_dbus_property_append_variable_array(&iter,
-                               "AvailableTechnologies", DBUS_TYPE_STRING,
-                               __connman_notifier_list_registered, NULL);
-
-       g_dbus_send_message(connection, signal);
+       connman_dbus_property_changed_array(CONNMAN_MANAGER_PATH,
+               CONNMAN_MANAGER_INTERFACE, "AvailableTechnologies",
+               DBUS_TYPE_STRING, __connman_notifier_list_registered, NULL);
 }
 
 static void technology_enabled(enum connman_service_type type,
                                                connman_bool_t enabled)
 {
-       DBusMessage *signal;
-       DBusMessageIter iter;
        GSList *list;
 
        DBG("type %d enabled %d", type, enabled);
 
-       signal = dbus_message_new_signal(CONNMAN_MANAGER_PATH,
-                               CONNMAN_MANAGER_INTERFACE, "PropertyChanged");
-       if (signal == NULL)
-               goto done;
-
-       dbus_message_iter_init_append(signal, &iter);
-       connman_dbus_property_append_variable_array(&iter,
-                               "EnabledTechnologies", DBUS_TYPE_STRING,
-                               __connman_notifier_list_enabled, NULL);
+       connman_dbus_property_changed_array(CONNMAN_MANAGER_PATH,
+               CONNMAN_MANAGER_INTERFACE, "EnabledTechnologies",
+               DBUS_TYPE_STRING, __connman_notifier_list_enabled, NULL);
 
-       g_dbus_send_message(connection, signal);
-
-done:
        for (list = notifier_list; list; list = list->next) {
                struct connman_notifier *notifier = list->data;
 
@@ -178,22 +156,11 @@ done:
 static void technology_connected(enum connman_service_type type,
                                                connman_bool_t connected)
 {
-       DBusMessage *signal;
-       DBusMessageIter iter;
-
        DBG("type %d connected %d", type, connected);
 
-       signal = dbus_message_new_signal(CONNMAN_MANAGER_PATH,
-                               CONNMAN_MANAGER_INTERFACE, "PropertyChanged");
-       if (signal == NULL)
-               return;
-
-       dbus_message_iter_init_append(signal, &iter);
-       connman_dbus_property_append_variable_array(&iter,
-                               "ConnectedTechnologies", DBUS_TYPE_STRING,
-                               __connman_notifier_list_connected, NULL);
-
-       g_dbus_send_message(connection, signal);
+       connman_dbus_property_changed_array(CONNMAN_MANAGER_PATH,
+               CONNMAN_MANAGER_INTERFACE, "ConnectedTechnologies",
+               DBUS_TYPE_STRING, __connman_notifier_list_connected, NULL);
 }
 
 void __connman_notifier_register(enum connman_service_type type)
index 74fa0f7..4355704 100644 (file)
@@ -60,21 +60,9 @@ void __connman_profile_list(DBusMessageIter *iter, void *user_data)
 
 static void profiles_changed(void)
 {
-       DBusMessage *signal;
-       DBusMessageIter iter;
-
-       DBG("");
-
-       signal = dbus_message_new_signal(CONNMAN_MANAGER_PATH,
-                               CONNMAN_MANAGER_INTERFACE, "PropertyChanged");
-       if (signal == NULL)
-               return;
-
-       dbus_message_iter_init_append(signal, &iter);
-       connman_dbus_property_append_variable_array(&iter, "Profiles",
+       connman_dbus_property_changed_array(CONNMAN_MANAGER_PATH,
+                       CONNMAN_MANAGER_INTERFACE, "Profiles",
                        DBUS_TYPE_OBJECT_PATH, __connman_profile_list, NULL);
-
-       g_dbus_send_message(connection, signal);
 }
 
 static void name_changed(struct connman_profile *profile)
@@ -151,42 +139,24 @@ static guint changed_timeout = 0;
 static gboolean services_changed(gpointer user_data)
 {
        struct connman_profile *profile = default_profile;
-       DBusMessage *signal;
-       DBusMessageIter iter;
+       connman_dbus_append_cb_t function = NULL;
 
        changed_timeout = 0;
 
        if (profile == NULL)
                return FALSE;
 
-       signal = dbus_message_new_signal(profile->path,
-                               CONNMAN_PROFILE_INTERFACE, "PropertyChanged");
-       if (signal == NULL)
-               return FALSE;
+       if (g_strcmp0(profile->ident, PROFILE_DEFAULT_IDENT) == 0) {
+               function = __connman_service_list;
 
-       dbus_message_iter_init_append(signal, &iter);
-       if (g_strcmp0(profile->ident, PROFILE_DEFAULT_IDENT) == 0)
-               connman_dbus_property_append_variable_array(&iter, "Services",
-                       DBUS_TYPE_OBJECT_PATH, __connman_service_list, NULL);
-       else
-               connman_dbus_property_append_variable_array(&iter, "Services",
-                                       DBUS_TYPE_OBJECT_PATH, NULL, NULL);
-
-       g_dbus_send_message(connection, signal);
-
-       if (g_strcmp0(profile->ident, PROFILE_DEFAULT_IDENT) != 0)
-               return FALSE;
-
-       signal = dbus_message_new_signal(CONNMAN_MANAGER_PATH,
-                               CONNMAN_MANAGER_INTERFACE, "PropertyChanged");
-       if (signal == NULL)
-               return FALSE;
-
-       dbus_message_iter_init_append(signal, &iter);
-       connman_dbus_property_append_variable_array(&iter, "Services",
-                       DBUS_TYPE_OBJECT_PATH, __connman_service_list, NULL);
+               connman_dbus_property_changed_array(CONNMAN_MANAGER_PATH,
+                               CONNMAN_MANAGER_INTERFACE, "Services",
+                               DBUS_TYPE_OBJECT_PATH, function, NULL);
+       }
 
-       g_dbus_send_message(connection, signal);
+       connman_dbus_property_changed_array(profile->path,
+                               CONNMAN_PROFILE_INTERFACE, "Services",
+                               DBUS_TYPE_OBJECT_PATH, function, NULL);
 
        return FALSE;
 }