summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-01-14 12:38:07 +0100
committerThomas Haller <thaller@redhat.com>2020-01-14 15:30:59 +0100
commitccec37c9cf8ad5ad803b50ba72f2b31fa769a0d7 (patch)
tree0e3979b0c928669723e73949394f69efb3ea3245
parentda4cb13730435fe1430c6c839df17b0d8c181851 (diff)
downloadNetworkManager-ccec37c9cf8ad5ad803b50ba72f2b31fa769a0d7.tar.gz
shared: remove nm_dbus_connection_signal_subscribe_object_manager() helper
It seems to complicate things more than helping. Drop it. What we still have is a wrapper around plain g_dbus_connection_signal_subscribe(). That one is trivial and helpful. The previous wrapper seems to add more complexity.
-rw-r--r--libnm/nm-client.c14
-rw-r--r--shared/nm-glib-aux/nm-dbus-aux.c92
-rw-r--r--shared/nm-glib-aux/nm-dbus-aux.h26
-rw-r--r--src/devices/bluetooth/nm-bluez-manager.c14
4 files changed, 21 insertions, 125 deletions
diff --git a/libnm/nm-client.c b/libnm/nm-client.c
index 8c1b0b9f62..534df8a9e6 100644
--- a/libnm/nm-client.c
+++ b/libnm/nm-client.c
@@ -6635,13 +6635,13 @@ _init_fetch_all (NMClient *self)
priv->get_managed_objects_cancellable = g_cancellable_new ();
- priv->dbsid_nm_object_manager = nm_dbus_connection_signal_subscribe_object_manager_plain (priv->dbus_connection,
- priv->name_owner,
- "/org/freedesktop",
- NULL,
- _dbus_managed_objects_changed_cb,
- self,
- NULL);
+ priv->dbsid_nm_object_manager = nm_dbus_connection_signal_subscribe_object_manager (priv->dbus_connection,
+ priv->name_owner,
+ "/org/freedesktop",
+ NULL,
+ _dbus_managed_objects_changed_cb,
+ self,
+ NULL);
priv->dbsid_dbus_properties_properties_changed = nm_dbus_connection_signal_subscribe_properties_changed (priv->dbus_connection,
priv->name_owner,
diff --git a/shared/nm-glib-aux/nm-dbus-aux.c b/shared/nm-glib-aux/nm-dbus-aux.c
index 86061aefdf..faf54e8bbc 100644
--- a/shared/nm-glib-aux/nm-dbus-aux.c
+++ b/shared/nm-glib-aux/nm-dbus-aux.c
@@ -102,98 +102,6 @@ nm_dbus_connection_call_get_all (GDBusConnection *dbus_connection,
/*****************************************************************************/
-typedef struct {
- NMDBusConnectionSignalObjectMangerCb callback;
- gpointer user_data;
- GDestroyNotify user_data_free_func;
-} SubscribeObjectManagerData;
-
-static void
-_subscribe_object_manager_cb (GDBusConnection *connection,
- const char *sender_name,
- const char *arg_object_path,
- const char *interface_name,
- const char *signal_name,
- GVariant *parameters,
- gpointer user_data)
-{
- const SubscribeObjectManagerData *d = user_data;
-
- nm_assert (nm_streq0 (interface_name, DBUS_INTERFACE_OBJECT_MANAGER));
-
- if (nm_streq (signal_name, "InterfacesAdded")) {
- gs_unref_variant GVariant *interfaces_and_properties = NULL;
- const char *object_path;
-
- if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(oa{sa{sv}})")))
- return;
-
- g_variant_get (parameters,
- "(&o@a{sa{sv}})",
- &object_path,
- &interfaces_and_properties);
-
- d->callback (object_path, interfaces_and_properties, NULL, d->user_data);
- return;
- }
-
- if (nm_streq (signal_name, "InterfacesRemoved")) {
- gs_free const char **interfaces = NULL;
- const char *object_path;
-
- if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(oas)")))
- return;
-
- g_variant_get (parameters,
- "(&o^a&s)",
- &object_path,
- &interfaces);
-
- d->callback (object_path, NULL, interfaces, d->user_data);
- return;
- }
-}
-
-static void
-_subscribe_object_manager_data_free (gpointer ptr)
-{
- SubscribeObjectManagerData *d = ptr;
-
- if (d->user_data_free_func)
- d->user_data_free_func (d->user_data);
- nm_g_slice_free (d);
-}
-
-guint
-nm_dbus_connection_signal_subscribe_object_manager (GDBusConnection *dbus_connection,
- const char *service_name,
- const char *object_path,
- NMDBusConnectionSignalObjectMangerCb callback,
- gpointer user_data,
- GDestroyNotify user_data_free_func)
-{
- SubscribeObjectManagerData *d;
-
- g_return_val_if_fail (callback, 0);
-
- d = g_slice_new (SubscribeObjectManagerData);
- *d = (SubscribeObjectManagerData) {
- .callback = callback,
- .user_data = user_data,
- .user_data_free_func = user_data_free_func,
- };
-
- return nm_dbus_connection_signal_subscribe_object_manager_plain (dbus_connection,
- service_name,
- object_path,
- NULL,
- _subscribe_object_manager_cb,
- d,
- _subscribe_object_manager_data_free);
-}
-
-/*****************************************************************************/
-
static void
_nm_dbus_connection_call_get_managed_objects_cb (GObject *source,
GAsyncResult *res,
diff --git a/shared/nm-glib-aux/nm-dbus-aux.h b/shared/nm-glib-aux/nm-dbus-aux.h
index 840e23c275..8ff14adc88 100644
--- a/shared/nm-glib-aux/nm-dbus-aux.h
+++ b/shared/nm-glib-aux/nm-dbus-aux.h
@@ -131,13 +131,13 @@ void nm_dbus_connection_call_get_all (GDBusConnection *dbus_connection,
/*****************************************************************************/
static inline guint
-nm_dbus_connection_signal_subscribe_object_manager_plain (GDBusConnection *dbus_connection,
- const char *service_name,
- const char *object_path,
- const char *signal_name,
- GDBusSignalCallback callback,
- gpointer user_data,
- GDestroyNotify user_data_free_func)
+nm_dbus_connection_signal_subscribe_object_manager (GDBusConnection *dbus_connection,
+ const char *service_name,
+ const char *object_path,
+ const char *signal_name,
+ GDBusSignalCallback callback,
+ gpointer user_data,
+ GDestroyNotify user_data_free_func)
{
return g_dbus_connection_signal_subscribe (dbus_connection,
service_name,
@@ -151,18 +151,6 @@ nm_dbus_connection_signal_subscribe_object_manager_plain (GDBusConnection *dbus_
user_data_free_func);
}
-typedef void (*NMDBusConnectionSignalObjectMangerCb) (const char *object_path,
- GVariant *added_interfaces_and_properties,
- const char *const*removed_interfaces,
- gpointer user_data);
-
-guint nm_dbus_connection_signal_subscribe_object_manager (GDBusConnection *dbus_connection,
- const char *service_name,
- const char *object_path,
- NMDBusConnectionSignalObjectMangerCb callback,
- gpointer user_data,
- GDestroyNotify user_data_free_func);
-
void nm_dbus_connection_call_get_managed_objects (GDBusConnection *dbus_connection,
const char *bus_name,
const char *object_path,
diff --git a/src/devices/bluetooth/nm-bluez-manager.c b/src/devices/bluetooth/nm-bluez-manager.c
index 1c494a11d7..84b8c28e88 100644
--- a/src/devices/bluetooth/nm-bluez-manager.c
+++ b/src/devices/bluetooth/nm-bluez-manager.c
@@ -2263,13 +2263,13 @@ name_owner_changed (NMBluezManager *self,
priv->get_managed_objects_cancellable = g_cancellable_new ();
- priv->managed_objects_changed_id = nm_dbus_connection_signal_subscribe_object_manager_plain (priv->dbus_connection,
- priv->name_owner,
- NM_BLUEZ_MANAGER_PATH,
- NULL,
- _dbus_managed_objects_changed_cb,
- self,
- NULL);
+ priv->managed_objects_changed_id = nm_dbus_connection_signal_subscribe_object_manager (priv->dbus_connection,
+ priv->name_owner,
+ NM_BLUEZ_MANAGER_PATH,
+ NULL,
+ _dbus_managed_objects_changed_cb,
+ self,
+ NULL);
priv->properties_changed_id = nm_dbus_connection_signal_subscribe_properties_changed (priv->dbus_connection,
priv->name_owner,