X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgcancellable.h;h=fec7382ff275077071ea36ba71bd08d67994d407;hb=2e5bd8cf47f9e1559ccc44823a2f321b8ff8c1ea;hp=c6cc224c9706461440681a60021a9c5f33371e27;hpb=0001014c378636e5848f4b3d8f38fc7a84c33b22;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gcancellable.h b/gio/gcancellable.h index c6cc224..fec7382 100644 --- a/gio/gcancellable.h +++ b/gio/gcancellable.h @@ -13,20 +13,18 @@ * 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 G_BEGIN_DECLS @@ -44,6 +42,15 @@ G_BEGIN_DECLS * Allows actions to be cancelled. */ typedef struct _GCancellableClass GCancellableClass; +typedef struct _GCancellablePrivate GCancellablePrivate; + +struct _GCancellable +{ + GObject parent_instance; + + /*< private >*/ + GCancellablePrivate *priv; +}; struct _GCancellableClass { @@ -60,32 +67,50 @@ struct _GCancellableClass void (*_g_reserved5) (void); }; +GLIB_AVAILABLE_IN_ALL GType g_cancellable_get_type (void) G_GNUC_CONST; +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); -void g_cancellable_make_pollfd (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 c_handler, + 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