summaryrefslogtreecommitdiff
path: root/tests/doctool/GIRepository-2.0-C-expected/GIRepository.BaseInfo.page
blob: 5987810f0e8fb99eda514d2d6db94379f02d0950 (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
<?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 <link xref="GIRepository">GIRepository</link> API.
All other structs can be casted to a <link xref="GIBaseInfo">GIBaseInfo</link>, for instance:
&lt;example&gt;
&lt;title&gt;Casting a <link xref="GIFunctionInfo">GIFunctionInfo</link> to <link xref="GIBaseInfo">GIBaseInfo</link>&lt;/title&gt;
&lt;programlisting&gt;
GIFunctionInfo *function_info = ...;
GIBaseInfo *info = (GIBaseInfo*)function_info;
&lt;/programlisting&gt;
&lt;/example&gt;
Most <link xref="GIRepository">GIRepository</link> APIs returning a <link xref="GIBaseInfo">GIBaseInfo</link> 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().</p><p>&lt;example&gt;
&lt;title&gt;Getting the Button of the Gtk typelib&lt;/title&gt;
&lt;programlisting&gt;
GIBaseInfo *button_info = g_irepository_find_by_name(NULL, "Gtk", "Button");
... use button_info ...
g_base_info_unref(button_info);
&lt;/programlisting&gt;
&lt;/example&gt;</p><p>&lt;refsect1 id="gi-gibaseinfo.struct-hierarchy" role="struct_hierarchy"&gt;
&lt;title role="struct_hierarchy.title"&gt;Struct hierarchy&lt;/title&gt;
&lt;synopsis&gt;
GIBaseInfo
+----&lt;link linkend="gi-GIArgInfo"&gt;GIArgInfo&lt;/link&gt;
+----&lt;link linkend="gi-GICallableInfo"&gt;GICallableInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIConstantInfo"&gt;GIConstantInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIFieldInfo"&gt;GIFieldInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIPropertyInfo"&gt;GIPropertyInfo&lt;/link&gt;
+----&lt;link linkend="gi-GIRegisteredTypeInfo"&gt;GIRegisteredTypeInfo&lt;/link&gt;
+----&lt;link linkend="gi-GITypeInfo"&gt;GITypeInfo&lt;/link&gt;
&lt;/synopsis&gt;
&lt;/refsect1&gt;</p>
</page>