Home | History | Annotate | Download | only in gio

Lines Matching refs:simple

45  * @short_description: Simple asynchronous results implementation
49 * Implements #GAsyncResult for simple cases. Most of the time, this
60 * of bytes modified by the operation; all of the simple return cases
150 GSimpleAsyncResult *simple;
152 simple = G_SIMPLE_ASYNC_RESULT (object);
154 if (simple->source_object)
155 g_object_unref (simple->source_object);
157 if (simple->destroy_op_res)
158 simple->destroy_op_res (simple->op_res.v_pointer);
160 if (simple->error)
161 g_error_free (simple->error);
175 g_simple_async_result_init (GSimpleAsyncResult *simple)
177 simple->handle_cancellation = TRUE;
198 GSimpleAsyncResult *simple;
202 simple = g_object_new (G_TYPE_SIMPLE_ASYNC_RESULT, NULL);
203 simple->callback = callback;
205 simple->source_object = g_object_ref (source_object);
207 simple->source_object = NULL;
208 simple->user_data = user_data;
209 simple->source_tag = source_tag;
211 return simple;
231 GSimpleAsyncResult *simple;
235 simple = g_simple_async_result_new (source_object,
238 g_simple_async_result_set_from_error (simple, error);
240 return simple;
266 GSimpleAsyncResult *simple;
273 simple = g_simple_async_result_new (source_object,
278 g_simple_async_result_set_error_va (simple, domain, code, format, args);
281 return simple;
308 * @simple: a #GSimpleAsyncResult.
315 g_simple_async_result_set_handle_cancellation (GSimpleAsyncResult *simple,
318 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
319 simple->handle_cancellation = handle_cancellation;
324 * @simple: a #GSimpleAsyncResult.
331 g_simple_async_result_get_source_tag (GSimpleAsyncResult *simple)
333 g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple), NULL);
334 return simple->source_tag;
339 * @simple: a #GSimpleAsyncResult.
342 * Propagates an error from within the simple asynchronous result to
348 g_simple_async_result_propagate_error (GSimpleAsyncResult *simple,
351 g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple), FALSE);
353 if (simple->failed)
355 g_propagate_error (dest, simple->error);
356 simple->error = NULL;
365 * @simple: a #GSimpleAsyncResult.
372 g_simple_async_result_set_op_res_gpointer (GSimpleAsyncResult *simple,
376 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
378 simple->op_res.v_pointer = op_res;
379 simple->destroy_op_res = destroy_op_res;
384 * @simple: a #GSimpleAsyncResult.
391 g_simple_async_result_get_op_res_gpointer (GSimpleAsyncResult *simple)
393 g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple), NULL);
394 return simple->op_res.v_pointer;
399 * @simple: a #GSimpleAsyncResult.
406 g_simple_async_result_set_op_res_gssize (GSimpleAsyncResult *simple,
409 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
410 simple->op_res.v_ssize = op_res;
415 * @simple: a #GSimpleAsyncResult.
422 g_simple_async_result_get_op_res_gssize (GSimpleAsyncResult *simple)
424 g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple), 0);
425 return simple->op_res.v_ssize;
430 * @simple: a #GSimpleAsyncResult.
436 g_simple_async_result_set_op_res_gboolean (GSimpleAsyncResult *simple,
439 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
440 simple->op_res.v_boolean = !!op_res;
445 * @simple: a #GSimpleAsyncResult.
453 g_simple_async_result_get_op_res_gboolean (GSimpleAsyncResult *simple)
455 g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple), FALSE);
456 return simple->op_res.v_boolean;
461 * @simple: a #GSimpleAsyncResult.
467 g_simple_async_result_set_from_error (GSimpleAsyncResult *simple,
470 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
473 if (simple->error)
474 g_error_free (simple->error);
475 simple->error = g_error_copy (error);
476 simple->failed = TRUE;
498 * @simple: a #GSimpleAsyncResult.
508 g_simple_async_result_set_error_va (GSimpleAsyncResult *simple,
514 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
518 if (simple->error)
519 g_error_free (simple->error);
520 simple->error = _g_error_new_valist (domain, code, format, args);
521 simple->failed = TRUE;
526 * @simple: a #GSimpleAsyncResult.
535 g_simple_async_result_set_error (GSimpleAsyncResult *simple,
543 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
548 g_simple_async_result_set_error_va (simple, domain, code, format, args);
554 * @simple: a #GSimpleAsyncResult.
562 g_simple_async_result_complete (GSimpleAsyncResult *simple)
564 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
566 if (simple->callback)
567 simple->callback (simple->source_object,
568 G_ASYNC_RESULT (simple),
569 simple->user_data);
575 GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (data);
577 g_simple_async_result_complete (simple);
584 * @simple: a #GSimpleAsyncResult.
590 g_simple_async_result_complete_in_idle (GSimpleAsyncResult *simple)
595 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
597 g_object_ref (simple);
601 g_source_set_callback (source, complete_in_idle_cb, simple, g_object_unref);
608 GSimpleAsyncResult *simple;
618 GSimpleAsyncResult *simple;
620 simple = data->simple;
622 if (simple->handle_cancellation &&
624 g_simple_async_result_set_error (simple,
629 g_simple_async_result_complete (simple);
633 g_object_unref (data->simple);
645 GSimpleAsyncResult *simple = data->simple;
649 if (simple->handle_cancellation &&
651 g_simple_async_result_set_error (simple,
656 data->func (simple,
657 simple->source_object,
672 * @simple: a #GSimpleAsyncResult.
680 g_simple_async_result_run_in_thread (GSimpleAsyncResult *simple,
687 g_return_if_fail (G_IS_SIMPLE_ASYNC_RESULT (simple));
692 data->simple = g_object_ref (simple);
723 GSimpleAsyncResult *simple;
728 simple = (GSimpleAsyncResult *)result;
738 return source_tag == g_simple_async_result_get_source_tag (simple);
764 GSimpleAsyncResult *simple;
771 simple = g_simple_async_result_new (object,
776 g_simple_async_result_set_error_va (simple, domain, code, format, args);
778 g_simple_async_result_complete_in_idle (simple);
779 g_object_unref (simple);
799 GSimpleAsyncResult *simple;
804 simple = g_simple_async_result_new_from_error (object,
808 g_simple_async_result_complete_in_idle (simple);
809 g_object_unref (simple);