/* 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
* 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 <http://www.gnu.org/licenses/>.
*
* Author: Alexander Larsson <alexl@redhat.com>
*/
#ifndef __G_SIMPLE_ASYNC_RESULT_H__
#define __G_SIMPLE_ASYNC_RESULT_H__
-#include <gio/gasyncresult.h>
-#include <gio/gcancellable.h>
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/giotypes.h>
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,
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__ */