added some function documentations.
[platform/upstream/glib.git] / docs / reference / gobject / tmpl / types.sgml
1 <!-- ##### SECTION Title ##### -->
2 GType
3
4 <!-- ##### SECTION Short_Description ##### -->
5
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9
10 </para>
11
12 <!-- ##### SECTION See_Also ##### -->
13 <para>
14
15 </para>
16
17 <!-- ##### TYPEDEF GType ##### -->
18 <para>
19
20 </para>
21
22
23 <!-- ##### MACRO G_TYPE_FUNDAMENTAL ##### -->
24 <para>
25
26 </para>
27
28 @type: 
29
30
31 <!-- ##### MACRO G_TYPE_FUNDAMENTAL_MAX ##### -->
32 <para>
33
34 </para>
35
36
37
38 <!-- ##### MACRO G_TYPE_DERIVE_ID ##### -->
39 <para>
40
41 </para>
42
43 @ptype: 
44 @branch_seqno: 
45
46
47 <!-- ##### MACRO G_TYPE_BRANCH_SEQNO ##### -->
48 <para>
49
50 </para>
51
52 @type: 
53
54
55 <!-- ##### MACRO G_TYPE_FUNDAMENTAL_LAST ##### -->
56 <para>
57
58 </para>
59
60
61
62 <!-- ##### MACRO G_TYPE_IS_ABSTRACT ##### -->
63 <para>
64
65 </para>
66
67 @type: 
68
69
70 <!-- ##### MACRO G_TYPE_IS_DERIVED ##### -->
71 <para>
72
73 </para>
74
75 @type: 
76
77
78 <!-- ##### MACRO G_TYPE_IS_FUNDAMENTAL ##### -->
79 <para>
80
81 </para>
82
83 @type: 
84
85
86 <!-- ##### MACRO G_TYPE_IS_VALUE_TYPE ##### -->
87 <para>
88
89 </para>
90
91 @type: 
92
93
94 <!-- ##### MACRO G_TYPE_IS_CLASSED ##### -->
95 <para>
96
97 </para>
98
99 @type: 
100
101
102 <!-- ##### MACRO G_TYPE_IS_INSTANTIATABLE ##### -->
103 <para>
104
105 </para>
106
107 @type: 
108
109
110 <!-- ##### MACRO G_TYPE_IS_DERIVABLE ##### -->
111 <para>
112
113 </para>
114
115 @type: 
116
117
118 <!-- ##### MACRO G_TYPE_IS_DEEP_DERIVABLE ##### -->
119 <para>
120
121 </para>
122
123 @type: 
124
125
126 <!-- ##### MACRO G_TYPE_IS_INTERFACE ##### -->
127 <para>
128
129 </para>
130
131 @type: 
132
133
134 <!-- ##### ENUM GTypeFundamentals ##### -->
135 <para>
136
137 </para>
138
139 @G_TYPE_INVALID: 
140 @G_TYPE_NONE: 
141 @G_TYPE_INTERFACE: 
142 @G_TYPE_CHAR: 
143 @G_TYPE_UCHAR: 
144 @G_TYPE_BOOLEAN: 
145 @G_TYPE_INT: 
146 @G_TYPE_UINT: 
147 @G_TYPE_LONG: 
148 @G_TYPE_ULONG: 
149 @G_TYPE_ENUM: 
150 @G_TYPE_FLAGS: 
151 @G_TYPE_FLOAT: 
152 @G_TYPE_DOUBLE: 
153 @G_TYPE_STRING: 
154 @G_TYPE_PARAM: 
155 @G_TYPE_BOXED: 
156 @G_TYPE_POINTER: 
157 @G_TYPE_CCALLBACK: 
158 @G_TYPE_OBJECT: 
159 @G_TYPE_GTK_SIGNAL: 
160 @G_TYPE_BSE_PROCEDURE: 
161 @G_TYPE_BSE_TIME: 
162 @G_TYPE_BSE_NOTE: 
163 @G_TYPE_BSE_DOTS: 
164 @G_TYPE_GLE_GOBJECT: 
165 @G_TYPE_LAST_RESERVED_FUNDAMENTAL: 
166 @G_TYPE_PARAM_CHAR: 
167 @G_TYPE_PARAM_UCHAR: 
168 @G_TYPE_PARAM_BOOLEAN: 
169 @G_TYPE_PARAM_INT: 
170 @G_TYPE_PARAM_UINT: 
171 @G_TYPE_PARAM_LONG: 
172 @G_TYPE_PARAM_ULONG: 
173 @G_TYPE_PARAM_ENUM: 
174 @G_TYPE_PARAM_FLAGS: 
175 @G_TYPE_PARAM_FLOAT: 
176 @G_TYPE_PARAM_DOUBLE: 
177 @G_TYPE_PARAM_STRING: 
178 @G_TYPE_PARAM_PARAM: 
179 @G_TYPE_PARAM_POINTER: 
180 @G_TYPE_PARAM_CCALLBACK: 
181 @G_TYPE_PARAM_BOXED: 
182 @G_TYPE_PARAM_OBJECT: 
183
184 <!-- ##### STRUCT GTypeInterface ##### -->
185 <para>
186
187 </para>
188
189
190 <!-- ##### STRUCT GTypeInstance ##### -->
191 <para>
192
193 </para>
194
195
196 <!-- ##### STRUCT GTypeInfo ##### -->
197 <para>
198
199 </para>
200
201 @class_size: 
202 @base_init: 
203 @base_finalize: 
204 @class_init: 
205 @class_finalize: 
206 @class_data: 
207 @instance_size: 
208 @n_preallocs: 
209 @instance_init: 
210 @value_table: 
211
212 <!-- ##### STRUCT GTypeFundamentalInfo ##### -->
213 <para>
214
215 </para>
216
217 @type_flags: 
218
219 <!-- ##### STRUCT GInterfaceInfo ##### -->
220 <para>
221
222 </para>
223
224 @interface_init: 
225 @interface_finalize: 
226 @interface_data: 
227
228 <!-- ##### STRUCT GTypeValueTable ##### -->
229 <para>
230
231 </para>
232
233 @value_init: 
234 @value_free: 
235 @value_copy: 
236 @value_peek_pointer: 
237 @collect_type: 
238 @collect_value: 
239 @lcopy_type: 
240 @lcopy_value: 
241
242 <!-- ##### MACRO G_TYPE_FROM_INSTANCE ##### -->
243 <para>
244
245 </para>
246
247 @instance: 
248
249
250 <!-- ##### MACRO G_TYPE_FROM_CLASS ##### -->
251 <para>
252
253 </para>
254
255 @g_class: 
256
257
258 <!-- ##### MACRO G_TYPE_FROM_INTERFACE ##### -->
259 <para>
260
261 </para>
262
263 @g_iface: 
264
265
266 <!-- ##### MACRO G_TYPE_INSTANCE_GET_CLASS ##### -->
267 <para>
268
269 </para>
270
271 @instance: 
272 @g_type: 
273 @c_type: 
274
275
276 <!-- ##### MACRO G_TYPE_INSTANCE_GET_INTERFACE ##### -->
277 <para>
278
279 </para>
280
281 @instance: 
282 @g_type: 
283 @c_type: 
284
285
286 <!-- ##### MACRO G_TYPE_CHECK_INSTANCE ##### -->
287 <para>
288
289 </para>
290
291 @instance: 
292
293
294 <!-- ##### MACRO G_TYPE_CHECK_INSTANCE_CAST ##### -->
295 <para>
296
297 </para>
298
299 @instance: 
300 @g_type: 
301 @c_type: 
302
303
304 <!-- ##### MACRO G_TYPE_CHECK_INSTANCE_TYPE ##### -->
305 <para>
306
307 </para>
308
309 @instance: 
310 @g_type: 
311
312
313 <!-- ##### MACRO G_TYPE_CHECK_CLASS_CAST ##### -->
314 <para>
315
316 </para>
317
318 @g_class: 
319 @g_type: 
320 @c_type: 
321
322
323 <!-- ##### MACRO G_TYPE_CHECK_CLASS_TYPE ##### -->
324 <para>
325
326 </para>
327
328 @g_class: 
329 @g_type: 
330
331
332 <!-- ##### MACRO G_TYPE_CHECK_VALUE ##### -->
333 <para>
334
335 </para>
336
337 @value: 
338
339
340 <!-- ##### MACRO G_TYPE_CHECK_VALUE_TYPE ##### -->
341 <para>
342
343 </para>
344
345 @value: 
346 @g_type: 
347
348
349 <!-- ##### FUNCTION g_type_init ##### -->
350 <para>
351 Prior to any use of the type system, g_type_init() has to be called to initialize
352 the type system and assorted other code portions (such as the various fundamental
353 type implementations or the signal system).
354 </para>
355
356
357
358 <!-- ##### FUNCTION g_type_name ##### -->
359 <para>
360 Return the unique name that is assigned to a type ID (this is the preferred method
361 to find out whether a specific type has been registered for the passed in ID yet).
362 </para>
363
364 @type:    Type to return name for.
365 @Returns: Static type name or NULL.
366
367
368 <!-- ##### FUNCTION g_type_qname ##### -->
369 <para>
370 Return the corresponding quark of the type IDs name.
371 </para>
372
373 @type:    Type to return quark of type name for.
374 @Returns: The type names quark or 0.
375
376
377 <!-- ##### FUNCTION g_type_from_name ##### -->
378 <para>
379 Lookup the type ID from a given type name, returns 0 if no type has been registered under this name
380 (this is the preferred method to find out by name whether a specific type has been registered yet).
381 </para>
382
383 @name:    Type name to lookup.
384 @Returns: Corresponding type ID or 0.
385
386
387 <!-- ##### FUNCTION g_type_parent ##### -->
388 <para>
389 Return the direct parent type of the passed in type.
390 If the passed in type has no parent, i.e. is a fundamental type, 0 is returned.
391 </para>
392
393 @type:    The derived type.
394 @Returns: The parent type.
395
396
397 <!-- ##### FUNCTION g_type_next_base ##### -->
398 <para>
399 Given a @type and a @base_type which is contained in its anchestry, return
400 the type that @base_type is the direct parent type for.
401 In other words, for a given type branch, e.g. Root-Derived1-Derived2-Leaf, specified
402 through @type=Leaf, return the nextmost child of @base_type. In this example, for
403 @base_type=Derived1, the returned value would be Derived2, for @base_type=Root, the
404 returned value would be Derived1.
405 </para>
406
407 @type:      Descendant of @base_type and the type to be returned.
408 @base_type: Direct parent of the returned type.
409 @Returns:   Immediate child of @base_type and anchestor of @type.
410
411
412 <!-- ##### FUNCTION g_type_is_a ##### -->
413 <para>
414 Check whether @type is a descendant of @is_a_type.
415 </para>
416
417 @type:      Type to check anchestry for.
418 @is_a_type: Possible anchestor of @type.
419 @Returns:   %TRUE if @type is_a @is_a_type holds true.
420
421
422 <!-- ##### FUNCTION g_type_fundamental_branch_last ##### -->
423 <para>
424
425 </para>
426
427 @type: 
428 @Returns: 
429
430
431 <!-- ##### FUNCTION g_type_class_ref ##### -->
432 <para>
433
434 </para>
435
436 @type: 
437 @Returns: 
438
439
440 <!-- ##### FUNCTION g_type_class_peek ##### -->
441 <para>
442
443 </para>
444
445 @type: 
446 @Returns: 
447
448
449 <!-- ##### FUNCTION g_type_class_unref ##### -->
450 <para>
451
452 </para>
453
454 @g_class: 
455
456
457 <!-- ##### FUNCTION g_type_class_peek_parent ##### -->
458 <para>
459
460 </para>
461
462 @g_class: 
463 @Returns: 
464
465
466 <!-- ##### FUNCTION g_type_interface_peek ##### -->
467 <para>
468
469 </para>
470
471 @instance_class: 
472 @iface_type: 
473 @Returns: 
474
475
476 <!-- ##### FUNCTION g_type_children ##### -->
477 <para>
478 Return a newly allocated and 0 terminated array of type IDs, listing the
479 child types of @type. The return value has to be g_free()ed after use.
480 </para>
481
482 @type:       The parent type.
483 @n_children: Optional #guint pointer to contain the number of child types.
484 @Returns:    Newly allocated and 0 terminated array of child types.
485
486
487 <!-- ##### FUNCTION g_type_interfaces ##### -->
488 <para>
489 Return a newly allocated and 0 terminated array of type IDs, listing the
490 interface types that @type conforms to. The return value has to be
491 g_free()ed after use.
492 </para>
493
494 @type:         The type to list interface types for.
495 @n_interfaces: Optional #guint pointer to contain the number of interface types.
496 @Returns:      Newly allocated and 0 terminated array of interface types.
497
498
499 <!-- ##### FUNCTION g_type_set_qdata ##### -->
500 <para>
501
502 </para>
503
504 @type: 
505 @quark: 
506 @data: 
507
508
509 <!-- ##### FUNCTION g_type_get_qdata ##### -->
510 <para>
511
512 </para>
513
514 @type: 
515 @quark: 
516 @Returns: 
517
518
519 <!-- ##### USER_FUNCTION GBaseInitFunc ##### -->
520 <para>
521
522 </para>
523
524 @g_class: 
525
526
527 <!-- ##### USER_FUNCTION GBaseFinalizeFunc ##### -->
528 <para>
529
530 </para>
531
532 @g_class: 
533
534
535 <!-- ##### USER_FUNCTION GClassInitFunc ##### -->
536 <para>
537
538 </para>
539
540 @g_class: 
541 @class_data: 
542
543
544 <!-- ##### USER_FUNCTION GClassFinalizeFunc ##### -->
545 <para>
546
547 </para>
548
549 @g_class: 
550 @class_data: 
551
552
553 <!-- ##### USER_FUNCTION GInstanceInitFunc ##### -->
554 <para>
555
556 </para>
557
558 @instance: 
559 @g_class: 
560
561
562 <!-- ##### USER_FUNCTION GInterfaceInitFunc ##### -->
563 <para>
564
565 </para>
566
567 @g_iface: 
568 @iface_data: 
569
570
571 <!-- ##### USER_FUNCTION GInterfaceFinalizeFunc ##### -->
572 <para>
573
574 </para>
575
576 @g_iface: 
577 @iface_data: 
578
579
580 <!-- ##### USER_FUNCTION GTypeClassCacheFunc ##### -->
581 <para>
582
583 </para>
584
585 @cache_data: 
586 @g_class: 
587 @Returns: 
588
589
590 <!-- ##### ENUM GTypeFlags ##### -->
591 <para>
592
593 </para>
594
595 @G_TYPE_FLAG_ABSTRACT: 
596
597 <!-- ##### ENUM GTypeFundamentalFlags ##### -->
598 <para>
599
600 </para>
601
602 @G_TYPE_FLAG_CLASSED: 
603 @G_TYPE_FLAG_INSTANTIATABLE: 
604 @G_TYPE_FLAG_DERIVABLE: 
605 @G_TYPE_FLAG_DEEP_DERIVABLE: 
606
607 <!-- ##### FUNCTION g_type_register_static ##### -->
608 <para>
609
610 </para>
611
612 @parent_type: 
613 @type_name: 
614 @info: 
615 @flags: 
616 @Returns: 
617
618
619 <!-- ##### FUNCTION g_type_register_dynamic ##### -->
620 <para>
621
622 </para>
623
624 @parent_type: 
625 @type_name: 
626 @plugin: 
627 @flags: 
628 @Returns: 
629
630
631 <!-- ##### FUNCTION g_type_register_fundamental ##### -->
632 <para>
633
634 </para>
635
636 @type_id: 
637 @type_name: 
638 @info: 
639 @finfo: 
640 @flags: 
641 @Returns: 
642
643
644 <!-- ##### FUNCTION g_type_add_interface_static ##### -->
645 <para>
646
647 </para>
648
649 @instance_type: 
650 @interface_type: 
651 @info: 
652
653
654 <!-- ##### FUNCTION g_type_add_interface_dynamic ##### -->
655 <para>
656
657 </para>
658
659 @instance_type: 
660 @interface_type: 
661 @plugin: 
662
663
664 <!-- ##### FUNCTION g_type_get_plugin ##### -->
665 <para>
666
667 </para>
668
669 @type: 
670 @Returns: 
671
672
673 <!-- ##### FUNCTION g_type_interface_get_plugin ##### -->
674 <para>
675
676 </para>
677
678 @instance_type: 
679 @implementation_type: 
680 @Returns: 
681
682
683 <!-- ##### FUNCTION g_type_fundamental_last ##### -->
684 <para>
685
686 </para>
687
688 @Returns: 
689
690
691 <!-- ##### FUNCTION g_type_check_flags ##### -->
692 <para>
693
694 </para>
695
696 @type: 
697 @flags: 
698 @Returns: 
699
700
701 <!-- ##### FUNCTION g_type_create_instance ##### -->
702 <para>
703
704 </para>
705
706 @type: 
707 @Returns: 
708
709
710 <!-- ##### FUNCTION g_type_free_instance ##### -->
711 <para>
712
713 </para>
714
715 @instance: 
716
717
718 <!-- ##### FUNCTION g_type_add_class_cache_func ##### -->
719 <para>
720
721 </para>
722
723 @cache_data: 
724 @cache_func: 
725
726
727 <!-- ##### FUNCTION g_type_remove_class_cache_func ##### -->
728 <para>
729
730 </para>
731
732 @cache_data: 
733 @cache_func: 
734
735
736 <!-- ##### FUNCTION g_type_class_unref_uncached ##### -->
737 <para>
738
739 </para>
740
741 @g_class: 
742
743
744 <!-- ##### FUNCTION g_type_check_instance ##### -->
745 <para>
746
747 </para>
748
749 @instance: 
750 @Returns: 
751
752
753 <!-- ##### FUNCTION g_type_check_instance_cast ##### -->
754 <para>
755
756 </para>
757
758 @instance: 
759 @iface_type: 
760 @Returns: 
761
762
763 <!-- ##### FUNCTION g_type_instance_is_a ##### -->
764 <para>
765
766 </para>
767
768 @instance: 
769 @iface_type: 
770 @Returns: 
771
772
773 <!-- ##### FUNCTION g_type_check_class_cast ##### -->
774 <para>
775
776 </para>
777
778 @g_class: 
779 @is_a_type: 
780 @Returns: 
781
782
783 <!-- ##### FUNCTION g_type_class_is_a ##### -->
784 <para>
785
786 </para>
787
788 @g_class: 
789 @is_a_type: 
790 @Returns: 
791
792
793 <!-- ##### FUNCTION g_type_check_value ##### -->
794 <para>
795
796 </para>
797
798 @value: 
799 @Returns: 
800
801
802 <!-- ##### FUNCTION g_type_value_is_a ##### -->
803 <para>
804
805 </para>
806
807 @value: 
808 @type: 
809 @Returns: 
810
811
812 <!-- ##### FUNCTION g_type_value_table_peek ##### -->
813 <para>
814
815 </para>
816
817 @type: 
818 @Returns: 
819
820