X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgcancellable.h;h=fec7382ff275077071ea36ba71bd08d67994d407;hb=7103484017ff000d01ed94567539d37fa09b32b2;hp=7c890be9c2d079de785a9982b41b3b8f43b5b94d;hpb=ced29277267476bbe4ba5e35f79a8d6a130cb989;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gcancellable.h b/gio/gcancellable.h index 7c890be..fec7382 100644 --- a/gio/gcancellable.h +++ b/gio/gcancellable.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,21 +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_CANCELLABLE_H__ +#define __G_CANCELLABLE_H__ + #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) #error "Only can be included directly." #endif -#ifndef __G_CANCELLABLE_H__ -#define __G_CANCELLABLE_H__ - -#include +#include G_BEGIN_DECLS @@ -40,18 +38,26 @@ G_BEGIN_DECLS /** * GCancellable: - * + * * Allows actions to be cancelled. */ -typedef struct _GCancellable GCancellable; typedef struct _GCancellableClass GCancellableClass; +typedef struct _GCancellablePrivate GCancellablePrivate; + +struct _GCancellable +{ + GObject parent_instance; + + /*< private >*/ + GCancellablePrivate *priv; +}; struct _GCancellableClass { GObjectClass parent_class; void (* cancelled) (GCancellable *cancellable); - + /*< private >*/ /* Padding for future expansion */ void (*_g_reserved1) (void); @@ -61,22 +67,50 @@ struct _GCancellableClass void (*_g_reserved5) (void); }; -GType g_cancellable_get_type (void) G_GNUC_CONST; +GLIB_AVAILABLE_IN_ALL +GType g_cancellable_get_type (void) G_GNUC_CONST; -GCancellable *g_cancellable_new (void); +GLIB_AVAILABLE_IN_ALL +GCancellable *g_cancellable_new (void); /* These are only safe to call inside a cancellable op */ +GLIB_AVAILABLE_IN_ALL gboolean g_cancellable_is_cancelled (GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL gboolean g_cancellable_set_error_if_cancelled (GCancellable *cancellable, GError **error); + +GLIB_AVAILABLE_IN_ALL int g_cancellable_get_fd (GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL +gboolean g_cancellable_make_pollfd (GCancellable *cancellable, + GPollFD *pollfd); +GLIB_AVAILABLE_IN_ALL +void g_cancellable_release_fd (GCancellable *cancellable); + +GLIB_AVAILABLE_IN_ALL +GSource * g_cancellable_source_new (GCancellable *cancellable); + +GLIB_AVAILABLE_IN_ALL GCancellable *g_cancellable_get_current (void); +GLIB_AVAILABLE_IN_ALL void g_cancellable_push_current (GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL void g_cancellable_pop_current (GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL void g_cancellable_reset (GCancellable *cancellable); +GLIB_AVAILABLE_IN_ALL +gulong g_cancellable_connect (GCancellable *cancellable, + GCallback callback, + gpointer data, + GDestroyNotify data_destroy_func); +GLIB_AVAILABLE_IN_ALL +void g_cancellable_disconnect (GCancellable *cancellable, + gulong handler_id); /* This is safe to call from another thread */ +GLIB_AVAILABLE_IN_ALL void g_cancellable_cancel (GCancellable *cancellable); G_END_DECLS