In gtk:ensure-gtk-main restart gtk thread if it is finished
[cl-gtk2.git] / glib / gobject.package.lisp
1 (defpackage :gobject
2   (:use :cl :glib :cffi :tg :bordeaux-threads :iter :closer-mop)
3   (:export #:g-object
4            #:register-object-type
5            #:g-object-call-constructor
6            #:register-flags-type
7            #:register-enum-type
8            #:g-type-from-object
9            #:g-type-name
10            #:g-type-from-name
11            #:g-signal-connect
12            #:define-g-object-class
13            #:g-initially-unowned
14            #:define-g-enum
15            #:*lisp-name-package*
16            #:define-g-boxed-class
17            #:define-g-flags
18            #:fixed-array
19            #:g-boxed-inline
20            #:g-boxed-ptr 
21            #:boxed-c-structure-name
22            #:define-g-interface
23            #:release
24            #:using
25            #:using*
26            #:define-g-boxed-ref
27            #:g-boxed-ref
28            #:allocate-stable-pointer
29            #:free-stable-pointer
30            #:get-stable-pointer-value
31            #:with-stable-pointer
32            #:release*
33            #:disown-boxed-ref
34            #:pointer
35            #:g-type-interface
36            #:g-value
37            #:register-object-type-implementation
38            #:ensure-g-type
39            #:define-vtable
40            #:g-type
41            #:set-g-value
42            #:parse-gvalue
43            #:emit-signal
44            #:g-value-unset
45            #:g-value-zero
46            #:g-value-take-boxed
47            #:g-value-init
48            #:g-class-property-definition
49            #:g-class-property-definition-name
50            #:g-class-property-definition-type
51            #:g-class-property-definition-readable
52            #:g-class-property-definition-writable
53            #:g-class-property-definition-constructor
54            #:g-class-property-definition-constructor-only
55            #:g-class-property-definition-owner-type
56            #:g-type-class-ref
57            #:g-object-class
58            #:g-param-spec
59            #:type-instance
60            #:parse-g-param-spec
61            #:g-type-class-unref
62            #:registered-object-type-by-name
63            #:g-type-children
64            #:g-signal-lookup))
65
66 (in-package :gobject)
67
68 (eval-when (:compile-toplevel :load-toplevel :execute)
69   (define-foreign-library gobject
70     (:unix (:or "libgobject-2.0.so.0" "libgobject-2.0.so"))
71     (t "libgobject-2.0")))
72
73 (use-foreign-library gobject)
74
75 (defvar *gobject-debug* nil)
76
77 (defun debugf (&rest args)
78   (when *gobject-debug*
79     (apply 'format t args)))