-! Copyright (C) 2009 Anton Gorenko.
+! Copyright (C) 2010 Anton Gorenko.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors alien alien.c-types alien.destructors
-alien.libraries alien.strings alien.syntax combinators
-gobject-introspection io.encodings.utf8 kernel system
-vocabs.parser words ;
+USING: accessors alien alien.destructors alien.libraries
+alien.strings alien.syntax combinators gobject-introspection
+gobject-introspection.standard-types io.encodings.utf8 kernel
+system ;
IN: glib.ffi
+LIBRARY: glib
+
<<
"glib" {
- { [ os winnt? ] [ "libglib-2.0-0.dll" cdecl add-library ] }
+ { [ os windows? ] [ "libglib-2.0-0.dll" cdecl add-library ] }
{ [ os macosx? ] [ "/opt/local/lib/libglib-2.0.0.dylib" cdecl add-library ] }
- { [ os unix? ] [ "libglib-2.0.so" cdecl add-library ] }
+ { [ os unix? ] [ drop ] }
} cond
>>
-TYPEDEF: char gchar
-TYPEDEF: uchar guchar
-TYPEDEF: short gshort
-TYPEDEF: ushort gushort
-TYPEDEF: long glong
-TYPEDEF: ulong gulong
-TYPEDEF: int gint
-TYPEDEF: uint guint
-
-<<
-int c-type clone
- [ >c-bool ] >>unboxer-quot
- [ c-bool> ] >>boxer-quot
- object >>boxed-class
-"gboolean" current-vocab create typedef
->>
-
-TYPEDEF: char gint8
-TYPEDEF: uchar guint8
-TYPEDEF: short gint16
-TYPEDEF: ushort guint16
-TYPEDEF: int gint32
-TYPEDEF: uint guint32
-TYPEDEF: longlong gint64
-TYPEDEF: ulonglong guint64
-
-TYPEDEF: float gfloat
-TYPEDEF: double gdouble
-
-TYPEDEF: long ssize_t
-TYPEDEF: long time_t
-TYPEDEF: size_t gsize
-TYPEDEF: ssize_t gssize
-TYPEDEF: size_t GType
-
-TYPEDEF: void* gpointer
-TYPEDEF: void* gconstpointer
-
-TYPEDEF: guint8 GDateDay
-TYPEDEF: guint16 GDateYear
-TYPEDEF: gint GPid
-TYPEDEF: guint32 GQuark
-TYPEDEF: gint32 GTime
-TYPEDEF: glong gintptr
-TYPEDEF: gint64 goffset
-TYPEDEF: gulong guintptr
-TYPEDEF: guint32 gunichar
-TYPEDEF: guint16 gunichar2
-
-TYPEDEF: gpointer pointer
-
-REPLACE-C-TYPE: long\sdouble double
-REPLACE-C-TYPE: any gpointer
-
IMPLEMENT-STRUCTS: GError GPollFD GSource GSourceFuncs ;
+CONSTANT: G_MININT8 -0x80
+CONSTANT: G_MAXINT8 0x7f
+CONSTANT: G_MAXUINT8 0xff
+CONSTANT: G_MININT16 -0x8000
+CONSTANT: G_MAXINT16 0x7fff
+CONSTANT: G_MAXUINT16 0xffff
+CONSTANT: G_MININT32 -0x80000000
+CONSTANT: G_MAXINT32 0x7fffffff
+CONSTANT: G_MAXUINT32 0xffffffff
+CONSTANT: G_MININT64 -0x8000000000000000
+CONSTANT: G_MAXINT64 0x7fffffffffffffff
+CONSTANT: G_MAXUINT64 0xffffffffffffffff
+
GIR: vocab:glib/GLib-2.0.gir
DESTRUCTOR: g_source_unref