<page xmlns="http://projectmallard.org/1.0/"
	 type="topic" id="about-gi">

  <info>
    <revision pkgversion="5.2" version="0.1" date="2012-01-18" status="incomplete"/>
    <credit type="author">
      <name>Daniel Espinosa</name>
      <email>despinosa@src.gnome.org</email>
    </credit>
    <license>
      <p>Creative Commons Share Alike 3.0</p>
    </license>
    <link type="topic" xref="index" />
  </info>

  <title>
    What is GObject Introspection?
  </title>
  <section id="Description">
  <title>Description</title>
  <p>
  GObject Introspection (GI) is a set of tools to generate meta-information about the API mainly for GLib/GObject
  based libraries. It generates two files one in XML and one in a binary format. Most of the GI meta-information is
  detected automatically by scanning C source code and gtk-doc annotations.
  </p>
  <note style="tip">
  <p>GDA is mainly written in C with gtk-doc. Developers has appended lot of annotations to gtk-doc documentation
  in order to allow GI to detect correctly all meta-data.</p>
  </note>
  <p>
  These meta-information is used by others to get access to GDA's methods and objects, using different
  languages other than C, like Python, JavaScript and others with GI support.
  </p>
  <p>
  The XML  and binary file format are Gda-[MajorVersion]-0.gir and Gda-[MajorVersion]-0.typelib respectively, where 
  [MajorVersion] is set to current major version in GDA. For example Gda-6.0.gir, for GDA version 6.x series.
  </p>
  <note style="tip">
  <p>
  GDA generates these files for you at build time.
  </p>
  </note>
  <note style="tip">
	  <p>
	  In this guide we use GIR to refer XML file with extension .gir and TYPELIB for binary format with extension .typelib
	  </p>
  </note>
  </section>
  <section>
  <title>Benefits</title>
  <p>
  Given access to latest API to C based libraries, to high level languages allows to create powerful applications in less time. Once GDA release a minor release with your new fantastic features including new methods to existing objects or new ones, by updating GI metadata you will give any application to get access to them.
  </p>
  <p>
  If you are developing a web page using Python, you can get new GDA's features as soon as it is installed in your system with its updated GI metadata.
  </p>
  </section>
</page>
