glib: return NIL when g-object foreign type with :already-referenced receives null...
[cl-gtk2.git] / glib / gobject.ffi.lisp
blobcb745284483d417c73ad34aa75f8a1de17bcc04a
1 (in-package :gobject.ffi)
3 (defcfun (g-type-fundamental "g_type_fundamental") g-type-designator
4 "Returns the fundamental type which is the ancestor of @code{type}.
6 Example:
7 @pre{
8 \(g-type-fundamental \"GtkWindowType\")
9 => \"GEnum\"
10 \(g-type-fundamental \"GtkLabel\")
11 => \"GObject\"
13 @arg[type]{GType designator (see @class{g-type-designator})}
14 @return{GType designator}"
15 (type g-type-designator))
17 (defcfun (%g-type-init "g_type_init") :void)
19 (at-init () (%g-type-init))
21 (defcfun g-type-parent g-type-designator
22 "Returns the parent of a GType. @see{g-type-chilren}
24 Example:
25 @pre{
26 \(g-type-parent \"GtkLabel\")
27 => \"GtkMisc\"
29 @arg[type]{GType designator (see @class{g-type-designator})}
30 @return{GType designator}"
31 (type g-type-designator))
33 (defcfun g-type-depth :uint
34 "Returns the length of the ancestry of @code{type}. This includes the @code{type} itself, so that e.g. a fundamental type has depth 1.
36 Example:
37 @pre{
38 \(g-type-depth \"GtkLabel\")
39 => 6
41 @arg[type]{GType designator (see @class{g-type-designator})}
42 @return{an integer}"
43 (type g-type-designator))
45 (defcfun g-type-next-base g-type-designator
46 "Determines the type that is derived directly from @code{root-type} which is also a base class of @code{leaf-type}.
48 Example:
49 @pre{
50 \(g-type-next-base \"GtkButton\" \"GtkWidget\")
51 => \"GtkContainer\"
53 @arg[leaf-type]{GType designator (see @class{g-type-designator})}
54 @arg[root-type]{GType designator}
55 @return{GType designator}"
56 (leaf-type g-type-designator)
57 (root-type g-type-designator))
59 (defcfun g-type-is-a :boolean
60 "If @code{is-a-type} is a derivable type, check whether type is a descendant of @code{is-a-type}. If @code{is-a-type} is an interface, check whether type conforms to it.
62 Example:
63 @pre{
64 \(g-type-is-a \"GtkButton\" \"GtkWidget\")
65 => T
66 \(g-type-is-a \"GtkButton\" \"AtkImplementorIface\")
67 => T
68 \(g-type-is-a \"GtkButton\" \"GtkLabel\")
69 => NIL
71 @arg[type]{GType designator (see @class{g-type-designator})}
72 @arg[is-a-type]{GType designator}
73 @return{boolean}"
74 (type g-type-designator)
75 (is-a-type g-type-designator))
77 (defcfun (%g-type-children "g_type_children") (:pointer g-type)
78 (type g-type-designator)
79 (n-children (:pointer :uint)))
81 (defcfun (%g-type-interface-prerequisites "g_type_interface_prerequisites") (:pointer g-type)
82 (type g-type-designator)
83 (n-interface-prerequisites (:pointer :uint)))
85 (defcfun g-strv-get-type g-type-designator
86 "Returns the type designator (see @class{g-type-designator}) for GStrv type. As a side effect, ensures that the type is registered.")
88 (at-init nil (g-strv-get-type))
90 (defcfun g-closure-get-type g-type-designator
91 "Returns the type designator (see @class{g-type-designator}) for GClosure type. As a side effect, ensure that the type is registered.")
93 (at-init nil (g-closure-get-type))
95 (defcfun (%g-type-interfaces "g_type_interfaces") (:pointer g-type)
96 (type g-type-designator)
97 (n-interfaces (:pointer :uint)))
99 (defcstruct g-type-interface
100 (:type g-type-designator)
101 (:instance-type g-type-designator))
103 (defcstruct g-type-class
104 (:type g-type-designator))
106 (defcstruct g-type-instance
107 (:class (:pointer g-type-class)))
109 (defcstruct g-type-info
110 (:class-size :uint16)
111 (:base-init-fn :pointer)
112 (:base-finalize-fn :pointer)
113 (:class-init-fn :pointer)
114 (:class-finalize-fn :pointer)
115 (:class-data :pointer)
116 (:instance-size :uint16)
117 (:n-preallocs :uint16)
118 (:instance-init-fn :pointer)
119 (:value-table :pointer))
121 (defcstruct g-type-query
122 (:type g-type-designator)
123 (:type-name (:string :free-from-foreign nil))
124 (:class-size :uint)
125 (:instance-size :uint))
127 (defbitfield g-type-fundamental-flags
128 :classed
129 :instantiatable
130 :derivable
131 :deep-derivable)
133 (defcstruct g-type-fundamental-info
134 (:type-flags g-type-fundamental-flags))
136 (defcstruct g-interface-info
137 (:interface-init :pointer)
138 (:interface-finalize :pointer)
139 (:interface-data :pointer))
141 (defcstruct g-type-value-table
142 (:value-init :pointer)
143 (:value-free :pointer)
144 (:value-copy :pointer)
145 (:value-peek-pointer :pointer)
146 (:collect-format (:string :free-from-foreign nil :free-to-foreign nil))
147 (:collect-value :pointer)
148 (:lcopy-format (:string :free-from-foreign nil :free-to-foreign nil))
149 (:lcopy-value :pointer))
151 (defbitfield g-type-flags
152 (:abstract #. (ash 1 4))
153 :value-abstract)
155 (defcstruct %g-object
156 (:type-instance g-type-instance)
157 (:ref-count :uint)
158 (:data :pointer))
160 (defctype %g-initially-unowned %g-object)
162 (defcstruct g-object-class
163 (:type-class g-type-class)
164 (:construct-properties :pointer)
165 (:constructor :pointer)
166 (:set-property :pointer)
167 (:get-property :pointer)
168 (:dispose :pointer)
169 (:finalize :pointer)
170 (:dispatch-properties-changed :pointer)
171 (:notify :pointer)
172 (:constructed :pointer)
173 (:pdummy :pointer :count 7))
175 (defbitfield g-param-flags
176 :readable
177 :writable
178 :construct
179 :construct-only
180 :lax-validation
181 :static-name
182 :nick
183 :blurb)
185 (defcstruct g-param-spec
186 (:type-instance g-type-instance)
187 (:name (:string :free-from-foreign nil :free-to-foreign nil))
188 (:flags g-param-flags)
189 (:value-type g-type-designator)
190 (:owner-type g-type-designator))
192 (defcunion g-value-data
193 (:int :int)
194 (:uint :uint)
195 (:long :long)
196 (:ulong :ulong)
197 (:int64 :int64)
198 (:uint64 :uint64)
199 (:float :float)
200 (:double :double)
201 (:pointer :pointer))
203 (defcstruct g-value
204 (:type g-type-designator)
205 (:data g-value-data :count 2))
207 (defcstruct g-object-construct-param
208 (:param-spec (:pointer g-param-spec))
209 (:value (:pointer g-value)))
211 (defcstruct g-parameter
212 (:name (:string :free-from-foreign nil :free-to-foreign nil))
213 (:value g-value))
215 (defcstruct g-enum-value
216 (:value :int)
217 (:name (:string :free-from-foreign nil :free-to-foreign nil))
218 (:nick (:string :free-from-foreign nil :free-to-foreign nil)))
220 (defcstruct g-enum-class
221 (:type-class g-type-class)
222 (:minimum :int)
223 (:maximum :int)
224 (:n-values :uint)
225 (:values (:pointer g-enum-value)))
227 (defcstruct g-flags-value
228 (:value :uint)
229 (:name (:string :free-from-foreign nil :free-to-foreign nil))
230 (:nick (:string :free-from-foreign nil :free-to-foreign nil)))
232 (defcstruct g-flags-class
233 (:type-class g-type-class)
234 (:mask :uint)
235 (:n-values :uint)
236 (:values (:pointer g-flags-value)))
238 (defcstruct g-param-spec-boolean
239 (:parent-instance g-param-spec)
240 (:default-value :boolean))
242 (defcstruct g-param-spec-char
243 (:parent-instance g-param-spec)
244 (:minimum :int8)
245 (:maximum :int8)
246 (:default-value :int8))
248 (defcstruct g-param-spec-uchar
249 (:parent-instance g-param-spec)
250 (:minimum :uint8)
251 (:maximum :uint8)
252 (:default-value :uint8))
254 (defcstruct g-param-spec-int
255 (:parent-instance g-param-spec)
256 (:minimum :int)
257 (:maximum :int)
258 (:default-value :int))
260 (defcstruct g-param-spec-uint
261 (:parent-instance g-param-spec)
262 (:minimum :uint)
263 (:maximum :uint)
264 (:default-value :uint))
266 (defcstruct g-param-spec-long
267 (:parent-instance g-param-spec)
268 (:minimum :long)
269 (:maximum :long)
270 (:default-value :ulong))
272 (defcstruct g-param-spec-ulong
273 (:parent-instance g-param-spec)
274 (:minimum :ulong)
275 (:maximum :ulong)
276 (:default-value :ulong))
278 (defcstruct g-param-spec-int64
279 (:parent-instance g-param-spec)
280 (:minimum :uint64)
281 (:maximum :uint64)
282 (:default-value :uint64))
284 (defcstruct g-param-spec-uint64
285 (:parent-instance g-param-spec)
286 (:minimum :uint64)
287 (:maximum :uint64)
288 (:default-value :uint64))
290 (defcstruct g-param-spec-float
291 (:parent-instance g-param-spec)
292 (:minimum :float)
293 (:maximum :float)
294 (:default-value :float)
295 (:epsilon :float))
297 (defcstruct g-param-spec-double
298 (:parent-instance g-param-spec)
299 (:minimum :double)
300 (:maximum :double)
301 (:default-value :double)
302 (:epsilon :double))
304 (defcstruct g-param-spec-enum
305 (:parent-instance g-param-spec)
306 (:enum-class (:pointer g-enum-class))
307 (:default-value :int))
309 (defcstruct g-param-spec-flags
310 (:parent-instance g-param-spec)
311 (:flags-class (:pointer g-flags-class))
312 (:default-value :uint))
314 (defcstruct g-param-spec-string
315 (:parent-instance g-param-spec)
316 (:default-value (:string :free-to-foreign nil :free-from-foreign nil))
317 (:cset-first (:string :free-to-foreign nil :free-from-foreign nil))
318 (:cset-nth (:string :free-to-foreign nil :free-from-foreign nil))
319 (:substitutor :char)
320 (:flags-for-null :uint))
322 (defcstruct g-param-spec-param
323 (:parent-instance g-param-spec))
325 (defcstruct g-param-spec-boxed
326 (:parent-instance g-param-spec))
328 (defcstruct g-param-spec-pointer
329 (:parent-instance g-param-spec))
331 (defcstruct g-param-spec-object
332 (:parent-instance g-param-spec))
334 (defcstruct g-param-spec-value-array
335 (:parent-instance g-param-spec)
336 (:element-spec (:pointer g-param-spec))
337 (:fixed-n-elements :uint))
339 (defcstruct g-param-spec-g-type
340 (:parent-instance g-param-spec)
341 (:types-root g-type-designator))
343 (defcstruct g-param-spec-class
344 (:type-class g-type-class)
345 (:value-type g-type-designator)
346 (:finalize :pointer)
347 (:value-set-default :pointer)
348 (:value-validate :pointer)
349 (:values-cmp :pointer))
351 (defcstruct g-closure
352 (:private-data :uint32)
353 (:marshal :pointer)
354 (:data :pointer)
355 (:notifiers :pointer))
357 (defcfun g-type-class-ref (:pointer g-type-class)
358 (type g-type-designator))
360 (defcfun g-type-class-unref :void
361 (class (:pointer g-type-class)))
363 (defcfun g-type-class-add-private :void
364 (class (:pointer g-type-class))
365 (private-size gsize))
367 (defcfun g-type-register-static g-type-designator
368 (parent-type g-type-designator)
369 (type-name :string)
370 (info (:pointer g-type-info))
371 (flags g-type-flags))
373 (defcfun g-type-register-static-simple g-type-designator
374 (parent-type g-type-designator)
375 (type-name :string)
376 (class-size :uint)
377 (class-init :pointer)
378 (instance-size :uint)
379 (instance-init :pointer)
380 (flags g-type-flags))
382 (defcfun g-type-add-interface-static :void
383 (instance-type g-type-designator)
384 (interface-type g-type-designator)
385 (info (:pointer g-interface-info)))
387 (defcfun g-type-interface-add-prerequisite :void
388 (interface-type g-type-designator)
389 (prerequisite-type g-type-designator))
391 (defcfun g-type-query :void
392 (type g-type-designator)
393 (query (:pointer g-type-query)))
395 (defcfun g-type-default-interface-ref :pointer
396 (type g-type-designator))
398 (defcfun g-type-default-interface-unref :void
399 (interface :pointer))
401 (defcfun g-boxed-copy :pointer
402 (boxed-type g-type-designator)
403 (src-boxed :pointer))
405 (defcfun g-boxed-free :void
406 (boxed-type g-type-designator)
407 (boxed :pointer))
409 (defcfun g-boxed-type-register-static g-type-designator
410 (name :string)
411 (copy-fn :pointer)
412 (free-fn :pointer))
414 (defcfun g-pointer-type-register-static g-type-designator
415 (name :string))
417 (defcfun g-closure-ref (:pointer g-closure)
418 (closure (:pointer g-closure)))
420 (defcfun g-closure-sink :void
421 (closure (:pointer g-closure)))
423 (defcfun g-closure-unref :void
424 (closure (:pointer g-closure)))
426 (defcfun g-closure-invalidate :void
427 (closure (:pointer g-closure)))
429 (defcfun g-closure-add-finalize-notifier :void
430 (closure (:pointer g-closure))
431 (notify-data :pointer)
432 (notify-func :pointer))
434 (defcfun g-closure-add-invalidate-notifier :void
435 (closure (:pointer g-closure))
436 (notify-data :pointer)
437 (notify-func :pointer))
439 (defcfun g-closure-new-simple (:pointer g-closure)
440 (sizeof-closure :uint)
441 (data :pointer))
443 (defcfun g-closure-set-marshal :void
444 (closure (:pointer g-closure))
445 (marshal :pointer))
447 (defcfun g-enum-register-static g-type-designator
448 (name :string)
449 (static-values (:pointer g-enum-value)))
451 (defcfun g-flags-register-static g-type-designator
452 (name :string)
453 (static-values (:pointer g-flags-value)))
455 (defcfun g-param-spec-boolean (:pointer g-param-spec-boolean)
456 (name :string)
457 (nick :string)
458 (blurb :string)
459 (default-value :boolean)
460 (flags g-param-flags))
462 (defcfun g-value-set-boolean :void
463 (g-value (:pointer g-value))
464 (new-value :boolean))
466 (defcfun g-value-get-boolean :boolean
467 (g-value (:pointer g-value)))
469 (defcfun g-param-spec-char (:pointer g-param-spec-char)
470 (name :string)
471 (nick :string)
472 (blurb :string)
473 (minimum :int8)
474 (maximum :int8)
475 (default-value :int8)
476 (flags g-param-flags))
478 (defcfun g-value-set-char :void
479 (g-value (:pointer g-value))
480 (new-value :char))
482 (defcfun g-value-get-char :char
483 (g-value (:pointer g-value)))
485 (defcfun g-param-spec-uchar (:pointer g-param-spec-uchar)
486 (name :string)
487 (nick :string)
488 (blurb :string)
489 (minimum :uint8)
490 (maximum :uint8)
491 (default-value :uint8)
492 (flags g-param-flags))
494 (defcfun g-value-set-uchar :void
495 (g-value (:pointer g-value))
496 (new-value :uchar))
498 (defcfun g-value-get-uchar :uchar
499 (g-value (:pointer g-value)))
501 (defcfun g-param-spec-int (:pointer g-param-spec-int)
502 (name :string)
503 (nick :string)
504 (blurb :string)
505 (minimum :int)
506 (maximum :int)
507 (default-value :int)
508 (flags g-param-flags))
510 (defcfun g-value-set-int :void
511 (g-value (:pointer g-value))
512 (new-value :int))
514 (defcfun g-value-get-int :int
515 (g-value (:pointer g-value)))
517 (defcfun g-param-spec-uint (:pointer g-param-spec-uint)
518 (name :string)
519 (nick :string)
520 (blurb :string)
521 (minimum :uint)
522 (maximum :uint)
523 (default-value :uint)
524 (flags g-param-flags))
526 (defcfun g-value-set-uint :void
527 (g-value (:pointer g-value))
528 (new-value :uint))
530 (defcfun g-value-get-uint :uint
531 (g-value (:pointer g-value)))
533 (defcfun g-param-spec-long (:pointer g-param-spec-long)
534 (name :string)
535 (nick :string)
536 (blurb :string)
537 (minimum :long)
538 (maximum :long)
539 (default-value :long)
540 (flags g-param-flags))
542 (defcfun g-value-set-long :void
543 (g-value (:pointer g-value))
544 (new-value :long))
546 (defcfun g-value-get-long :long
547 (g-value (:pointer g-value)))
549 (defcfun g-param-spec-ulong (:pointer g-param-spec-ulong)
550 (name :string)
551 (nick :string)
552 (blurb :string)
553 (minimum :ulong)
554 (maximum :ulong)
555 (default-value :ulong)
556 (flags g-param-flags))
558 (defcfun g-value-set-ulong :void
559 (g-value (:pointer g-value))
560 (new-value :ulong))
562 (defcfun g-value-get-ulong :ulong
563 (g-value (:pointer g-value)))
565 (defcfun g-param-spec-int64 (:pointer g-param-spec-int64)
566 (name :string)
567 (nick :string)
568 (blurb :string)
569 (minimum :int64)
570 (maximum :int64)
571 (default-value :int64)
572 (flags g-param-flags))
574 (defcfun g-value-set-int64 :void
575 (g-value (:pointer g-value))
576 (new-value :int64))
578 (defcfun g-value-get-int64 :int64
579 (g-value (:pointer g-value)))
581 (defcfun g-param-spec-uint64 (:pointer g-param-spec-uint64)
582 (name :string)
583 (nick :string)
584 (blurb :string)
585 (minimum :uint64)
586 (maximum :uint64)
587 (default-value :uint64)
588 (flags g-param-flags))
590 (defcfun g-value-set-uint64 :void
591 (g-value (:pointer g-value))
592 (new-value :uint64))
594 (defcfun g-value-get-uint64 :uint64
595 (g-value (:pointer g-value)))
597 (defcfun g-param-spec-float (:pointer g-param-spec-float)
598 (name :string)
599 (nick :string)
600 (blurb :string)
601 (minimum :float)
602 (maximum :float)
603 (default-value :float)
604 (flags g-param-flags))
606 (defcfun g-value-set-float :void
607 (g-value (:pointer g-value))
608 (new-value :float))
610 (defcfun g-value-get-float :float
611 (g-value (:pointer g-value)))
613 (defcfun g-param-spec-double (:pointer g-param-spec-double)
614 (name :string)
615 (nick :string)
616 (blurb :string)
617 (minimum :double)
618 (maximum :double)
619 (default-value :double)
620 (flags g-param-flags))
622 (defcfun g-value-set-double :void
623 (g-value (:pointer g-value))
624 (new-value :double))
626 (defcfun g-value-get-double :double
627 (g-value (:pointer g-value)))
629 (defcfun g-param-spec-enum (:pointer g-param-spec-enum)
630 (name :string)
631 (nick :string)
632 (blurb :string)
633 (enum-type g-type-designator)
634 (default-value :int)
635 (flags g-param-flags))
637 (defcfun g-value-set-enum :void
638 (g-value (:pointer g-value))
639 (new-value :int))
641 (defcfun g-value-get-enum :int
642 (g-value (:pointer g-value)))
644 (defcfun g-param-spec-flags (:pointer g-param-spec-flags)
645 (name :string)
646 (nick :string)
647 (blurb :string)
648 (flags-type g-type-designator)
649 (default-value :int)
650 (flags g-param-flags))
652 (defcfun g-value-set-flags :void
653 (g-value (:pointer g-value))
654 (new-value :int))
656 (defcfun g-value-get-flags :int
657 (g-value (:pointer g-value)))
659 (defcfun g-param-spec-string (:pointer g-param-spec-string)
660 (name :string)
661 (nick :string)
662 (blurb :string)
663 (default-value :string)
664 (flags g-param-flags))
666 (defcfun g-value-set-string :void
667 (g-value (:pointer g-value))
668 (new-value :string))
670 (defcfun g-value-get-string (:string :free-from-foreign nil)
671 (g-value (:pointer g-value)))
673 (defcfun g-param-spec-param (:pointer g-param-spec-param)
674 (name :string)
675 (nick :string)
676 (blurb :string)
677 (param-type g-type-designator)
678 (flags g-param-flags))
680 (defcfun g-value-set-param :void
681 (g-value (:pointer g-value))
682 (new-value (:pointer g-param-spec)))
684 (defcfun g-value-get-param (:pointer g-param-spec)
685 (g-value (:pointer g-value)))
687 (defcfun g-param-spec-boxed (:pointer g-param-spec-boxed)
688 (name :string)
689 (nick :string)
690 (blurb :string)
691 (boxed-type g-type-designator)
692 (flags g-param-flags))
694 (defcfun g-value-set-boxed :void
695 (g-value (:pointer g-value))
696 (new-value :pointer))
698 (defcfun g-value-take-boxed :void
699 (g-value (:pointer g-value))
700 (new-value :pointer))
702 (defcfun g-value-get-boxed :pointer
703 (g-value (:pointer g-value)))
705 (defcfun g-param-spec-pointer (:pointer g-param-spec-pointer)
706 (name :string)
707 (nick :string)
708 (blurb :string)
709 (flags g-param-flags))
711 (defcfun g-value-set-pointer :void
712 (g-value (:pointer g-value))
713 (new-value :pointer))
715 (defcfun g-value-get-pointer :pointer
716 (g-value (:pointer g-value)))
718 (defcfun g-param-spec-object (:pointer g-param-spec-object)
719 (name :string)
720 (nick :string)
721 (blurb :string)
722 (object-type g-type-designator)
723 (flags g-param-flags))
725 (defcfun g-value-set-object :void
726 (g-value (:pointer g-value))
727 (new-value :pointer))
729 (defcfun g-value-get-object :pointer
730 (g-value (:pointer g-value)))
732 (defcfun g-param-spec-value-array (:pointer g-param-spec-value-array)
733 (name :string)
734 (nick :string)
735 (blurb :string)
736 (element-spec (:pointer g-param-spec))
737 (flags g-param-flags))
739 (defcfun (g-param-spec-g-type "g_param_spec_gtype") (:pointer g-param-spec-g-type)
740 (name :string)
741 (nick :string)
742 (blurb :string)
743 (types-root g-type-designator)
744 (flags g-param-flags))
746 (defcfun (g-value-set-g-type "g_value_set_gtype") :void
747 (g-value (:pointer g-value))
748 (new-value g-type-designator))
750 (defcfun (g-value-get-g-type "g_value_get_gtype") g-type-designator
751 (g-value (:pointer g-value)))
753 (defcfun g-param-spec-ref-sink (:pointer g-param-spec)
754 (param-spec (:pointer g-param-spec)))
756 (defcfun g-param-spec-unref :void
757 (param-spec (:pointer g-param-spec)))
759 (defcfun g-param-value-set-default :void
760 (param-spec (:pointer g-param-spec))
761 (value (:pointer g-value)))
763 (defcfun g-param-value-defaults :boolean
764 (param-spec (:pointer g-param-spec))
765 (value (:pointer g-value)))
767 (defcfun g-param-value-validate :boolean
768 (param-spec (:pointer g-param-spec))
769 (value (:pointer g-value)))
771 (defcfun g-param-spec-get-name :string
772 (param-spec (:pointer g-param-spec)))
774 (defcfun g-param-spec-get-nick :string
775 (param-spec (:pointer g-param-spec)))
777 (defcfun g-param-spec-get-blurb :string
778 (param-spec (:pointer g-param-spec)))
780 (defcfun g-value-init (:pointer g-value)
781 "Initializes the GValue @code{value} with the default value of @code{type}
783 @arg[value]{a C pointer to the GValue structure}
784 @arg[type]{an integer specifying the GType}"
785 (value (:pointer g-value))
786 (type g-type-designator))
788 (defcfun g-value-copy :void
789 (src-value (:pointer g-value))
790 (dst-value (:pointer g-value)))
792 (defcfun g-value-reset (:pointer g-value)
793 (value (:pointer g-value)))
795 (defcfun g-value-unset (:pointer g-value)
796 "Clears the current value in @code{value} and \"unsets\" the type, releasing all resources associated with this GValue. An unset value is the same as an unitialized GValue.
798 @arg[value]{a C pointer to the GValue structure}"
799 (value (:pointer g-value)))
801 (defcfun g-value-set-instance :void
802 (value (:pointer g-value))
803 (instance :pointer))
805 (defcfun g-strdup-value-contents :string
806 (value (:pointer g-value)))
808 (defcfun g-object-class-install-property :void
809 (class (:pointer g-object-class))
810 (property-id :uint)
811 (param-spec (:pointer g-param-spec)))
813 (defcfun g-object-class-find-property (:pointer g-param-spec)
814 (class (:pointer g-object-class))
815 (property-name :string))
817 (defcfun g-object-class-list-properties (:pointer (:pointer g-param-spec))
818 (class (:pointer g-object-class))
819 (n-properties (:pointer :uint)))
821 (defcfun g-object-class-override-property :void
822 (class (:pointer g-object-class))
823 (property-id :uint)
824 (name :string))
826 (defcfun g-object-interface-install-property :void
827 (interface :pointer)
828 (param-spec (:pointer g-param-spec)))
830 (defcfun g-object-interface-find-property (:pointer g-param-spec)
831 (interface :pointer)
832 (property-name :string))
834 (defcfun g-object-interface-list-properties (:pointer g-param-spec)
835 (interface :pointer)
836 (n-properties (:pointer :uint)))
838 (defcfun g-object-newv :pointer
839 (object-type g-type-designator)
840 (n-parameter :uint)
841 (parameters (:pointer g-parameter)))
843 (defcfun g-object-ref :pointer
844 (object :pointer))
846 (defcfun g-object-unref :void
847 (object :pointer))
849 (defcfun g-object-ref-sink :pointer
850 (object :pointer))
852 (defcfun g-object-is-floating :boolean
853 (object :pointer))
855 (defcfun g-object-force-floating :void
856 (object :pointer))
858 (defcfun g-object-weak-ref :void
859 (object :pointer)
860 (notify :pointer)
861 (data :pointer))
863 (defcfun g-object-weak-unref :void
864 (object :pointer)
865 (notify :pointer)
866 (data :pointer))
868 (defcfun g-object-add-toggle-ref :void
869 (object :pointer)
870 (notifty :pointer)
871 (data :pointer))
873 (defcfun g-object-remove-toggle-ref :void
874 (object :pointer)
875 (notifty :pointer)
876 (data :pointer))
878 (defcfun g-object-notify :void
879 (object :pointer)
880 (property-name :string))
882 (defcfun g-object-freeze-notify :void
883 (object :pointer))
885 (defcfun g-object-thaw-notify :void
886 (object :pointer))
888 (defcfun g-object-get-data :pointer
889 (object :pointer)
890 (key :string))
892 (defcfun g-object-set-data :void
893 (object :pointer)
894 (key :string)
895 (new-value :pointer))
897 (defcfun g-object-set-data-full :void
898 (object :pointer)
899 (key :string)
900 (data :pointer)
901 (destory :pointer))
903 (defcfun g-object-steal-data :pointer
904 (object :pointer)
905 (key :string))
907 (defcfun g-object-set-property :void
908 (object :pointer)
909 (property-name :string)
910 (value (:pointer g-value)))
912 (defcfun g-object-get-property :void
913 (object :pointer)
914 (property-name :string)
915 (value (:pointer g-value)))
917 (defcfun g-signal-connect-closure :ulong
918 (instance :pointer)
919 (detailed-signal :string)
920 (closure (:pointer g-closure))
921 (after :boolean))
923 (defcfun g-signal-emitv :void
924 (instance-and-params (:pointer g-value))
925 (signal-id :uint)
926 (detail g-quark)
927 (return-value (:pointer g-value)))
929 (defcfun g-signal-lookup :uint
930 (name :string)
931 (type g-type-designator))
933 (defbitfield g-signal-flags
934 :run-first :run-last :run-cleanup :no-recurse :detailed :action :no-hooks)
936 (defcstruct g-signal-query
937 (:signal-id :uint)
938 (:signal-name :string)
939 (:owner-type g-type-designator)
940 (:signal-flags g-signal-flags)
941 (:return-type (g-type-designator :mangled-p t))
942 (:n-params :uint)
943 (:param-types (:pointer (g-type-designator :mangled-p t))))
945 (defcfun g-signal-query :void
946 (signal-id :uint)
947 (query (:pointer g-signal-query)))
949 (defcfun g-signal-list-ids (:pointer :uint)
950 (type g-type-designator)
951 (n-ids (:pointer :uint)))
953 (defcfun g-signal-parse-name :boolean
954 (detailed-signal :string)
955 (owner-type g-type-designator)
956 (signal-id-ptr (:pointer :uint))
957 (detail-ptr (:pointer g-quark))
958 (force-detail-quark :boolean))
960 (defcstruct g-object-struct
961 (:type-instance g-type-instance)
962 (:ref-count :uint)
963 (:qdata :pointer))