static void cache_replace_ready_cb (GObject *source, GAsyncResult *res, gpointer user_data) { GFileOutputStream *cache_stream; GError *error = NULL; NemoPreviewCoverArtFetcher *self = user_data; cache_stream = g_file_replace_finish (G_FILE (source), res, &error); if (error != NULL) { g_warning ("Can't save the cover art image in the cache: %s\n", error->message); g_error_free (error); return; } g_seekable_seek (G_SEEKABLE (self->priv->input_stream), 0, G_SEEK_SET, NULL, NULL); g_output_stream_splice_async (G_OUTPUT_STREAM (cache_stream), self->priv->input_stream, G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET, G_PRIORITY_DEFAULT, NULL, cache_splice_ready_cb, self); g_object_unref (cache_stream); }
static void file_replace_async_cb (GObject *source, GAsyncResult *res, gpointer user_data) { EmpathyTpFile *self = user_data; GError *error = NULL; GFileOutputStream *out_stream; GFile *file = G_FILE (source); gchar *uri; GValue *value; out_stream = g_file_replace_finish (file, res, &error); if (error != NULL) { ft_operation_close_with_error (self, error); g_clear_error (&error); return; } self->priv->out_stream = G_OUTPUT_STREAM (out_stream); /* Try setting FileTranfer.URI before accepting the file */ uri = g_file_get_uri (file); value = tp_g_value_slice_new_take_string (uri); tp_cli_dbus_properties_call_set (self->priv->channel, -1, TP_IFACE_CHANNEL_TYPE_FILE_TRANSFER, "URI", value, file_transfer_set_uri_cb, NULL, NULL, G_OBJECT (self)); tp_g_value_slice_free (value); }
static void file_replace_ready_cb (GObject *source, GAsyncResult *res, gpointer user_data) { GFileOutputStream *os; GError *error = NULL; PdfLoadJob *job = user_data; os = g_file_replace_finish (G_FILE (source), res, &error); if (error != NULL) { pdf_load_job_complete_error (job, error); return; } g_output_stream_splice_async (G_OUTPUT_STREAM (os), G_INPUT_STREAM (job->stream), G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE | G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET, G_PRIORITY_DEFAULT, job->cancellable, os_splice_ready_cb, job); g_object_unref (os); }
static void save_file_create_ready_cb (GObject *source, GAsyncResult *res, gpointer user_data) { ScreenshotApplication *self = user_data; GFileOutputStream *os; GError *error = NULL; gchar *basename = g_file_get_basename (G_FILE (source)); gchar *extension = g_strrstr (basename, "."); gchar *format = NULL; GSList *formats = NULL; if (extension == NULL) extension = "png"; else extension++; format = extension; formats = gdk_pixbuf_get_formats(); g_slist_foreach (formats, find_out_writable_format_by_extension, (gpointer) &format); g_slist_free (formats); g_free (basename); if (self->priv->should_overwrite) os = g_file_replace_finish (G_FILE (source), res, &error); else os = g_file_create_finish (G_FILE (source), res, &error); if (error != NULL) { save_pixbuf_handle_error (self, error); g_error_free (error); return; } if (is_png (format)) { if (has_profile (self)) save_with_description_and_profile (self, os, format); else save_with_description (self, os, format); } else { save_with_no_profile_or_description (self, os, format); } g_object_unref (os); g_free (format); }
static void on_file_replace_ready (GObject *object, GAsyncResult *res, gpointer data) { GError *error = NULL; GDownloadable *download = G_DOWNLOADABLE (data); GioDownload *gio_download = GIO_DOWNLOAD (data); g_assert (download != NULL); gio_download->priv->output = g_file_replace_finish (G_FILE(object), res, &error); // GFileOutputStream *out_stream = g_file_replace_finish (G_FILE(object), res, &error); // gio_download->priv->output = g_buffered_output_stream_new_sized (G_OUTPUT_STREAM(out_stream), // CHUNK_BUFF_SIZE); handle_critical_error (error); read_input_stream (download); }
static void photos_thumbnailer_generate_thumbnail_replace (GObject *source_object, GAsyncResult *res, gpointer user_data) { GCancellable *cancellable; GFile *thumbnail_file = G_FILE (source_object); g_autoptr (GFileOutputStream) stream = NULL; g_autoptr (GTask) task = G_TASK (user_data); PhotosThumbnailerGenerateData *data; const gchar *prgname; g_autofree gchar *original_height_str = NULL; g_autofree gchar *original_width_str = NULL; g_autofree gchar *uri = NULL; cancellable = g_task_get_cancellable (task); data = g_task_get_task_data (task); { g_autoptr (GError) error = NULL; stream = g_file_replace_finish (thumbnail_file, res, &error); if (error != NULL) { g_task_return_error (task, g_steal_pointer (&error)); goto out; } } g_assert_null (data->stream); data->stream = g_object_ref (stream); original_height_str = g_strdup_printf ("%" G_GINT64_FORMAT, data->original_height); original_width_str = g_strdup_printf ("%" G_GINT64_FORMAT, data->original_width); prgname = g_get_prgname (); uri = g_file_get_uri (data->file); gdk_pixbuf_save_to_stream_async (data->pixbuf_thumbnail, G_OUTPUT_STREAM (stream), "png", cancellable, photos_thumbnailer_generate_thumbnail_save_to_stream, g_object_ref (task), "tEXt::Software", prgname, "tEXt::Thumb::URI", uri, "tEXt::Thumb::Image::Height", original_height_str, "tEXt::Thumb::Image::Width", original_width_str, NULL); out: return; }
static void on_replace_file_ready (GObject *source, GAsyncResult *res, gpointer user_data) { GcrCertificateExporter *self = GCR_CERTIFICATE_EXPORTER (user_data); GFile *file = G_FILE (source); GFileOutputStream *os; os = g_file_replace_finish (file, res, &self->pv->error); if (self->pv->error) { complete_async_result (self); return; } write_to_outputstream (self, G_OUTPUT_STREAM (os)); }
static void file_replaced_cb (GObject *source, GAsyncResult *res, gpointer user_data) { SoupCacheInputStream *istream = SOUP_CACHE_INPUT_STREAM (user_data); SoupCacheInputStreamPrivate *priv = istream->priv; GError *error = NULL; priv->output_stream = (GOutputStream *) g_file_replace_finish (G_FILE (source), res, &error); if (error) notify_and_clear (istream, error); else try_write_next_buffer (istream); g_object_unref (istream); }
/* Called when a file open completes */ static void vfs_data_open_done (GObject *source, GAsyncResult *res, gpointer callback_data) { VfsAsyncHandle* ah = (VfsAsyncHandle*)callback_data; if(ah->state == VFS_ASYNC_PROCESSING) { g_assert (ah->operation == VFS_OP_OPENING); g_clear_error (&ah->error); if (ah->writer) ah->ostream = G_OUTPUT_STREAM (g_file_replace_finish (ah->file, res, &ah->error)); else ah->istream = G_INPUT_STREAM (g_file_read_finish (ah->file, res, &ah->error)); ah->state = VFS_ASYNC_READY; ah->total = 0; ah->last = 0; } }
static void save_snapshot_replace_cb (GFile *snapshot_file, GAsyncResult *result, GSimpleAsyncResult *simple) { GObject *object; SaveContext *context; GFileOutputStream *output_stream; GError *local_error = NULL; context = g_simple_async_result_get_op_res_gpointer (simple); /* Output stream might be NULL, so don't use cast macro. */ output_stream = g_file_replace_finish ( snapshot_file, result, &local_error); context->output_stream = (GOutputStream *) output_stream; if (local_error != NULL) { g_warn_if_fail (output_stream == NULL); g_simple_async_result_take_error (simple, local_error); g_simple_async_result_complete (simple); g_object_unref (simple); return; } g_return_if_fail (G_IS_OUTPUT_STREAM (output_stream)); /* g_async_result_get_source_object() returns a new reference. */ object = g_async_result_get_source_object (G_ASYNC_RESULT (simple)); /* Extract a MIME message from the composer. */ e_msg_composer_get_message_draft ( E_MSG_COMPOSER (object), G_PRIORITY_DEFAULT, context->cancellable, (GAsyncReadyCallback) save_snapshot_get_message_cb, simple); g_object_unref (object); }