static void photos_dlna_renderers_manager_renderer_new_cb (GObject *source_object, GAsyncResult *res, gpointer user_data) { PhotosDlnaRenderersManager *self = PHOTOS_DLNA_RENDERERS_MANAGER (user_data); PhotosDlnaRenderersManagerPrivate *priv = self->priv; PhotosDlnaRenderer *renderer; const gchar *object_path; GError *error = NULL; renderer = photos_dlna_renderer_new_for_bus_finish (res, &error); if (error != NULL) { g_warning ("Unable to load renderer object: %s", error->message); g_propagate_error (&priv->error, error); return; } object_path = photos_dlna_renderer_get_object_path (renderer); g_debug ("%s '%s' %s %s", G_STRFUNC, photos_dlna_renderer_get_friendly_name (renderer), photos_dlna_renderer_get_udn (renderer), object_path); g_hash_table_insert (priv->renderers, (gpointer) object_path, renderer); g_signal_emit (self, signals[RENDERER_FOUND], 0, renderer); }
static void photos_dlna_renderers_manager_dispose (GObject *object) { PhotosDlnaRenderersManager *self = PHOTOS_DLNA_RENDERERS_MANAGER (object); g_clear_object (&self->proxy); g_clear_pointer (&self->renderers, (GDestroyNotify) g_hash_table_unref); g_clear_error (&self->error); G_OBJECT_CLASS (photos_dlna_renderers_manager_parent_class)->dispose (object); }