GSocket: Reset the timeout in the GSocket GSource after it was triggered
[platform/upstream/glib.git] / gio / gcancellable.h
index 7c890be..d8fa633 100644 (file)
@@ -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
@@ -27,7 +27,7 @@
 #ifndef __G_CANCELLABLE_H__
 #define __G_CANCELLABLE_H__
 
-#include <glib-object.h>
+#include <gio/giotypes.h>
 
 G_BEGIN_DECLS
 
@@ -40,18 +40,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,19 +69,32 @@ struct _GCancellableClass
   void (*_g_reserved5) (void);
 };
 
-GType g_cancellable_get_type (void) G_GNUC_CONST;
+GType         g_cancellable_get_type               (void) G_GNUC_CONST;
 
-GCancellable *g_cancellable_new          (void);
+GCancellable *g_cancellable_new                    (void);
 
 /* These are only safe to call inside a cancellable op */
 gboolean      g_cancellable_is_cancelled           (GCancellable  *cancellable);
 gboolean      g_cancellable_set_error_if_cancelled (GCancellable  *cancellable,
                                                    GError       **error);
+
 int           g_cancellable_get_fd                 (GCancellable  *cancellable);
+gboolean      g_cancellable_make_pollfd            (GCancellable  *cancellable,
+                                                   GPollFD       *pollfd);
+void          g_cancellable_release_fd             (GCancellable  *cancellable);
+
+GSource *     g_cancellable_source_new             (GCancellable  *cancellable);
+
 GCancellable *g_cancellable_get_current            (void);
 void          g_cancellable_push_current           (GCancellable  *cancellable);
 void          g_cancellable_pop_current            (GCancellable  *cancellable);
 void          g_cancellable_reset                  (GCancellable  *cancellable);
+gulong        g_cancellable_connect                (GCancellable  *cancellable,
+                                                   GCallback      callback,
+                                                   gpointer       data,
+                                                   GDestroyNotify data_destroy_func);
+void          g_cancellable_disconnect             (GCancellable  *cancellable,
+                                                   gulong         handler_id);
 
 
 /* This is safe to call from another thread */