mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-09 20:35:49 +01:00
Add g_simple_async_result_is_valid(). Implementation by Dan Winship.
2009-01-05 Ryan Lortie <desrt@desrt.ca> * gio.symbols: * ../docs/reference/gio/gio-sections.txt: * gsimpleasyncresult.h: * gsimpleasyncresult.c: Add g_simple_async_result_is_valid(). Implementation by Dan Winship. Closes #566170. svn path=/trunk/; revision=7766
This commit is contained in:
parent
0b1f4e5080
commit
876f03f807
@ -1002,6 +1002,7 @@ g_simple_async_result_get_op_res_gssize
|
|||||||
g_simple_async_result_set_op_res_gboolean
|
g_simple_async_result_set_op_res_gboolean
|
||||||
g_simple_async_result_get_op_res_gboolean
|
g_simple_async_result_get_op_res_gboolean
|
||||||
g_simple_async_result_get_source_tag
|
g_simple_async_result_get_source_tag
|
||||||
|
g_simple_async_result_is_valid
|
||||||
g_simple_async_result_set_handle_cancellation
|
g_simple_async_result_set_handle_cancellation
|
||||||
g_simple_async_result_complete
|
g_simple_async_result_complete
|
||||||
g_simple_async_result_complete_in_idle
|
g_simple_async_result_complete_in_idle
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2009-01-05 Ryan Lortie <desrt@desrt.ca>
|
||||||
|
|
||||||
|
* gio.symbols:
|
||||||
|
* ../docs/reference/gio/gio-sections.txt:
|
||||||
|
* gsimpleasyncresult.h:
|
||||||
|
* gsimpleasyncresult.c: Add g_simple_async_result_is_valid().
|
||||||
|
Implementation by Dan Winship. Closes #566170.
|
||||||
|
|
||||||
2008-12-31 Matthias Clasen <mclasen@redhat.com>
|
2008-12-31 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gdesktopappinfo.c:
|
* gdesktopappinfo.c:
|
||||||
|
@ -634,6 +634,7 @@ g_simple_async_result_set_from_error
|
|||||||
g_simple_async_result_propagate_error
|
g_simple_async_result_propagate_error
|
||||||
g_simple_async_result_set_error
|
g_simple_async_result_set_error
|
||||||
g_simple_async_result_set_error_va
|
g_simple_async_result_set_error_va
|
||||||
|
g_simple_async_result_is_valid
|
||||||
g_simple_async_report_error_in_idle
|
g_simple_async_report_error_in_idle
|
||||||
g_simple_async_report_gerror_in_idle
|
g_simple_async_report_gerror_in_idle
|
||||||
#endif
|
#endif
|
||||||
|
@ -692,6 +692,48 @@ g_simple_async_result_run_in_thread (GSimpleAsyncResult *simple,
|
|||||||
g_io_scheduler_push_job (run_in_thread, data, NULL, io_priority, cancellable);
|
g_io_scheduler_push_job (run_in_thread, data, NULL, io_priority, cancellable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_simple_async_result_is_valid:
|
||||||
|
* @result: the #GAsyncResult passed to the _finish function.
|
||||||
|
* @source: the #GObject passed to the _finish function.
|
||||||
|
* @source_tag: the asynchronous function.
|
||||||
|
*
|
||||||
|
* Ensures that the data passed to the _finish function of an async
|
||||||
|
* operation is consistent. Three checks are performed.
|
||||||
|
*
|
||||||
|
* First, @result is checked to ensure that it is really a
|
||||||
|
* #GSimpleAsyncResult. Second, @source is checked to ensure that it
|
||||||
|
* matches the source object of @result. Third, @source_tag is
|
||||||
|
* checked to ensure that it is equal to the source_tag argument given
|
||||||
|
* to g_simple_async_result_new() (which, by convention, is a pointer
|
||||||
|
* to the _async function corresponding to the _finish function from
|
||||||
|
* which this function is called).
|
||||||
|
*
|
||||||
|
* Returns: #TRUE if all checks passed or #FALSE if any failed.
|
||||||
|
**/
|
||||||
|
gboolean
|
||||||
|
g_simple_async_result_is_valid (GAsyncResult *result,
|
||||||
|
GObject *source,
|
||||||
|
gpointer source_tag)
|
||||||
|
{
|
||||||
|
GSimpleAsyncResult *simple;
|
||||||
|
GObject *cmp_source;
|
||||||
|
|
||||||
|
if (!G_IS_SIMPLE_ASYNC_RESULT (result))
|
||||||
|
return FALSE;
|
||||||
|
simple = (GSimpleAsyncResult *)result;
|
||||||
|
|
||||||
|
cmp_source = g_async_result_get_source_object (result);
|
||||||
|
if (cmp_source != source)
|
||||||
|
{
|
||||||
|
g_object_unref (cmp_source);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
g_object_unref (cmp_source);
|
||||||
|
|
||||||
|
return source_tag == g_simple_async_result_get_source_tag (simple);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* g_simple_async_report_error_in_idle:
|
* g_simple_async_report_error_in_idle:
|
||||||
* @object: a #GObject.
|
* @object: a #GObject.
|
||||||
|
@ -102,6 +102,9 @@ void g_simple_async_result_set_error_va (GSimpleAsyncResult
|
|||||||
gint code,
|
gint code,
|
||||||
const char *format,
|
const char *format,
|
||||||
va_list args);
|
va_list args);
|
||||||
|
gboolean g_simple_async_result_is_valid (GAsyncResult *result,
|
||||||
|
GObject *source,
|
||||||
|
gpointer source_tag);
|
||||||
|
|
||||||
void g_simple_async_report_error_in_idle (GObject *object,
|
void g_simple_async_report_error_in_idle (GObject *object,
|
||||||
GAsyncReadyCallback callback,
|
GAsyncReadyCallback callback,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user