summaryrefslogtreecommitdiff
path: root/docs/reference/gi-docs.xml
blob: b6bc54f1dbfe96d74cd4546d0a060aade235672a (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
               "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "xml/version.xml">
]>
<book id="index" lang="en" xmlns:xi="http://www.w3.org/2003/XInclude">
  <title>GObject Introspection Reference Manual</title>
  <bookinfo>
    <title>GObject Introspection Reference Manual</title>
    <releaseinfo>
      This document is for GObject Introspection version &version;.
      The latest version of this documentation can be found on-line at
      <ulink type="http" url="http://developer.gnome.org/gi/unstable/">http://developer.gnome.org/gi/unstable/</ulink>.
    </releaseinfo>
  </bookinfo>

  <part id="overview">
    <title>GObject-Introspection Overview</title>
    <para>
      GObject-Introspection is striving to provide a middleware layer between
      (GObject based) C libraries and language bindings. The primary goal of
      this project is to minimize duplicated effort in language binding
      projects by providing shared metadata files on bound C libraries.
      Language bindings can read these metadata files at runtime to learn
      how to interface with a bound C library.
    </para>

    <xi:include href="xml/overview-building.xml"/>
    <xi:include href="xml/overview-programming.xml"/>
    <!-- <chapter>
      <title>Introduction</title>

      <para>
        Metadata provided by GObject-Introspection is represented by a
        number of structures:
        <synopsis>
        * <link linkend="gi-GIBaseInfo">GIBaseInfo</link>
          * <link linkend="gi-GICallableInfo">GICallableInfo</link>
            * <link linkend="gi-GIFunctionInfo">GIFunctionInfo</link>
            * <link linkend="gi-GISignalInfo">GISignalInfo</link>
            * <link linkend="gi-GIVFuncInfo">GIVFuncInfo</link>
          * <link linkend="gi-GIRegisteredTypeInfo">GIRegisteredTypeInfo</link>
            * <link linkend="gi-GIEnumInfo">GIEnumInfo</link>
            * <link linkend="gi-GIInterfaceInfo">GIInterfaceInfo</link>
            * <link linkend="gi-GIObjectInfo">GIObjectInfo</link>
            * <link linkend="gi-GIStructInfo">GIStructInfo</link>
            * <link linkend="gi-GIUnionInfo">GIUnionInfo</link>
          * <link linkend="gi-GIArgInfo">GIArgInfo</link>
          * <link linkend="gi-GIConstantInfo">GIConstantInfo</link>
          * <link linkend="gi-GIFieldInfo">GIFieldInfo</link>
          * <link linkend="gi-GIPropertyInfo">GIPropertyInfo</link>
          * <link linkend="gi-GITypeInfo">GITypeInfo</link>
        </synopsis>
      </para>
    </chapter> -->

<!--
    <chapter id="tools">
      <title>GObject Introspection Tools</title>

      &g-ir-scanner;
      &g-ir-compiler;
      &g-ir-generator;
    </chapter>
-->

    <para>
      The GObject-Introspection package contains of a few different parts:
      <itemizedlist>
        <listitem>
          <para>The GIR XML format - an XML format describing the exported C API including documentation</para>
        </listitem>
        <listitem>
          <para>The GTypelib format - a binary format optimized for fast disk access and low memory usage</para>
        </listitem>
        <listitem>
          <para>g-ir-scanner - parses C source code and gtk-doc comments and generates GIR XML files</para>
        </listitem>
        <listitem>
          <para>g-ir-compiler - compiles GIR XML files into typelibs</para>
        </listitem>
        <listitem>
          <para>libgirepository - library to access typelib from C</para>
        </listitem>
      </itemizedlist>
    </para>
    <para>The following illustration shows how the different components fit together:</para>
    <inlinegraphic fileref="overview.png" format="PNG"></inlinegraphic>
  </part>

  <part id="gi">
    <title>API Reference</title>
    <chapter>
      <title>GIRepository</title>
      <xi:include href="xml/girepository.xml"/>
      <xi:include href="xml/gi-struct-hierarchy.xml"/>

      <xi:include href="xml/gicommontypes.xml"/>

      <xi:include href="xml/gibaseinfo.xml"/>

      <xi:include href="xml/gicallableinfo.xml"/>
        <xi:include href="xml/gifunctioninfo.xml"/>
        <xi:include href="xml/gicallbackinfo.xml"/>
        <xi:include href="xml/gisignalinfo.xml"/>
        <xi:include href="xml/givfuncinfo.xml"/>

      <xi:include href="xml/giregisteredtypeinfo.xml"/>
        <xi:include href="xml/gienuminfo.xml"/>
        <xi:include href="xml/gistructinfo.xml"/>
        <xi:include href="xml/giunioninfo.xml"/>
        <xi:include href="xml/giobjectinfo.xml"/>
        <xi:include href="xml/giinterfaceinfo.xml"/>

      <xi:include href="xml/giarginfo.xml"/>
      <xi:include href="xml/giconstantinfo.xml"/>
      <xi:include href="xml/gifieldinfo.xml"/>
      <xi:include href="xml/gipropertyinfo.xml"/>
      <xi:include href="xml/gitypeinfo.xml"/>
      <xi:include href="xml/givalueinfo.xml"/>
    </chapter>

    <chapter id="gi-typelib">
      <title>GITypelib</title>
      <xi:include href="xml/gitypelib.xml" />
      <xi:include href="xml/gitypelib-internal.xml"/>
    </chapter>

    <chapter>
      <title>TODO</title>
      <xi:include href="xml/girffi.xml"/>

      <xi:include href="xml/gi-gir-reference.xml"/>
      <!--
      &gi-gir-creating;
      &gi-gir-parsing;
      &gi-gir-verifying;
       -->
    </chapter>

  </part>

  <index id="api-index-full">
    <title id="index-all">Index</title>
    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-deprecated" role="deprecated">
    <title>Index of deprecated symbols</title>
    <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-1-29-0" role="1.29.0">
    <title>Index of new symbols in 1.29.0</title>
    <xi:include href="xml/api-index-1.29.0.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-1-29-17" role="1.29.17">
    <title>Index of new symbols in 1.29.17</title>
    <xi:include href="xml/api-index-1.29.17.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-1-30-1" role="1.30.1">
    <title>Index of new symbols in 1.30.1</title>
    <xi:include href="xml/api-index-1.30.1.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-1-34" role="1.34">
    <title>Index of new symbols in 1.34</title>
    <xi:include href="xml/api-index-1.34.xml"><xi:fallback /></xi:include>
  </index>
  <index id="api-index-1-35-8" role="1.35.8">
    <title>Index of new symbols in 1.35.8</title>
    <xi:include href="xml/api-index-1.35.8.xml"><xi:fallback /></xi:include>
  </index>

  <xi:include href="xml/annotation-glossary.xml" />
</book>