- g_file_copy_async(src, dst,
- G_FILE_COPY_OVERWRITE, // GFileCopyFlags flags,
- G_PRIORITY_DEFAULT_IDLE, // int io_priority,
- NULL, // GCancellable *cancellable,
- NULL, // GFileProgressCallback progress_callback,
- NULL, // gpointer progress_callback_data,
- cache_file_cb, // GAsyncReadyCallback callback,
- info); // gpointer user_data
- return;
+ info->local = local;
+
+ if (truncate) info->fp = fopen_p(local, "w");
+ else info->fp = fopen_p(local, "a");
+ long bytes = ftell(info->fp);
+
+ SoupSession *session = soup_session_async_new();
+ SoupMessage *message = soup_message_new("GET", uri);
+ if (message == NULL)
+ g_error("message is null, cannot parse uri");
+ if (bytes != 0)
+ soup_message_headers_set_range(message->request_headers, bytes, -1);
+ soup_session_queue_message(session, message, cache_file_cb, info);