daemon: Stop passing UpDevice reference to the daemon

There is no need to do so, in particular as the signal emission code
will keep a reference to the object internally.
This commit is contained in:
Benjamin Berg 2022-05-10 19:10:02 +02:00
parent 4651088391
commit b78a2ab980
3 changed files with 9 additions and 18 deletions

View file

@ -155,7 +155,7 @@ out:
static void
up_backend_create_new_device (UpBackend *backend, UpAcpiNative *native)
{
UpDevice *device;
g_autoptr(UpDevice) device = NULL;
device = g_initable_new (UP_TYPE_DEVICE_SUPPLY, NULL, NULL,
"daemon", backend->priv->daemon,

View file

@ -79,7 +79,7 @@ static guint signals [SIGNAL_LAST] = { 0 };
G_DEFINE_TYPE_WITH_PRIVATE (UpBackend, up_backend, G_TYPE_OBJECT)
static gboolean up_backend_device_add (UpBackend *backend, GUdevDevice *native, const char *was_event);
static void up_backend_device_add (UpBackend *backend, GUdevDevice *native, const char *was_event);
static void up_backend_device_remove (UpBackend *backend, GUdevDevice *native);
static void
@ -206,12 +206,11 @@ out:
g_clear_object (&object);
}
static gboolean
static void
up_backend_device_add (UpBackend *backend, GUdevDevice *native, const char *was_event)
{
GObject *object;
UpDevice *device;
gboolean ret = TRUE;
g_autoptr(UpDevice) device = NULL;
GObject *object = NULL;
/* does device exist in db? */
object = up_device_list_lookup (backend->priv->device_list, G_OBJECT (native));
@ -219,24 +218,19 @@ up_backend_device_add (UpBackend *backend, GUdevDevice *native, const char *was_
device = UP_DEVICE (object);
/* we already have the device; treat as change event */
up_backend_device_changed (backend, native, "add");
goto out;
return;
}
/* get the right sort of device */
device = up_backend_device_new (backend, native);
if (device == NULL) {
ret = FALSE;
goto out;
return;
}
if (was_event)
g_warning ("treated %s event as add on %s", was_event, g_udev_device_get_sysfs_path (native));
/* emit */
g_signal_emit (backend, signals[SIGNAL_DEVICE_ADDED], 0, device);
out:
g_clear_object (&object);
return ret;
}
static void
@ -355,8 +349,8 @@ bluez_interface_added (GDBusObjectManager *manager,
GDBusInterface *interface,
gpointer user_data)
{
g_autoptr(UpDevice) device = NULL;
UpBackend *backend = user_data;
UpDevice *device;
GObject *object;
if (!has_battery_iface (bus_object))

View file

@ -955,7 +955,7 @@ up_daemon_device_removed_cb (UpBackend *backend, UpDevice *device, UpDaemon *dae
g_signal_handlers_disconnect_by_data (device, daemon);
/* remove from list */
/* remove from list (device remains valid during the function call) */
up_device_list_remove (priv->power_devices, device);
/* emit */
@ -969,9 +969,6 @@ up_daemon_device_removed_cb (UpBackend *backend, UpDevice *device, UpDaemon *dae
}
up_exported_daemon_emit_device_removed (UP_EXPORTED_DAEMON (daemon), object_path);
/* finalise the object */
g_object_unref (device);
/* In case a battery was removed */
up_daemon_refresh_battery_devices (daemon);
up_daemon_update_warning_level (daemon);