BFP, fixes structures definitions, categorizes each c-function into a .pxd file.
[python-purple] / glib.pxd
index d00dfdf..97664ce 100644 (file)
--- a/glib.pxd
+++ b/glib.pxd
 #
 
 cdef extern from "glib.h":
-    ctypedef void* gpointer
+    ctypedef void *gpointer
+    ctypedef void *gconstpointer
     ctypedef int gint
     ctypedef unsigned int guint
+    ctypedef unsigned long gulong
     ctypedef gint gboolean
+    ctypedef gboolean (*GSourceFunc) (gpointer data)
+    ctypedef unsigned int gsize
 
-    # GHashTable is an opaque data structure
     ctypedef struct GHashTable:
-        void* none
+        pass
+
+    ctypedef struct GMainContext:
+        pass
 
     struct _GSList:
         gpointer data
@@ -37,3 +43,19 @@ cdef extern from "glib.h":
         _GList *next
         _GList *prev
     ctypedef _GList GList
+
+    ctypedef guint GHashFunc (gconstpointer)
+    ctypedef gboolean GEqualFunc (gconstpointer, gconstpointer)
+
+    gboolean g_str_equal (gconstpointer, gconstpointer)
+    guint g_str_hash (gconstpointer)
+
+    GHashTable *g_hash_table_new (GHashFunc, GEqualFunc)
+    void g_hash_table_insert (GHashTable*, gpointer, gpointer)
+
+    guint g_timeout_add(guint interval, GSourceFunc function, gpointer data)
+    guint g_timeout_add_seconds(guint interval, GSourceFunc function, gpointer data)
+
+    gboolean g_main_context_iteration (GMainContext *context, gboolean may_block)
+
+    gboolean g_source_remove(guint tag)