X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgsimpleasyncresult.h;h=94412f4c0dfa61ed6ea6975e582d0c475ff50784;hb=7103484017ff000d01ed94567539d37fa09b32b2;hp=f2f9b36d2870d83e1bddce3d5fe8a16c553ed075;hpb=ced29277267476bbe4ba5e35f79a8d6a130cb989;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gsimpleasyncresult.h b/gio/gsimpleasyncresult.h index f2f9b36..94412f4 100644 --- a/gio/gsimpleasyncresult.h +++ b/gio/gsimpleasyncresult.h @@ -1,5 +1,5 @@ /* GIO - GLib Input, Output and Streaming Library - * + * * Copyright (C) 2006-2007 Red Hat, Inc. * * This library is free software; you can redistribute it and/or @@ -13,22 +13,19 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General - * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307, USA. + * Public License along with this library; if not, see . * * Author: Alexander Larsson */ +#ifndef __G_SIMPLE_ASYNC_RESULT_H__ +#define __G_SIMPLE_ASYNC_RESULT_H__ + #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) #error "Only can be included directly." #endif -#ifndef __G_SIMPLE_ASYNC_RESULT_H__ -#define __G_SIMPLE_ASYNC_RESULT_H__ - -#include -#include +#include G_BEGIN_DECLS @@ -41,32 +38,21 @@ G_BEGIN_DECLS /** * GSimpleAsyncResult: - * + * * A simple implementation of #GAsyncResult. **/ -typedef struct _GSimpleAsyncResult GSimpleAsyncResult; typedef struct _GSimpleAsyncResultClass GSimpleAsyncResultClass; -/** - * GSimpleAsyncThreadFunc: - * @res: a #GSimpleAsyncResult. - * @object: a #GObject. - * @cancellable: optional #GCancellable object, %NULL to ignore. - * - * Simple thread function that runs an asynchronous operation and - * checks for cancellation. - **/ -typedef void (*GSimpleAsyncThreadFunc) (GSimpleAsyncResult *res, - GObject *object, - GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL +GType g_simple_async_result_get_type (void) G_GNUC_CONST; -GType g_simple_async_result_get_type (void) G_GNUC_CONST; - +GLIB_AVAILABLE_IN_ALL GSimpleAsyncResult *g_simple_async_result_new (GObject *source_object, GAsyncReadyCallback callback, gpointer user_data, gpointer source_tag); +GLIB_AVAILABLE_IN_ALL GSimpleAsyncResult *g_simple_async_result_new_error (GObject *source_object, GAsyncReadyCallback callback, gpointer user_data, @@ -74,64 +60,103 @@ GSimpleAsyncResult *g_simple_async_result_new_error (GObject gint code, const char *format, ...) G_GNUC_PRINTF (6, 7); +GLIB_AVAILABLE_IN_ALL GSimpleAsyncResult *g_simple_async_result_new_from_error (GObject *source_object, GAsyncReadyCallback callback, gpointer user_data, + const GError *error); +GLIB_AVAILABLE_IN_ALL +GSimpleAsyncResult *g_simple_async_result_new_take_error (GObject *source_object, + GAsyncReadyCallback callback, + gpointer user_data, GError *error); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_set_op_res_gpointer (GSimpleAsyncResult *simple, gpointer op_res, GDestroyNotify destroy_op_res); +GLIB_AVAILABLE_IN_ALL gpointer g_simple_async_result_get_op_res_gpointer (GSimpleAsyncResult *simple); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_set_op_res_gssize (GSimpleAsyncResult *simple, gssize op_res); +GLIB_AVAILABLE_IN_ALL gssize g_simple_async_result_get_op_res_gssize (GSimpleAsyncResult *simple); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_set_op_res_gboolean (GSimpleAsyncResult *simple, gboolean op_res); +GLIB_AVAILABLE_IN_ALL gboolean g_simple_async_result_get_op_res_gboolean (GSimpleAsyncResult *simple); +GLIB_AVAILABLE_IN_2_32 +void g_simple_async_result_set_check_cancellable (GSimpleAsyncResult *simple, + GCancellable *check_cancellable); +GLIB_AVAILABLE_IN_ALL gpointer g_simple_async_result_get_source_tag (GSimpleAsyncResult *simple); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_set_handle_cancellation (GSimpleAsyncResult *simple, gboolean handle_cancellation); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_complete (GSimpleAsyncResult *simple); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_complete_in_idle (GSimpleAsyncResult *simple); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_run_in_thread (GSimpleAsyncResult *simple, GSimpleAsyncThreadFunc func, int io_priority, GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_set_from_error (GSimpleAsyncResult *simple, - GError *error); + const GError *error); +GLIB_AVAILABLE_IN_ALL +void g_simple_async_result_take_error (GSimpleAsyncResult *simple, + GError *error); +GLIB_AVAILABLE_IN_ALL gboolean g_simple_async_result_propagate_error (GSimpleAsyncResult *simple, GError **dest); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_set_error (GSimpleAsyncResult *simple, GQuark domain, gint code, const char *format, ...) G_GNUC_PRINTF (4, 5); +GLIB_AVAILABLE_IN_ALL void g_simple_async_result_set_error_va (GSimpleAsyncResult *simple, GQuark domain, gint code, const char *format, - va_list args); - -void g_simple_async_report_error_in_idle (GObject *object, + va_list args) + G_GNUC_PRINTF(4, 0); +GLIB_AVAILABLE_IN_ALL +gboolean g_simple_async_result_is_valid (GAsyncResult *result, + GObject *source, + gpointer source_tag); + +GLIB_AVAILABLE_IN_ALL +void g_simple_async_report_error_in_idle (GObject *object, GAsyncReadyCallback callback, - gpointer user_data, - GQuark domain, - gint code, - const char *format, - ...); -void g_simple_async_report_gerror_in_idle (GObject *object, + gpointer user_data, + GQuark domain, + gint code, + const char *format, + ...) G_GNUC_PRINTF(6, 7); +GLIB_AVAILABLE_IN_ALL +void g_simple_async_report_gerror_in_idle (GObject *object, GAsyncReadyCallback callback, - gpointer user_data, - GError *error); + gpointer user_data, + const GError *error); +GLIB_AVAILABLE_IN_ALL +void g_simple_async_report_take_gerror_in_idle (GObject *object, + GAsyncReadyCallback callback, + gpointer user_data, + GError *error); G_END_DECLS - + #endif /* __G_SIMPLE_ASYNC_RESULT_H__ */