summaryrefslogtreecommitdiff
path: root/tests/doctool/GIRepository-2.0-Python-expected/GIRepository.BaseInfo.page
blob: 055334f0fccb61c16876c102e0f99e0f7fa14151 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?xml version="1.0"?>
<page id="GIRepository.BaseInfo"
      type="guide"
      style="record"
      xmlns="http://projectmallard.org/1.0/"
      xmlns:ui="http://projectmallard.org/experimental/ui/">
  <info>
    <link type="guide" xref="index"/>
  </info>
  <title>GIRepositoryBaseInfo</title>
  <p>GIBaseInfo is the common base struct of all other *Info structs
accessible through the #GIRepository API.
All other structs can be casted to a #GIBaseInfo, for instance:
<example>
<title>Casting a #GIFunctionInfo to #GIBaseInfo</title>
<programlisting>
GIFunctionInfo *function_info = ...;
GIBaseInfo *info = (GIBaseInfo*)function_info;
</programlisting>
</example>
Most #GIRepository APIs returning a #GIBaseInfo is actually creating a new struct, in other
words, g_base_info_unref() has to be called when done accessing the data.
GIBaseInfos are normally accessed by calling either
g_irepository_find_by_name(), g_irepository_find_by_gtype() or g_irepository_get_info().

<example>
<title>Getting the Button of the Gtk typelib</title>
<programlisting>
GIBaseInfo *button_info = g_irepository_find_by_name(NULL, "Gtk", "Button");
... use button_info ...
g_base_info_unref(button_info);
</programlisting>
</example>

<refsect1 id="gi-gibaseinfo.struct-hierarchy" role="struct_hierarchy">
<title role="struct_hierarchy.title">Struct hierarchy</title>
<synopsis>
GIBaseInfo
+----<link linkend="gi-GIArgInfo">GIArgInfo</link>
+----<link linkend="gi-GICallableInfo">GICallableInfo</link>
+----<link linkend="gi-GIConstantInfo">GIConstantInfo</link>
+----<link linkend="gi-GIFieldInfo">GIFieldInfo</link>
+----<link linkend="gi-GIPropertyInfo">GIPropertyInfo</link>
+----<link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
+----<link linkend="gi-GITypeInfo">GITypeInfo</link>
</synopsis>
</refsect1></p>
</page>