- cache_file_end_t *info = g_malloc0(sizeof(cache_file_end_t));
- info->callback = callback;
- info->src = src;
- info->dst = dst;
- info->user_data = user_data;
- 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;
+ SoupSession *session = soup_session_async_new();
+ SoupMessage *message = soup_message_new("GET", info->uri);
+ if (message == NULL)
+ g_error("message is null, cannot parse uri");
+ g_signal_connect(message, "got-chunk", G_CALLBACK(chunk_cb), info);
+ soup_message_headers_set_range(message->request_headers, bytes, -1);
+ soup_session_queue_message(session, message, done_cb, info);
+ return session;