<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Anjuta" version="3.0"/>
  <include name="Atk" version="1.0"/>
  <include name="GLib" version="2.0"/>
  <include name="GModule" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gdk" version="3.0"/>
  <include name="GdkPixbuf" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <include name="Pango" version="1.0"/>
  <include name="cairo" version="1.0"/>
  <include name="xlib" version="2.0"/>
  <c:include name="libanjuta/interfaces/libanjuta-interfaces.h"/>
  <namespace name="IAnjuta"
             version="3.0"
             shared-library="libanjuta-3.so.0.0"
             c:identifier-prefixes="IAnjuta"
             c:symbol-prefixes="ianjuta">
    <alias name="BuilderHandle" c:type="IAnjutaBuilderHandle">
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <alias name="LanguageId" c:type="IAnjutaLanguageId">
      <type name="gint" c:type="gint"/>
    </alias>
    <constant name="BUILDER_CONFIGURATION_DEBUG"
              value="Debug"
              c:type="IANJUTA_BUILDER_CONFIGURATION_DEBUG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BUILDER_CONFIGURATION_OPTIMIZED"
              value="Optimized"
              c:type="IANJUTA_BUILDER_CONFIGURATION_OPTIMIZED">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BUILDER_CONFIGURATION_PROFILING"
              value="Profiling"
              c:type="IANJUTA_BUILDER_CONFIGURATION_PROFILING">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="BUILDER_ROOT_URI"
              value="build_root_uri"
              c:type="IANJUTA_BUILDER_ROOT_URI">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <interface name="Buildable"
               c:symbol-prefix="buildable"
               c:type="IAnjutaBuildable"
               glib:type-name="IAnjutaBuildable"
               glib:get-type="ianjuta_buildable_get_type"
               glib:type-struct="BuildableIface">
      <function name="error_quark"
                c:identifier="ianjuta_buildable_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="build" invoker="build" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="clean" invoker="clean" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="configure" invoker="configure" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="execute" invoker="execute" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="generate" invoker="generate" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_command" invoker="get_command" throws="1">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="command_id" transfer-ownership="none">
            <type name="BuildableCommand" c:type="IAnjutaBuildableCommand"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="install" invoker="install" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="reset_commands"
                      invoker="reset_commands"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set_command" invoker="set_command" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="command_id" transfer-ownership="none">
            <type name="BuildableCommand" c:type="IAnjutaBuildableCommand"/>
          </parameter>
          <parameter name="command" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="build" c:identifier="ianjuta_buildable_build" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clean" c:identifier="ianjuta_buildable_clean" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="configure"
              c:identifier="ianjuta_buildable_configure"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="execute"
              c:identifier="ianjuta_buildable_execute"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="generate"
              c:identifier="ianjuta_buildable_generate"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_command"
              c:identifier="ianjuta_buildable_get_command"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="command_id" transfer-ownership="none">
            <type name="BuildableCommand" c:type="IAnjutaBuildableCommand"/>
          </parameter>
        </parameters>
      </method>
      <method name="install"
              c:identifier="ianjuta_buildable_install"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reset_commands"
              c:identifier="ianjuta_buildable_reset_commands"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_command"
              c:identifier="ianjuta_buildable_set_command"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="command_id" transfer-ownership="none">
            <type name="BuildableCommand" c:type="IAnjutaBuildableCommand"/>
          </parameter>
          <parameter name="command" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <enumeration name="BuildableCommand"
                 glib:type-name="IAnjutaBuildableCommand"
                 glib:get-type="ianjuta_buildable_command_get_type"
                 c:type="IAnjutaBuildableCommand">
      <doc xml:whitespace="preserve">The enumeration is used to speficy the disered build operation</doc>
      <member name="command_compile"
              value="0"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_COMPILE"
              glib:nick="command-compile"/>
      <member name="command_build"
              value="1"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_BUILD"
              glib:nick="command-build"/>
      <member name="command_build_tarball"
              value="2"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_BUILD_TARBALL"
              glib:nick="command-build-tarball"/>
      <member name="command_install"
              value="3"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_INSTALL"
              glib:nick="command-install"/>
      <member name="command_configure"
              value="4"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_CONFIGURE"
              glib:nick="command-configure"/>
      <member name="command_generate"
              value="5"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_GENERATE"
              glib:nick="command-generate"/>
      <member name="command_clean"
              value="6"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_CLEAN"
              glib:nick="command-clean"/>
      <member name="command_execute"
              value="7"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_EXECUTE"
              glib:nick="command-execute"/>
      <member name="command_is_built"
              value="8"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_IS_BUILT"
              glib:nick="command-is-built"/>
      <member name="command_autoreconf"
              value="9"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_AUTORECONF"
              glib:nick="command-autoreconf"/>
      <member name="command_distclean"
              value="10"
              c:identifier="IANJUTA_BUILDABLE_COMMAND_DISTCLEAN"
              glib:nick="command-distclean"/>
      <member name="n_commands"
              value="11"
              c:identifier="IANJUTA_BUILDABLE_N_COMMANDS"
              glib:nick="n-commands"/>
    </enumeration>
    <record name="BuildableIface"
            c:type="IAnjutaBuildableIface"
            glib:is-gtype-struct-for="Buildable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="build">
        <callback name="build" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Buildable" c:type="IAnjutaBuildable*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="clean">
        <callback name="clean" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Buildable" c:type="IAnjutaBuildable*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="configure">
        <callback name="configure" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Buildable" c:type="IAnjutaBuildable*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="execute">
        <callback name="execute" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Buildable" c:type="IAnjutaBuildable*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="generate">
        <callback name="generate" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Buildable" c:type="IAnjutaBuildable*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_command">
        <callback name="get_command" throws="1">
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Buildable" c:type="IAnjutaBuildable*"/>
            </parameter>
            <parameter name="command_id" transfer-ownership="none">
              <type name="BuildableCommand" c:type="IAnjutaBuildableCommand"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="install">
        <callback name="install" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Buildable" c:type="IAnjutaBuildable*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reset_commands">
        <callback name="reset_commands" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Buildable" c:type="IAnjutaBuildable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_command">
        <callback name="set_command" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Buildable" c:type="IAnjutaBuildable*"/>
            </parameter>
            <parameter name="command_id" transfer-ownership="none">
              <type name="BuildableCommand" c:type="IAnjutaBuildableCommand"/>
            </parameter>
            <parameter name="command" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Builder"
               c:symbol-prefix="builder"
               c:type="IAnjutaBuilder"
               glib:type-name="IAnjutaBuilder"
               glib:get-type="ianjuta_builder_get_type"
               glib:type-struct="BuilderIface">
      <virtual-method name="build"
                      invoker="build"
                      introspectable="0"
                      throws="1">
        <return-value>
          <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="BuilderCallback" c:type="IAnjutaBuilderCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="cancel" invoker="cancel" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="handle" transfer-ownership="none">
            <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_uri_configuration"
                      invoker="get_uri_configuration"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_built"
                      invoker="is_built"
                      introspectable="0"
                      throws="1">
        <return-value>
          <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="BuilderCallback" c:type="IAnjutaBuilderCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="list_configuration"
                      invoker="list_configuration"
                      throws="1">
        <doc xml:whitespace="preserve">List all defined configuration. These names returned are
the internal non localized names for the following 
predefined configuration: Debug, Profiling, Optimized.
The default configuration has no name and is not returned.

by the plugin, so only the list has to be free using
g_list_free.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a list configuration name. The names are owned</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </virtual-method>
      <method name="build"
              c:identifier="ianjuta_builder_build"
              introspectable="0"
              throws="1">
        <return-value>
          <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="BuilderCallback" c:type="IAnjutaBuilderCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="cancel" c:identifier="ianjuta_builder_cancel" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="handle" transfer-ownership="none">
            <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_uri_configuration"
              c:identifier="ianjuta_builder_get_uri_configuration"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_built"
              c:identifier="ianjuta_builder_is_built"
              introspectable="0"
              throws="1">
        <return-value>
          <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="BuilderCallback" c:type="IAnjutaBuilderCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_configuration"
              c:identifier="ianjuta_builder_list_configuration"
              throws="1">
        <doc xml:whitespace="preserve">List all defined configuration. These names returned are
the internal non localized names for the following 
predefined configuration: Debug, Profiling, Optimized.
The default configuration has no name and is not returned.

by the plugin, so only the list has to be free using
g_list_free.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a list configuration name. The names are owned</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </method>
    </interface>
    <callback name="BuilderCallback" c:type="IAnjutaBuilderCallback">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="sender" transfer-ownership="none">
          <type name="GObject.Object" c:type="GObject*"/>
        </parameter>
        <parameter name="command" transfer-ownership="none">
          <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
        </parameter>
        <parameter name="err" transfer-ownership="none">
          <type name="GLib.Error" c:type="GError*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="3">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="BuilderError"
                 glib:type-name="IAnjutaBuilderError"
                 glib:get-type="ianjuta_builder_error_get_type"
                 c:type="IAnjutaBuilderError">
      <doc xml:whitespace="preserve">Possible build errors</doc>
      <member name="succeed"
              value="0"
              c:identifier="IANJUTA_BUILDER_SUCCEED"
              glib:nick="succeed"/>
      <member name="failed"
              value="1"
              c:identifier="IANJUTA_BUILDER_FAILED"
              glib:nick="failed"/>
      <member name="canceled"
              value="256"
              c:identifier="IANJUTA_BUILDER_CANCELED"
              glib:nick="canceled"/>
      <member name="aborted"
              value="257"
              c:identifier="IANJUTA_BUILDER_ABORTED"
              glib:nick="aborted"/>
      <member name="interrupted"
              value="258"
              c:identifier="IANJUTA_BUILDER_INTERRUPTED"
              glib:nick="interrupted"/>
      <member name="terminated"
              value="259"
              c:identifier="IANJUTA_BUILDER_TERMINATED"
              glib:nick="terminated"/>
      <member name="unknown_target"
              value="260"
              c:identifier="IANJUTA_BUILDER_UNKNOWN_TARGET"
              glib:nick="unknown-target"/>
      <member name="unknown_error"
              value="261"
              c:identifier="IANJUTA_BUILDER_UNKNOWN_ERROR"
              glib:nick="unknown-error"/>
      <member name="other_error"
              value="262"
              c:identifier="IANJUTA_BUILDER_OTHER_ERROR"
              glib:nick="other-error"/>
      <function name="quark" c:identifier="ianjuta_builder_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="BuilderIface"
            c:type="IAnjutaBuilderIface"
            glib:is-gtype-struct-for="Builder">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="build" introspectable="0">
        <callback name="build" introspectable="0" throws="1">
          <return-value>
            <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Builder" c:type="IAnjutaBuilder*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="BuilderCallback" c:type="IAnjutaBuilderCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cancel">
        <callback name="cancel" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Builder" c:type="IAnjutaBuilder*"/>
            </parameter>
            <parameter name="handle" transfer-ownership="none">
              <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_uri_configuration">
        <callback name="get_uri_configuration" throws="1">
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Builder" c:type="IAnjutaBuilder*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_built" introspectable="0">
        <callback name="is_built" introspectable="0" throws="1">
          <return-value>
            <type name="BuilderHandle" c:type="IAnjutaBuilderHandle"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Builder" c:type="IAnjutaBuilder*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="BuilderCallback" c:type="IAnjutaBuilderCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="list_configuration">
        <callback name="list_configuration" throws="1">
          <return-value transfer-ownership="container">
            <doc xml:whitespace="preserve">a list configuration name. The names are owned</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Builder" c:type="IAnjutaBuilder*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <constant name="DOCUMENT_MANAGER_CURRENT_DOCUMENT"
              value="document_manager_current_document"
              c:type="IANJUTA_DOCUMENT_MANAGER_CURRENT_DOCUMENT">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <interface name="DebugManager"
               c:symbol-prefix="debug_manager"
               c:type="IAnjutaDebugManager"
               glib:type-name="IAnjutaDebugManager"
               glib:get-type="ianjuta_debug_manager_get_type"
               glib:type-struct="DebugManagerIface">
      <function name="error_quark"
                c:identifier="ianjuta_debug_manager_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="breakpoint_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="breakpoint" transfer-ownership="none">
            <type name="DebuggerBreakpointItem"
                  c:type="IAnjutaDebuggerBreakpointItem*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="debugger_started">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="debugger_stopped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="err" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="frame_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="frame" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="thread" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="location_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="program_exited">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="program_loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="program_moved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="tid" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="program_running">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="program_started">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="program_stopped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="program_unloaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="quit" invoker="quit" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="sharedlib_event">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="signal_received">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="start" invoker="start" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="start_remote" invoker="start_remote" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="server" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="quit" c:identifier="ianjuta_debug_manager_quit" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="start"
              c:identifier="ianjuta_debug_manager_start"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start_remote"
              c:identifier="ianjuta_debug_manager_start_remote"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="server" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="breakpoint-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="debugger-started" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="debugger-stopped" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="frame-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="location-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gulong"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="program-exited" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="program-loaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="program-moved" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gulong"/>
          </parameter>
          <parameter name="p2" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p3" transfer-ownership="none">
            <type name="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="program-running" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="program-started" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="program-stopped" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="program-unloaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="sharedlib-event" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="signal-received" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="DebugManagerIface"
            c:type="IAnjutaDebugManagerIface"
            glib:is-gtype-struct-for="DebugManager">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="breakpoint_changed">
        <callback name="breakpoint_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
            <parameter name="breakpoint" transfer-ownership="none">
              <type name="DebuggerBreakpointItem"
                    c:type="IAnjutaDebuggerBreakpointItem*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="debugger_started">
        <callback name="debugger_started">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="debugger_stopped">
        <callback name="debugger_stopped">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
            <parameter name="err" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="frame_changed">
        <callback name="frame_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
            <parameter name="frame" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="thread" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="location_changed">
        <callback name="location_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
            <parameter name="address" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_exited">
        <callback name="program_exited">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_loaded">
        <callback name="program_loaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_moved">
        <callback name="program_moved">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
            <parameter name="pid" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="tid" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="address" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_running">
        <callback name="program_running">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_started">
        <callback name="program_started">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_stopped">
        <callback name="program_stopped">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_unloaded">
        <callback name="program_unloaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="sharedlib_event">
        <callback name="sharedlib_event">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="signal_received">
        <callback name="signal_received">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="description" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="quit">
        <callback name="quit" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="start">
        <callback name="start" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="start_remote">
        <callback name="start_remote" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebugManager" c:type="IAnjutaDebugManager*"/>
            </parameter>
            <parameter name="server" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Debugger"
               c:symbol-prefix="debugger"
               c:type="IAnjutaDebugger"
               glib:type-name="IAnjutaDebugger"
               glib:get-type="ianjuta_debugger_get_type"
               glib:type-struct="DebuggerIface">
      <virtual-method name="abort" invoker="abort" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="attach" invoker="attach" throws="1">
        <doc xml:whitespace="preserve">Attach to an already running process.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful, other FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <doc xml:whitespace="preserve">pid of the process to debug</doc>
            <type name="gint" c:type="pid_t"/>
          </parameter>
          <parameter name="source_search_directories"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">List of directories to search for source files.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="callback"
                      invoker="callback"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerCallback" c:type="IAnjutaDebuggerCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="connect" invoker="connect" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="server" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="args" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="terminal" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="stop" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="debugger_ready">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="DebuggerState" c:type="IAnjutaDebuggerState"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="debugger_started">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="debugger_stopped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="err" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="disable_log" invoker="disable_log" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="dump_stack_trace"
                      invoker="dump_stack_trace"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="enable_log" invoker="enable_log" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="log" transfer-ownership="none">
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="evaluate"
                      invoker="evaluate"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerGCharCallback"
                  c:type="IAnjutaDebuggerGCharCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="exit" invoker="exit" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="frame_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="frame" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="thread" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_state" invoker="get_state" throws="1">
        <return-value transfer-ownership="none">
          <type name="DebuggerState" c:type="IAnjutaDebuggerState"/>
        </return-value>
      </virtual-method>
      <virtual-method name="handle_signal" invoker="handle_signal" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="stop" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="print" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="ignore" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="info_args"
                      invoker="info_args"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="info_frame"
                      invoker="info_frame"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="frame" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="info_program"
                      invoker="info_program"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="info_sharedlib"
                      invoker="info_sharedlib"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="info_signal"
                      invoker="info_signal"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="info_target"
                      invoker="info_target"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="info_thread"
                      invoker="info_thread"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="thread" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="info_udot"
                      invoker="info_udot"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="info_variables"
                      invoker="info_variables"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="inspect"
                      invoker="inspect"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGCharCallback"
                  c:type="IAnjutaDebuggerGCharCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="interrupt" invoker="interrupt" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="list_argument"
                      invoker="list_argument"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="list_frame"
                      invoker="list_frame"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="list_local"
                      invoker="list_local"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="list_thread"
                      invoker="list_thread"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="load" invoker="load" throws="1">
        <doc xml:whitespace="preserve">Load a program in the debugger.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful, other FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">filename</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">mime type of the file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="source_search_directories"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">List of directories to search for source files.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="print"
                      invoker="print"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="variable" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGCharCallback"
                  c:type="IAnjutaDebuggerGCharCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="program_exited">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="program_loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="program_moved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="tid" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="program_running">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="program_stopped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="quit" invoker="quit" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="run" invoker="run" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="run_from" invoker="run_from" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="run_to" invoker="run_to" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="send_command" invoker="send_command" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="command" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_environment"
                      invoker="set_environment"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="env" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_frame" invoker="set_frame" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="frame" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_thread" invoker="set_thread" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="thread" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_working_directory"
                      invoker="set_working_directory"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="dir" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="sharedlib_event">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="signal_received">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="start" invoker="start" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="args" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="terminal" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="stop" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="step_in" invoker="step_in" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="step_out" invoker="step_out" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="step_over" invoker="step_over" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="unload" invoker="unload" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <method name="abort" c:identifier="ianjuta_debugger_abort" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="attach" c:identifier="ianjuta_debugger_attach" throws="1">
        <doc xml:whitespace="preserve">Attach to an already running process.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful, other FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <doc xml:whitespace="preserve">pid of the process to debug</doc>
            <type name="gint" c:type="pid_t"/>
          </parameter>
          <parameter name="source_search_directories"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">List of directories to search for source files.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="callback"
              c:identifier="ianjuta_debugger_callback"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerCallback" c:type="IAnjutaDebuggerCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="connect"
              c:identifier="ianjuta_debugger_connect"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="server" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="args" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="terminal" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="stop" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="disable_log"
              c:identifier="ianjuta_debugger_disable_log"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="dump_stack_trace"
              c:identifier="ianjuta_debugger_dump_stack_trace"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="enable_log"
              c:identifier="ianjuta_debugger_enable_log"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="log" transfer-ownership="none">
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="evaluate"
              c:identifier="ianjuta_debugger_evaluate"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerGCharCallback"
                  c:type="IAnjutaDebuggerGCharCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="exit" c:identifier="ianjuta_debugger_exit" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_state"
              c:identifier="ianjuta_debugger_get_state"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="DebuggerState" c:type="IAnjutaDebuggerState"/>
        </return-value>
      </method>
      <method name="handle_signal"
              c:identifier="ianjuta_debugger_handle_signal"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="stop" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="print" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="ignore" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="info_args"
              c:identifier="ianjuta_debugger_info_args"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="info_frame"
              c:identifier="ianjuta_debugger_info_frame"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="frame" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="info_program"
              c:identifier="ianjuta_debugger_info_program"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="info_sharedlib"
              c:identifier="ianjuta_debugger_info_sharedlib"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="info_signal"
              c:identifier="ianjuta_debugger_info_signal"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="info_target"
              c:identifier="ianjuta_debugger_info_target"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="info_thread"
              c:identifier="ianjuta_debugger_info_thread"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="thread" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="info_udot"
              c:identifier="ianjuta_debugger_info_udot"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="info_variables"
              c:identifier="ianjuta_debugger_info_variables"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="inspect"
              c:identifier="ianjuta_debugger_inspect"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGCharCallback"
                  c:type="IAnjutaDebuggerGCharCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="interrupt"
              c:identifier="ianjuta_debugger_interrupt"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="list_argument"
              c:identifier="ianjuta_debugger_list_argument"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_frame"
              c:identifier="ianjuta_debugger_list_frame"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_local"
              c:identifier="ianjuta_debugger_list_local"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_thread"
              c:identifier="ianjuta_debugger_list_thread"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="load" c:identifier="ianjuta_debugger_load" throws="1">
        <doc xml:whitespace="preserve">Load a program in the debugger.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful, other FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">filename</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">mime type of the file</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="source_search_directories"
                     transfer-ownership="none">
            <doc xml:whitespace="preserve">List of directories to search for source files.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="print"
              c:identifier="ianjuta_debugger_print"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="variable" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGCharCallback"
                  c:type="IAnjutaDebuggerGCharCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="quit" c:identifier="ianjuta_debugger_quit" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="run" c:identifier="ianjuta_debugger_run" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="run_from"
              c:identifier="ianjuta_debugger_run_from"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="run_to" c:identifier="ianjuta_debugger_run_to" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_command"
              c:identifier="ianjuta_debugger_send_command"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="command" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_environment"
              c:identifier="ianjuta_debugger_set_environment"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="env" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_frame"
              c:identifier="ianjuta_debugger_set_frame"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="frame" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_thread"
              c:identifier="ianjuta_debugger_set_thread"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="thread" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_working_directory"
              c:identifier="ianjuta_debugger_set_working_directory"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="dir" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start" c:identifier="ianjuta_debugger_start" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="args" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="terminal" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="stop" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="step_in"
              c:identifier="ianjuta_debugger_step_in"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="step_out"
              c:identifier="ianjuta_debugger_step_out"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="step_over"
              c:identifier="ianjuta_debugger_step_over"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="unload" c:identifier="ianjuta_debugger_unload" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <glib:signal name="debugger-ready" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="DebuggerState"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="debugger-started" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="debugger-stopped" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="frame-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="program-exited" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="program-loaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="program-moved" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gulong"/>
          </parameter>
          <parameter name="p2" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p3" transfer-ownership="none">
            <type name="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="program-running" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="program-stopped" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="sharedlib-event" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="signal-received" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <interface name="DebuggerBreakpoint"
               c:symbol-prefix="debugger_breakpoint"
               c:type="IAnjutaDebuggerBreakpoint"
               glib:type-name="IAnjutaDebuggerBreakpoint"
               glib:get-type="ianjuta_debugger_breakpoint_get_type"
               glib:type-struct="DebuggerBreakpointIface">
      <prerequisite name="Debugger"/>
      <function name="error_quark"
                c:identifier="ianjuta_debugger_breakpoint_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="clear_breakpoint"
                      invoker="clear_breakpoint"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="condition_breakpoint"
                      invoker="condition_breakpoint"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="condition" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="enable_breakpoint"
                      invoker="enable_breakpoint"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="enable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="ignore_breakpoint"
                      invoker="ignore_breakpoint"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="ignore" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="implement_breakpoint"
                      invoker="implement_breakpoint"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="list_breakpoint"
                      invoker="list_breakpoint"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_breakpoint_at_address"
                      invoker="set_breakpoint_at_address"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_breakpoint_at_function"
                      invoker="set_breakpoint_at_function"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="function" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_breakpoint_at_line"
                      invoker="set_breakpoint_at_line"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="clear_breakpoint"
              c:identifier="ianjuta_debugger_breakpoint_clear_breakpoint"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="condition_breakpoint"
              c:identifier="ianjuta_debugger_breakpoint_condition_breakpoint"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="condition" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="enable_breakpoint"
              c:identifier="ianjuta_debugger_breakpoint_enable_breakpoint"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="enable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="ignore_breakpoint"
              c:identifier="ianjuta_debugger_breakpoint_ignore_breakpoint"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="ignore" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="implement_breakpoint"
              c:identifier="ianjuta_debugger_breakpoint_implement_breakpoint"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="list_breakpoint"
              c:identifier="ianjuta_debugger_breakpoint_list_breakpoint"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_breakpoint_at_address"
              c:identifier="ianjuta_debugger_breakpoint_set_breakpoint_at_address"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_breakpoint_at_function"
              c:identifier="ianjuta_debugger_breakpoint_set_breakpoint_at_function"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="function" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_breakpoint_at_line"
              c:identifier="ianjuta_debugger_breakpoint_set_breakpoint_at_line"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerBreakpointCallback"
                  c:type="IAnjutaDebuggerBreakpointCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <callback name="DebuggerBreakpointCallback"
              c:type="IAnjutaDebuggerBreakpointCallback">
      <doc xml:whitespace="preserve">This callback function is used to return a #IAnjutaBreakpointItem.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #IAnjutaBreakpointItem object</doc>
          <type name="DebuggerBreakpointItem"
                c:type="IAnjutaDebuggerBreakpointItem*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <doc xml:whitespace="preserve">user data passed to the function</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="err" transfer-ownership="none">
          <type name="GLib.Error" c:type="GError*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="DebuggerBreakpointIface"
            c:type="IAnjutaDebuggerBreakpointIface"
            glib:is-gtype-struct-for="DebuggerBreakpoint">
      <field name="g_iface">
        <type name="DebuggerIface" c:type="IAnjutaDebuggerIface"/>
      </field>
      <field name="clear_breakpoint" introspectable="0">
        <callback name="clear_breakpoint" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerBreakpoint"
                    c:type="IAnjutaDebuggerBreakpoint*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="DebuggerBreakpointCallback"
                    c:type="IAnjutaDebuggerBreakpointCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="condition_breakpoint" introspectable="0">
        <callback name="condition_breakpoint" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerBreakpoint"
                    c:type="IAnjutaDebuggerBreakpoint*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="condition" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="4">
              <type name="DebuggerBreakpointCallback"
                    c:type="IAnjutaDebuggerBreakpointCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="enable_breakpoint" introspectable="0">
        <callback name="enable_breakpoint" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerBreakpoint"
                    c:type="IAnjutaDebuggerBreakpoint*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="enable" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="4">
              <type name="DebuggerBreakpointCallback"
                    c:type="IAnjutaDebuggerBreakpointCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="ignore_breakpoint" introspectable="0">
        <callback name="ignore_breakpoint" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerBreakpoint"
                    c:type="IAnjutaDebuggerBreakpoint*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="ignore" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="4">
              <type name="DebuggerBreakpointCallback"
                    c:type="IAnjutaDebuggerBreakpointCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="implement_breakpoint">
        <callback name="implement_breakpoint" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerBreakpoint"
                    c:type="IAnjutaDebuggerBreakpoint*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="list_breakpoint" introspectable="0">
        <callback name="list_breakpoint" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerBreakpoint"
                    c:type="IAnjutaDebuggerBreakpoint*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_breakpoint_at_address" introspectable="0">
        <callback name="set_breakpoint_at_address"
                  introspectable="0"
                  throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerBreakpoint"
                    c:type="IAnjutaDebuggerBreakpoint*"/>
            </parameter>
            <parameter name="address" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="DebuggerBreakpointCallback"
                    c:type="IAnjutaDebuggerBreakpointCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_breakpoint_at_function" introspectable="0">
        <callback name="set_breakpoint_at_function"
                  introspectable="0"
                  throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerBreakpoint"
                    c:type="IAnjutaDebuggerBreakpoint*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="function" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="4">
              <type name="DebuggerBreakpointCallback"
                    c:type="IAnjutaDebuggerBreakpointCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_breakpoint_at_line" introspectable="0">
        <callback name="set_breakpoint_at_line" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerBreakpoint"
                    c:type="IAnjutaDebuggerBreakpoint*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="4">
              <type name="DebuggerBreakpointCallback"
                    c:type="IAnjutaDebuggerBreakpointCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DebuggerBreakpointItem"
            c:type="IAnjutaDebuggerBreakpointItem">
      <doc xml:whitespace="preserve">This structure keeps all information about a breakpoint.</doc>
      <field name="type" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="id" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="file" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="line" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="function" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="address" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="enable" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="ignore" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="times" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="condition" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="temporary" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="pending" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </record>
    <enumeration name="DebuggerBreakpointMethod"
                 glib:type-name="IAnjutaDebuggerBreakpointMethod"
                 glib:get-type="ianjuta_debugger_breakpoint_method_get_type"
                 c:type="IAnjutaDebuggerBreakpointMethod">
      <doc xml:whitespace="preserve">Defines which breakpoint characteristics are supported by the debugger
backend.</doc>
      <member name="set_at_address"
              value="1"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_SET_AT_ADDRESS"
              glib:nick="set-at-address"/>
      <member name="set_at_function"
              value="2"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_SET_AT_FUNCTION"
              glib:nick="set-at-function"/>
      <member name="enable"
              value="4"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_ENABLE"
              glib:nick="enable"/>
      <member name="ignore"
              value="8"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_IGNORE"
              glib:nick="ignore"/>
      <member name="condition"
              value="16"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_CONDITION"
              glib:nick="condition"/>
    </enumeration>
    <enumeration name="DebuggerBreakpointType"
                 glib:type-name="IAnjutaDebuggerBreakpointType"
                 glib:get-type="ianjuta_debugger_breakpoint_type_get_type"
                 c:type="IAnjutaDebuggerBreakpointType">
      <doc xml:whitespace="preserve">This enumeration defined various characteristics of the breakpoint.</doc>
      <member name="removed"
              value="1"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_REMOVED"
              glib:nick="removed"/>
      <member name="updated"
              value="131072"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_UPDATED"
              glib:nick="updated"/>
      <member name="on_line"
              value="2"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_ON_LINE"
              glib:nick="on-line"/>
      <member name="on_address"
              value="4"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_ON_ADDRESS"
              glib:nick="on-address"/>
      <member name="on_function"
              value="8"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_ON_FUNCTION"
              glib:nick="on-function"/>
      <member name="on_read"
              value="16"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_ON_READ"
              glib:nick="on-read"/>
      <member name="on_write"
              value="32"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_ON_WRITE"
              glib:nick="on-write"/>
      <member name="with_enable"
              value="65536"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_WITH_ENABLE"
              glib:nick="with-enable"/>
      <member name="with_ignore"
              value="32768"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_WITH_IGNORE"
              glib:nick="with-ignore"/>
      <member name="with_time"
              value="2048"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_WITH_TIME"
              glib:nick="with-time"/>
      <member name="with_condition"
              value="4096"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_WITH_CONDITION"
              glib:nick="with-condition"/>
      <member name="with_temporary"
              value="8192"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_WITH_TEMPORARY"
              glib:nick="with-temporary"/>
      <member name="with_pending"
              value="16384"
              c:identifier="IANJUTA_DEBUGGER_BREAKPOINT_WITH_PENDING"
              glib:nick="with-pending"/>
    </enumeration>
    <callback name="DebuggerCallback" c:type="IAnjutaDebuggerCallback">
      <doc xml:whitespace="preserve">This callback function is used only by #ianjuta_debugger_callback with a
NULL data.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <doc xml:whitespace="preserve">user data passed to the function</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="err" transfer-ownership="none">
          <type name="GLib.Error" c:type="GError*"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="DebuggerError"
                 glib:type-name="IAnjutaDebuggerError"
                 glib:get-type="ianjuta_debugger_error_get_type"
                 c:type="IAnjutaDebuggerError">
      <doc xml:whitespace="preserve">This enumeration is used to defined the error returned by the debugger
backend.</doc>
      <member name="ok"
              value="0"
              c:identifier="IANJUTA_DEBUGGER_OK"
              glib:nick="ok"/>
      <member name="not_ready"
              value="1"
              c:identifier="IANJUTA_DEBUGGER_NOT_READY"
              glib:nick="not-ready"/>
      <member name="not_running"
              value="2"
              c:identifier="IANJUTA_DEBUGGER_NOT_RUNNING"
              glib:nick="not-running"/>
      <member name="not_stopped"
              value="3"
              c:identifier="IANJUTA_DEBUGGER_NOT_STOPPED"
              glib:nick="not-stopped"/>
      <member name="not_loaded"
              value="4"
              c:identifier="IANJUTA_DEBUGGER_NOT_LOADED"
              glib:nick="not-loaded"/>
      <member name="not_started"
              value="5"
              c:identifier="IANJUTA_DEBUGGER_NOT_STARTED"
              glib:nick="not-started"/>
      <member name="not_connected"
              value="6"
              c:identifier="IANJUTA_DEBUGGER_NOT_CONNECTED"
              glib:nick="not-connected"/>
      <member name="not_implemented"
              value="7"
              c:identifier="IANJUTA_DEBUGGER_NOT_IMPLEMENTED"
              glib:nick="not-implemented"/>
      <member name="cancel"
              value="8"
              c:identifier="IANJUTA_DEBUGGER_CANCEL"
              glib:nick="cancel"/>
      <member name="unable_to_create_variable"
              value="9"
              c:identifier="IANJUTA_DEBUGGER_UNABLE_TO_CREATE_VARIABLE"
              glib:nick="unable-to-create-variable"/>
      <member name="unable_to_access_memory"
              value="10"
              c:identifier="IANJUTA_DEBUGGER_UNABLE_TO_ACCESS_MEMORY"
              glib:nick="unable-to-access-memory"/>
      <member name="unable_to_open_file"
              value="11"
              c:identifier="IANJUTA_DEBUGGER_UNABLE_TO_OPEN_FILE"
              glib:nick="unable-to-open-file"/>
      <member name="unsupported_file_type"
              value="12"
              c:identifier="IANJUTA_DEBUGGER_UNSUPPORTED_FILE_TYPE"
              glib:nick="unsupported-file-type"/>
      <member name="unsupported_version"
              value="13"
              c:identifier="IANJUTA_DEBUGGER_UNSUPPORTED_VERSION"
              glib:nick="unsupported-version"/>
      <member name="unable_to_find_debugger"
              value="14"
              c:identifier="IANJUTA_DEBUGGER_UNABLE_TO_FIND_DEBUGGER"
              glib:nick="unable-to-find-debugger"/>
      <member name="already_done"
              value="15"
              c:identifier="IANJUTA_DEBUGGER_ALREADY_DONE"
              glib:nick="already-done"/>
      <member name="program_not_found"
              value="16"
              c:identifier="IANJUTA_DEBUGGER_PROGRAM_NOT_FOUND"
              glib:nick="program-not-found"/>
      <member name="unable_to_connect"
              value="17"
              c:identifier="IANJUTA_DEBUGGER_UNABLE_TO_CONNECT"
              glib:nick="unable-to-connect"/>
      <member name="unknown_error"
              value="18"
              c:identifier="IANJUTA_DEBUGGER_UNKNOWN_ERROR"
              glib:nick="unknown-error"/>
      <member name="other_error"
              value="19"
              c:identifier="IANJUTA_DEBUGGER_OTHER_ERROR"
              glib:nick="other-error"/>
      <function name="quark" c:identifier="ianjuta_debugger_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="DebuggerFrame" c:type="IAnjutaDebuggerFrame">
      <doc xml:whitespace="preserve">This structure keeps all information about a stack frame.</doc>
      <field name="thread" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="level" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="args" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="file" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="line" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="function" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="library" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="address" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
    </record>
    <callback name="DebuggerGCharCallback"
              c:type="IAnjutaDebuggerGCharCallback">
      <doc xml:whitespace="preserve">This callback function is used by several debugger functions. The data is
a string</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <doc xml:whitespace="preserve">user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="err" transfer-ownership="none">
          <type name="GLib.Error" c:type="GError*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="DebuggerGListCallback"
              c:type="IAnjutaDebuggerGListCallback"
              introspectable="0">
      <doc xml:whitespace="preserve">This callback function is used by several debugger functions. Depending on
the function, the kind of elements in the list is different. It is a string
for #ianjuta_debugger_list_local or a #IAnjutaDebuggerFrame for
#ianjuta_debugger_list_frame.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <doc xml:whitespace="preserve">list of data</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer"/>
          </type>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <doc xml:whitespace="preserve">user data passed to the function</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="err" transfer-ownership="none">
          <type name="GLib.Error" c:type="GError*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="DebuggerIface"
            c:type="IAnjutaDebuggerIface"
            glib:is-gtype-struct-for="Debugger">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="debugger_ready">
        <callback name="debugger_ready">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="state" transfer-ownership="none">
              <type name="DebuggerState" c:type="IAnjutaDebuggerState"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="debugger_started">
        <callback name="debugger_started">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="debugger_stopped">
        <callback name="debugger_stopped">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="err" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="frame_changed">
        <callback name="frame_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="frame" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="thread" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_exited">
        <callback name="program_exited">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_loaded">
        <callback name="program_loaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_moved">
        <callback name="program_moved">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="pid" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="tid" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="address" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_running">
        <callback name="program_running">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="program_stopped">
        <callback name="program_stopped">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="sharedlib_event">
        <callback name="sharedlib_event">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="signal_received">
        <callback name="signal_received">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="description" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="abort">
        <callback name="abort" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="attach">
        <callback name="attach" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if sucessful, other FALSE.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="pid" transfer-ownership="none">
              <doc xml:whitespace="preserve">pid of the process to debug</doc>
              <type name="gint" c:type="pid_t"/>
            </parameter>
            <parameter name="source_search_directories"
                       transfer-ownership="none">
              <doc xml:whitespace="preserve">List of directories to search for source files.</doc>
              <type name="GLib.List" c:type="GList*">
                <type name="utf8"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="callback" introspectable="0">
        <callback name="callback" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerCallback" c:type="IAnjutaDebuggerCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="connect">
        <callback name="connect" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="server" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="args" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="terminal" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="stop" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="disable_log">
        <callback name="disable_log" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="dump_stack_trace" introspectable="0">
        <callback name="dump_stack_trace" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="enable_log">
        <callback name="enable_log" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="log" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="evaluate" introspectable="0">
        <callback name="evaluate" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="4">
              <type name="DebuggerGCharCallback"
                    c:type="IAnjutaDebuggerGCharCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="exit">
        <callback name="exit" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_state">
        <callback name="get_state" throws="1">
          <return-value transfer-ownership="none">
            <type name="DebuggerState" c:type="IAnjutaDebuggerState"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="handle_signal">
        <callback name="handle_signal" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="stop" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="print" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="ignore" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="info_args" introspectable="0">
        <callback name="info_args" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="info_frame" introspectable="0">
        <callback name="info_frame" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="frame" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="info_program" introspectable="0">
        <callback name="info_program" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="info_sharedlib" introspectable="0">
        <callback name="info_sharedlib" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="info_signal" introspectable="0">
        <callback name="info_signal" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="info_target" introspectable="0">
        <callback name="info_target" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="info_thread" introspectable="0">
        <callback name="info_thread" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="thread" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="info_udot" introspectable="0">
        <callback name="info_udot" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="info_variables" introspectable="0">
        <callback name="info_variables" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="inspect" introspectable="0">
        <callback name="inspect" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="DebuggerGCharCallback"
                    c:type="IAnjutaDebuggerGCharCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="interrupt">
        <callback name="interrupt" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="list_argument" introspectable="0">
        <callback name="list_argument" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="list_frame" introspectable="0">
        <callback name="list_frame" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="list_local" introspectable="0">
        <callback name="list_local" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="list_thread" introspectable="0">
        <callback name="list_thread" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="load">
        <callback name="load" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if sucessful, other FALSE.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">filename</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="mime_type" transfer-ownership="none">
              <doc xml:whitespace="preserve">mime type of the file</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="source_search_directories"
                       transfer-ownership="none">
              <doc xml:whitespace="preserve">List of directories to search for source files.</doc>
              <type name="GLib.List" c:type="GList*">
                <type name="utf8"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="print" introspectable="0">
        <callback name="print" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="variable" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="DebuggerGCharCallback"
                    c:type="IAnjutaDebuggerGCharCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="quit">
        <callback name="quit" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="run">
        <callback name="run" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="run_from">
        <callback name="run_from" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="run_to">
        <callback name="run_to" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="send_command">
        <callback name="send_command" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="command" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_environment">
        <callback name="set_environment" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="env" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_frame">
        <callback name="set_frame" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="frame" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_thread">
        <callback name="set_thread" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="thread" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_working_directory">
        <callback name="set_working_directory" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="dir" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="start">
        <callback name="start" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
            <parameter name="args" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="terminal" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="stop" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="step_in">
        <callback name="step_in" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="step_out">
        <callback name="step_out" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="step_over">
        <callback name="step_over" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unload">
        <callback name="unload" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Debugger" c:type="IAnjutaDebugger*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="DebuggerInstruction"
               c:symbol-prefix="debugger_instruction"
               c:type="IAnjutaDebuggerInstruction"
               glib:type-name="IAnjutaDebuggerInstruction"
               glib:get-type="ianjuta_debugger_instruction_get_type"
               glib:type-struct="DebuggerInstructionIface">
      <prerequisite name="Debugger"/>
      <function name="error_quark"
                c:identifier="ianjuta_debugger_instruction_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="disassemble"
                      invoker="disassemble"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerInstructionCallback"
                  c:type="IAnjutaDebuggerInstructionCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="run_from_address"
                      invoker="run_from_address"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="run_to_address"
                      invoker="run_to_address"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="step_in_instruction"
                      invoker="step_in_instruction"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="step_over_instruction"
                      invoker="step_over_instruction"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <method name="disassemble"
              c:identifier="ianjuta_debugger_instruction_disassemble"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerInstructionCallback"
                  c:type="IAnjutaDebuggerInstructionCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="run_from_address"
              c:identifier="ianjuta_debugger_instruction_run_from_address"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </method>
      <method name="run_to_address"
              c:identifier="ianjuta_debugger_instruction_run_to_address"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </method>
      <method name="step_in_instruction"
              c:identifier="ianjuta_debugger_instruction_step_in_instruction"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="step_over_instruction"
              c:identifier="ianjuta_debugger_instruction_step_over_instruction"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </interface>
    <record name="DebuggerInstructionALine"
            c:type="IAnjutaDebuggerInstructionALine">
      <doc xml:whitespace="preserve">Defines a disassembled line</doc>
      <field name="address" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="label" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="text" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
    </record>
    <callback name="DebuggerInstructionCallback"
              c:type="IAnjutaDebuggerInstructionCallback">
      <doc xml:whitespace="preserve">This callback function is used to return a #IAnjutaDebuggerInstructionDisassembly.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #IAnjutaDebuggerInstructionDisassembly object</doc>
          <type name="DebuggerInstructionDisassembly"
                c:type="IAnjutaDebuggerInstructionDisassembly*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <doc xml:whitespace="preserve">user data passed to the function</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="err" transfer-ownership="none">
          <type name="GLib.Error" c:type="GError*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="DebuggerInstructionDisassembly"
            c:type="IAnjutaDebuggerInstructionDisassembly">
      <doc xml:whitespace="preserve">Represents a block of diassembled instructions</doc>
      <field name="size" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="data" writable="1">
        <array zero-terminated="0" c:type="IAnjutaDebuggerInstructionALine">
          <type name="DebuggerInstructionALine"
                c:type="IAnjutaDebuggerInstructionALine"/>
        </array>
      </field>
    </record>
    <record name="DebuggerInstructionIface"
            c:type="IAnjutaDebuggerInstructionIface"
            glib:is-gtype-struct-for="DebuggerInstruction">
      <field name="g_iface">
        <type name="DebuggerIface" c:type="IAnjutaDebuggerIface"/>
      </field>
      <field name="disassemble" introspectable="0">
        <callback name="disassemble" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerInstruction"
                    c:type="IAnjutaDebuggerInstruction*"/>
            </parameter>
            <parameter name="address" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="length" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="4">
              <type name="DebuggerInstructionCallback"
                    c:type="IAnjutaDebuggerInstructionCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="run_from_address">
        <callback name="run_from_address" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerInstruction"
                    c:type="IAnjutaDebuggerInstruction*"/>
            </parameter>
            <parameter name="address" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="run_to_address">
        <callback name="run_to_address" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerInstruction"
                    c:type="IAnjutaDebuggerInstruction*"/>
            </parameter>
            <parameter name="address" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="step_in_instruction">
        <callback name="step_in_instruction" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerInstruction"
                    c:type="IAnjutaDebuggerInstruction*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="step_over_instruction">
        <callback name="step_over_instruction" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerInstruction"
                    c:type="IAnjutaDebuggerInstruction*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="DebuggerMemory"
               c:symbol-prefix="debugger_memory"
               c:type="IAnjutaDebuggerMemory"
               glib:type-name="IAnjutaDebuggerMemory"
               glib:get-type="ianjuta_debugger_memory_get_type"
               glib:type-struct="DebuggerMemoryIface">
      <prerequisite name="Debugger"/>
      <function name="error_quark"
                c:identifier="ianjuta_debugger_memory_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="inspect"
                      invoker="inspect"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerMemoryCallback"
                  c:type="IAnjutaDebuggerMemoryCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="inspect"
              c:identifier="ianjuta_debugger_memory_inspect"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerMemoryCallback"
                  c:type="IAnjutaDebuggerMemoryCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="DebuggerMemoryBlock" c:type="IAnjutaDebuggerMemoryBlock">
      <field name="address" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="length" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="data" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
    </record>
    <callback name="DebuggerMemoryCallback"
              c:type="IAnjutaDebuggerMemoryCallback">
      <doc xml:whitespace="preserve">This callback function is used to return a #IAnjutaDebuggerMemoryBlock.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #IAnjutaDebuggerMemoryBlock object</doc>
          <type name="DebuggerMemoryBlock"
                c:type="IAnjutaDebuggerMemoryBlock*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <doc xml:whitespace="preserve">user data passed to the function</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="err" transfer-ownership="none">
          <type name="GLib.Error" c:type="GError*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="DebuggerMemoryIface"
            c:type="IAnjutaDebuggerMemoryIface"
            glib:is-gtype-struct-for="DebuggerMemory">
      <field name="g_iface">
        <type name="DebuggerIface" c:type="IAnjutaDebuggerIface"/>
      </field>
      <field name="inspect" introspectable="0">
        <callback name="inspect" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerMemory" c:type="IAnjutaDebuggerMemory*"/>
            </parameter>
            <parameter name="address" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="length" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="4">
              <type name="DebuggerMemoryCallback"
                    c:type="IAnjutaDebuggerMemoryCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="DebuggerOutputCallback"
              c:type="IAnjutaDebuggerOutputCallback">
      <doc xml:whitespace="preserve">This callback function is used only by #ianjuta_debugger_callback with a
NULL data.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="DebuggerOutputType" c:type="IAnjutaDebuggerOutputType"/>
        </parameter>
        <parameter name="output" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <doc xml:whitespace="preserve">user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="DebuggerOutputType"
                 glib:type-name="IAnjutaDebuggerOutputType"
                 glib:get-type="ianjuta_debugger_output_type_get_type"
                 c:type="IAnjutaDebuggerOutputType">
      <doc xml:whitespace="preserve">This enumeration is used to defined the kind of output in
#IAnjutaDebuggerOutputCallback</doc>
      <member name="output"
              value="0"
              c:identifier="IANJUTA_DEBUGGER_OUTPUT"
              glib:nick="output"/>
      <member name="warning_output"
              value="1"
              c:identifier="IANJUTA_DEBUGGER_WARNING_OUTPUT"
              glib:nick="warning-output"/>
      <member name="error_output"
              value="2"
              c:identifier="IANJUTA_DEBUGGER_ERROR_OUTPUT"
              glib:nick="error-output"/>
      <member name="info_output"
              value="3"
              c:identifier="IANJUTA_DEBUGGER_INFO_OUTPUT"
              glib:nick="info-output"/>
    </enumeration>
    <interface name="DebuggerRegister"
               c:symbol-prefix="debugger_register"
               c:type="IAnjutaDebuggerRegister"
               glib:type-name="IAnjutaDebuggerRegister"
               glib:get-type="ianjuta_debugger_register_get_type"
               glib:type-struct="DebuggerRegisterIface">
      <prerequisite name="Debugger"/>
      <function name="error_quark"
                c:identifier="ianjuta_debugger_register_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="list_register"
                      invoker="list_register"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_register"
                      invoker="update_register"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="write_register"
                      invoker="write_register"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="DebuggerRegisterData"
                  c:type="IAnjutaDebuggerRegisterData*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="list_register"
              c:identifier="ianjuta_debugger_register_list_register"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_register"
              c:identifier="ianjuta_debugger_register_update_register"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_register"
              c:identifier="ianjuta_debugger_register_write_register"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="DebuggerRegisterData"
                  c:type="IAnjutaDebuggerRegisterData*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="DebuggerRegisterData" c:type="IAnjutaDebuggerRegisterData">
      <doc xml:whitespace="preserve">Defines a register data.</doc>
      <field name="num" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="value" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
    </record>
    <record name="DebuggerRegisterIface"
            c:type="IAnjutaDebuggerRegisterIface"
            glib:is-gtype-struct-for="DebuggerRegister">
      <field name="g_iface">
        <type name="DebuggerIface" c:type="IAnjutaDebuggerIface"/>
      </field>
      <field name="list_register" introspectable="0">
        <callback name="list_register" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerRegister" c:type="IAnjutaDebuggerRegister*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_register" introspectable="0">
        <callback name="update_register" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerRegister" c:type="IAnjutaDebuggerRegister*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="write_register">
        <callback name="write_register" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerRegister" c:type="IAnjutaDebuggerRegister*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="DebuggerRegisterData"
                    c:type="IAnjutaDebuggerRegisterData*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="DebuggerState"
                 glib:type-name="IAnjutaDebuggerState"
                 glib:get-type="ianjuta_debugger_state_get_type"
                 c:type="IAnjutaDebuggerState">
      <doc xml:whitespace="preserve">This enumeration is used to defined the different state of the debugger.</doc>
      <member name="busy"
              value="0"
              c:identifier="IANJUTA_DEBUGGER_BUSY"
              glib:nick="busy"/>
      <member name="stopped"
              value="1"
              c:identifier="IANJUTA_DEBUGGER_STOPPED"
              glib:nick="stopped"/>
      <member name="started"
              value="2"
              c:identifier="IANJUTA_DEBUGGER_STARTED"
              glib:nick="started"/>
      <member name="program_loaded"
              value="3"
              c:identifier="IANJUTA_DEBUGGER_PROGRAM_LOADED"
              glib:nick="program-loaded"/>
      <member name="program_stopped"
              value="4"
              c:identifier="IANJUTA_DEBUGGER_PROGRAM_STOPPED"
              glib:nick="program-stopped"/>
      <member name="program_running"
              value="5"
              c:identifier="IANJUTA_DEBUGGER_PROGRAM_RUNNING"
              glib:nick="program-running"/>
    </enumeration>
    <interface name="DebuggerVariable"
               c:symbol-prefix="debugger_variable"
               c:type="IAnjutaDebuggerVariable"
               glib:type-name="IAnjutaDebuggerVariable"
               glib:get-type="ianjuta_debugger_variable_get_type"
               glib:type-struct="DebuggerVariableIface">
      <prerequisite name="Debugger"/>
      <function name="error_quark"
                c:identifier="ianjuta_debugger_variable_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="assign" invoker="assign" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="create"
                      invoker="create"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="expression" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerVariableCallback"
                  c:type="IAnjutaDebuggerVariableCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="destroy" invoker="destroy" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="evaluate"
                      invoker="evaluate"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGCharCallback"
                  c:type="IAnjutaDebuggerGCharCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="list_children"
                      invoker="list_children"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="from" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update"
                      invoker="update"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="assign"
              c:identifier="ianjuta_debugger_variable_assign"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create"
              c:identifier="ianjuta_debugger_variable_create"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="expression" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerVariableCallback"
                  c:type="IAnjutaDebuggerVariableCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="destroy"
              c:identifier="ianjuta_debugger_variable_destroy"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="evaluate"
              c:identifier="ianjuta_debugger_variable_evaluate"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <type name="DebuggerGCharCallback"
                  c:type="IAnjutaDebuggerGCharCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_children"
              c:identifier="ianjuta_debugger_variable_list_children"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="from" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="3">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="update"
              c:identifier="ianjuta_debugger_variable_update"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="DebuggerGListCallback"
                  c:type="IAnjutaDebuggerGListCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <callback name="DebuggerVariableCallback"
              c:type="IAnjutaDebuggerVariableCallback">
      <doc xml:whitespace="preserve">This callback function is used to return a #IAnjutaDebuggerVariableObject.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #IAnjutaDebuggerVariableObject object</doc>
          <type name="DebuggerVariableObject"
                c:type="IAnjutaDebuggerVariableObject*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <doc xml:whitespace="preserve">user data passed to the function</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="err" transfer-ownership="none">
          <type name="GLib.Error" c:type="GError*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="DebuggerVariableIface"
            c:type="IAnjutaDebuggerVariableIface"
            glib:is-gtype-struct-for="DebuggerVariable">
      <field name="g_iface">
        <type name="DebuggerIface" c:type="IAnjutaDebuggerIface"/>
      </field>
      <field name="assign">
        <callback name="assign" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerVariable" c:type="IAnjutaDebuggerVariable*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create" introspectable="0">
        <callback name="create" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerVariable" c:type="IAnjutaDebuggerVariable*"/>
            </parameter>
            <parameter name="expression" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="DebuggerVariableCallback"
                    c:type="IAnjutaDebuggerVariableCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="destroy">
        <callback name="destroy" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerVariable" c:type="IAnjutaDebuggerVariable*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="evaluate" introspectable="0">
        <callback name="evaluate" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerVariable" c:type="IAnjutaDebuggerVariable*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <type name="DebuggerGCharCallback"
                    c:type="IAnjutaDebuggerGCharCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="list_children" introspectable="0">
        <callback name="list_children" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerVariable" c:type="IAnjutaDebuggerVariable*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="from" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="4">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update" introspectable="0">
        <callback name="update" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DebuggerVariable" c:type="IAnjutaDebuggerVariable*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="DebuggerGListCallback"
                    c:type="IAnjutaDebuggerGListCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DebuggerVariableObject"
            c:type="IAnjutaDebuggerVariableObject">
      <doc xml:whitespace="preserve">Defines a variable object.</doc>
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="expression" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="type" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="value" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="changed" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="exited" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="deleted" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="children" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="has_more" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </record>
    <interface name="Document"
               c:symbol-prefix="document"
               c:type="IAnjutaDocument"
               glib:type-name="IAnjutaDocument"
               glib:get-type="ianjuta_document_get_type"
               glib:type-struct="DocumentIface">
      <function name="error_quark" c:identifier="ianjuta_document_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="begin_undo_action"
                      invoker="begin_undo_action"
                      throws="1">
        <doc xml:whitespace="preserve">Begins the mark of undoable action. Calls to this are stacked and
each must be ended with ianjuta_document_end_action().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="can_redo" invoker="can_redo" throws="1">
        <doc xml:whitespace="preserve">Can the editor redo the last operation?</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if editor can redo, else FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="can_undo" invoker="can_undo" throws="1">
        <doc xml:whitespace="preserve">Can the editor undo the last operation?</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if editor can undo, else FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="clear" invoker="clear" throws="1">
        <doc xml:whitespace="preserve">Clear selection</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="copy" invoker="copy" throws="1">
        <doc xml:whitespace="preserve">Copy selection to clipboard.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="cut" invoker="cut" throws="1">
        <doc xml:whitespace="preserve">Cut selection to clipboard.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="end_undo_action"
                      invoker="end_undo_action"
                      throws="1">
        <doc xml:whitespace="preserve">Ends the mark of undoable action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_filename" invoker="get_filename" throws="1">
        <doc xml:whitespace="preserve">Allows obtaining of the filename the editor was loaded from.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The name of the file. Not to be freed by caller.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="grab_focus" invoker="grab_focus" throws="1">
        <doc xml:whitespace="preserve">Grabs the focus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="paste" invoker="paste" throws="1">
        <doc xml:whitespace="preserve">Paste clipboard at current position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="redo" invoker="redo" throws="1">
        <doc xml:whitespace="preserve">Redo last undo operation</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="undo" invoker="undo" throws="1">
        <doc xml:whitespace="preserve">Undo last operation</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="update_ui">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="begin_undo_action"
              c:identifier="ianjuta_document_begin_undo_action"
              throws="1">
        <doc xml:whitespace="preserve">Begins the mark of undoable action. Calls to this are stacked and
each must be ended with ianjuta_document_end_action().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="can_redo"
              c:identifier="ianjuta_document_can_redo"
              throws="1">
        <doc xml:whitespace="preserve">Can the editor redo the last operation?</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if editor can redo, else FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="can_undo"
              c:identifier="ianjuta_document_can_undo"
              throws="1">
        <doc xml:whitespace="preserve">Can the editor undo the last operation?</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if editor can undo, else FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="clear" c:identifier="ianjuta_document_clear" throws="1">
        <doc xml:whitespace="preserve">Clear selection</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="copy" c:identifier="ianjuta_document_copy" throws="1">
        <doc xml:whitespace="preserve">Copy selection to clipboard.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="cut" c:identifier="ianjuta_document_cut" throws="1">
        <doc xml:whitespace="preserve">Cut selection to clipboard.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="end_undo_action"
              c:identifier="ianjuta_document_end_undo_action"
              throws="1">
        <doc xml:whitespace="preserve">Ends the mark of undoable action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_filename"
              c:identifier="ianjuta_document_get_filename"
              throws="1">
        <doc xml:whitespace="preserve">Allows obtaining of the filename the editor was loaded from.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The name of the file. Not to be freed by caller.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="grab_focus"
              c:identifier="ianjuta_document_grab_focus"
              throws="1">
        <doc xml:whitespace="preserve">Grabs the focus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="paste" c:identifier="ianjuta_document_paste" throws="1">
        <doc xml:whitespace="preserve">Paste clipboard at current position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="redo" c:identifier="ianjuta_document_redo" throws="1">
        <doc xml:whitespace="preserve">Redo last undo operation</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="undo" c:identifier="ianjuta_document_undo" throws="1">
        <doc xml:whitespace="preserve">Undo last operation</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <glib:signal name="update-ui" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when the document assumes the UI must be updated
because some internal state of the document has changed. For example, if
current line position is changed, it needs to be reflected to the UI.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </interface>
    <record name="DocumentIface"
            c:type="IAnjutaDocumentIface"
            glib:is-gtype-struct-for="Document">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="update_ui">
        <callback name="update_ui">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="begin_undo_action">
        <callback name="begin_undo_action" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="can_redo">
        <callback name="can_redo" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if editor can redo, else FALSE</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="can_undo">
        <callback name="can_undo" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if editor can undo, else FALSE</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="clear">
        <callback name="clear" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="copy">
        <callback name="copy" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cut">
        <callback name="cut" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="end_undo_action">
        <callback name="end_undo_action" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_filename">
        <callback name="get_filename" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of the file. Not to be freed by caller.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="grab_focus">
        <callback name="grab_focus" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="paste">
        <callback name="paste" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="redo">
        <callback name="redo" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="undo">
        <callback name="undo" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="DocumentManager"
               c:symbol-prefix="document_manager"
               c:type="IAnjutaDocumentManager"
               glib:type-name="IAnjutaDocumentManager"
               glib:get-type="ianjuta_document_manager_get_type"
               glib:type-struct="DocumentManagerIface">
      <virtual-method name="add_bookmark" invoker="add_bookmark" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_buffer" invoker="add_buffer" throws="1">
        <doc xml:whitespace="preserve">Creates a new editor buffer of the given name and sets the given
content as its initial content.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the IAnjutaEditor instance that has been added.</doc>
          <type name="Editor" c:type="IAnjutaEditor*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the editor buffer.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="content" transfer-ownership="none">
            <doc xml:whitespace="preserve">Initial content of the buffer.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_document" invoker="add_document" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="IAnjutaDocument*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="find_document_with_file"
                      invoker="find_document_with_file"
                      throws="1">
        <doc xml:whitespace="preserve">Finds the document that has the file  loaded. Only
the editor that matches the file will be searched.

there is no editor loaded with this file.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the document that corresponds to given file. NULL if</doc>
          <type name="Document" c:type="IAnjutaDocument*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">The file to find.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_current_document"
                      invoker="get_current_document"
                      throws="1">
        <doc xml:whitespace="preserve">Gets the current document.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the currently active document. NULL if none is there.</doc>
          <type name="Document" c:type="IAnjutaDocument*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_doc_widgets"
                      invoker="get_doc_widgets"
                      throws="1">
        <doc xml:whitespace="preserve">Gets a list of widgets for open documents. Each widget is
a GTK_WIDGET(IAnjutaDocument*)

all open documents. The returned list (but not the data in the list) must be
freed after use.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a list of widgets for</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gtk.Widget"/>
          </type>
        </return-value>
      </virtual-method>
      <virtual-method name="get_file" invoker="get_file" throws="1">
        <doc xml:whitespace="preserve">Given the short filename, finds the file of the filename, if the
editor that has it loaded is found. If there is no editor that has
this file opened, returns NULL.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the GFile for the given short filename</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">short filename</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="goto_file_line"
                      invoker="goto_file_line"
                      throws="1">
        <doc xml:whitespace="preserve">Loads the given file if not loaded yet, set its editor as current editor
and moves cursor to the given line in the editor.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the editor where the mark has been put. NULL if none.</doc>
          <type name="Editor" c:type="IAnjutaEditor*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file to go to.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="lineno" transfer-ownership="none">
            <doc xml:whitespace="preserve">the line number in the file to go to.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="goto_file_line_mark"
                      invoker="goto_file_line_mark"
                      throws="1">
        <doc xml:whitespace="preserve">Loads the given file if not loaded yet, set its editor as current editor
and moves cursor to the given line in the editor. Optionally also marks
the line with line marker if @mark is given TRUE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the editor where the mark has been put. NULL if none.</doc>
          <type name="Editor" c:type="IAnjutaEditor*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file to go to.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="lineno" transfer-ownership="none">
            <doc xml:whitespace="preserve">the line number in the file to go to.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="mark" transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the line should be marked with a marker.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_document"
                      invoker="remove_document"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="IAnjutaDocument*"/>
          </parameter>
          <parameter name="save_before" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_current_document"
                      invoker="set_current_document"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="IAnjutaDocument*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_bookmark"
              c:identifier="ianjuta_document_manager_add_bookmark"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_buffer"
              c:identifier="ianjuta_document_manager_add_buffer"
              throws="1">
        <doc xml:whitespace="preserve">Creates a new editor buffer of the given name and sets the given
content as its initial content.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the IAnjutaEditor instance that has been added.</doc>
          <type name="Editor" c:type="IAnjutaEditor*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the editor buffer.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="content" transfer-ownership="none">
            <doc xml:whitespace="preserve">Initial content of the buffer.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_document"
              c:identifier="ianjuta_document_manager_add_document"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="IAnjutaDocument*"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_document_with_file"
              c:identifier="ianjuta_document_manager_find_document_with_file"
              throws="1">
        <doc xml:whitespace="preserve">Finds the document that has the file  loaded. Only
the editor that matches the file will be searched.

there is no editor loaded with this file.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the document that corresponds to given file. NULL if</doc>
          <type name="Document" c:type="IAnjutaDocument*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">The file to find.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_current_document"
              c:identifier="ianjuta_document_manager_get_current_document"
              throws="1">
        <doc xml:whitespace="preserve">Gets the current document.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the currently active document. NULL if none is there.</doc>
          <type name="Document" c:type="IAnjutaDocument*"/>
        </return-value>
      </method>
      <method name="get_doc_widgets"
              c:identifier="ianjuta_document_manager_get_doc_widgets"
              throws="1">
        <doc xml:whitespace="preserve">Gets a list of widgets for open documents. Each widget is
a GTK_WIDGET(IAnjutaDocument*)

all open documents. The returned list (but not the data in the list) must be
freed after use.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a list of widgets for</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gtk.Widget"/>
          </type>
        </return-value>
      </method>
      <method name="get_file"
              c:identifier="ianjuta_document_manager_get_file"
              throws="1">
        <doc xml:whitespace="preserve">Given the short filename, finds the file of the filename, if the
editor that has it loaded is found. If there is no editor that has
this file opened, returns NULL.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the GFile for the given short filename</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">short filename</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="goto_file_line"
              c:identifier="ianjuta_document_manager_goto_file_line"
              throws="1">
        <doc xml:whitespace="preserve">Loads the given file if not loaded yet, set its editor as current editor
and moves cursor to the given line in the editor.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the editor where the mark has been put. NULL if none.</doc>
          <type name="Editor" c:type="IAnjutaEditor*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file to go to.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="lineno" transfer-ownership="none">
            <doc xml:whitespace="preserve">the line number in the file to go to.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="goto_file_line_mark"
              c:identifier="ianjuta_document_manager_goto_file_line_mark"
              throws="1">
        <doc xml:whitespace="preserve">Loads the given file if not loaded yet, set its editor as current editor
and moves cursor to the given line in the editor. Optionally also marks
the line with line marker if @mark is given TRUE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the editor where the mark has been put. NULL if none.</doc>
          <type name="Editor" c:type="IAnjutaEditor*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file to go to.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="lineno" transfer-ownership="none">
            <doc xml:whitespace="preserve">the line number in the file to go to.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="mark" transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the line should be marked with a marker.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_document"
              c:identifier="ianjuta_document_manager_remove_document"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="IAnjutaDocument*"/>
          </parameter>
          <parameter name="save_before" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_document"
              c:identifier="ianjuta_document_manager_set_current_document"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="IAnjutaDocument*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <enumeration name="DocumentManagerError"
                 glib:type-name="IAnjutaDocumentManagerError"
                 glib:get-type="ianjuta_document_manager_error_get_type"
                 c:type="IAnjutaDocumentManagerError">
      <member name="doesnt_exist"
              value="0"
              c:identifier="IANJUTA_DOCUMENT_MANAGER_DOESNT_EXIST"
              glib:nick="doesnt-exist"/>
      <function name="quark"
                c:identifier="ianjuta_document_manager_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="DocumentManagerIface"
            c:type="IAnjutaDocumentManagerIface"
            glib:is-gtype-struct-for="DocumentManager">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="add_bookmark">
        <callback name="add_bookmark" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_buffer">
        <callback name="add_buffer" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">the IAnjutaEditor instance that has been added.</doc>
            <type name="Editor" c:type="IAnjutaEditor*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the editor buffer.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="content" transfer-ownership="none">
              <doc xml:whitespace="preserve">Initial content of the buffer.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_document">
        <callback name="add_document" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="find_document_with_file">
        <callback name="find_document_with_file" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the document that corresponds to given file. NULL if</doc>
            <type name="Document" c:type="IAnjutaDocument*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">The file to find.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_current_document">
        <callback name="get_current_document" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the currently active document. NULL if none is there.</doc>
            <type name="Document" c:type="IAnjutaDocument*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_doc_widgets">
        <callback name="get_doc_widgets" throws="1">
          <return-value transfer-ownership="container">
            <doc xml:whitespace="preserve">a list of widgets for</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gtk.Widget"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_file">
        <callback name="get_file" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">the GFile for the given short filename</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
            <parameter name="filename" transfer-ownership="none">
              <doc xml:whitespace="preserve">short filename</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="goto_file_line">
        <callback name="goto_file_line" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the editor where the mark has been put. NULL if none.</doc>
            <type name="Editor" c:type="IAnjutaEditor*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">file to go to.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="lineno" transfer-ownership="none">
              <doc xml:whitespace="preserve">the line number in the file to go to.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="goto_file_line_mark">
        <callback name="goto_file_line_mark" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the editor where the mark has been put. NULL if none.</doc>
            <type name="Editor" c:type="IAnjutaEditor*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">file to go to.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="lineno" transfer-ownership="none">
              <doc xml:whitespace="preserve">the line number in the file to go to.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="mark" transfer-ownership="none">
              <doc xml:whitespace="preserve">TRUE if the line should be marked with a marker.</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_document">
        <callback name="remove_document" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
            <parameter name="save_before" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_current_document">
        <callback name="set_current_document" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="DocumentManager" c:type="IAnjutaDocumentManager*"/>
            </parameter>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="IAnjutaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Editor"
               c:symbol-prefix="editor"
               c:type="IAnjutaEditor"
               glib:type-name="IAnjutaEditor"
               glib:get-type="ianjuta_editor_get_type"
               glib:type-struct="EditorIface">
      <virtual-method name="append" invoker="append" throws="1">
        <doc xml:whitespace="preserve">Appends @length characters from @text buffer at the end of editor
buffer. If @length is -1, the whole @text is used. @length is in bytes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">Text to append.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">Length of @text to use.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="backspace">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="added" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="lines" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="char_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="ch" transfer-ownership="none">
            <type name="gchar" c:type="gchar"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="code_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="code" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="cursor_moved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="erase" invoker="erase" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position_start" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="position_end" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="erase_all" invoker="erase_all" throws="1">
        <doc xml:whitespace="preserve">Empties the whole editor buffer. There will be zero characters.
After the erase operation, none of the active iters are guranteed
to be valid.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_column" invoker="get_column" throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_current_word"
                      invoker="get_current_word"
                      throws="1">
        <doc xml:whitespace="preserve">Obtains the word on which carat is currently on.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Current word.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_end_position"
                      invoker="get_end_position"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Gets the iter positioned at the end of the editor buffer. The
returned iter is the end-iter which does not point to any valid
character in the buffer (it is pointed one step beyond the last
valid character).

Retrun value: Cell iter set to the end of the editor (end-iter).</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_length" invoker="get_length" throws="1">
        <doc xml:whitespace="preserve">Get length of complete text in editor. This will be the total
number of bytes in the file or buffer.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Text length.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_line_begin_position"
                      invoker="get_line_begin_position"
                      throws="1">
        <doc xml:whitespace="preserve">fixme</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">fixme</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="line" transfer-ownership="none">
            <doc xml:whitespace="preserve">fixme</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_line_end_position"
                      invoker="get_line_end_position"
                      throws="1">
        <doc xml:whitespace="preserve">fixme</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">fixme</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="line" transfer-ownership="none">
            <doc xml:whitespace="preserve">fixme</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_line_from_position"
                      invoker="get_line_from_position"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_lineno" invoker="get_lineno" throws="1">
        <doc xml:whitespace="preserve">Obtains current line number on which carat is.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Line number.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_offset" invoker="get_offset" throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_overwrite" invoker="get_overwrite" throws="1">
        <doc xml:whitespace="preserve">Obtains editor overwirte mode: TRUE = Override, FALSE = Insert.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">editor mode.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_position" invoker="get_position" throws="1">
        <doc xml:whitespace="preserve">Get current caret position.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Iterator that points to the current position.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_position_from_offset"
                      invoker="get_position_from_offset"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Creates and returns an iter for editor cells. The iter is
placed at the unicode character position where the given offset
@offset happens to fall. The returned iter is cell (character)
iter and not byte iter, so all iter operations
on it are character (not byte) iteration, including all position
and index references in the iter.

The iter must be unreferrenced by the caller when done.
The iter navigates (next/previous) in step of unicode
characters (one unicode character == one cell).

Retrun value: a newly created iter of IAnjutaEditorCell placed at the
given @offset position.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:whitespace="preserve">Character offset position where the iter will be set</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_start_position"
                      invoker="get_start_position"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Gets the iter positioned at the start of the editor buffer.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Cell iter set to the begining of the editor.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_tabsize" invoker="get_tabsize" throws="1">
        <doc xml:whitespace="preserve">Returns the tabsize (in spaces) currently used by the editor.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">tabsize in number of spaces</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_text" invoker="get_text" throws="1">
        <doc xml:whitespace="preserve">Gets text characters beginning from @begin (including char
pointed by @begin) and ending with @end (excluding character
pointed by @end). The characters returned are utf-8 encoded.
The iterators @begin and @end could be in either order. The returned
text, however, is in right order. If both @begin and @end points
to the same position, NULL is returned.

The returned buffer must be freed when no longer required.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A buffer of utf-8 characters.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="begin" transfer-ownership="none">
            <doc xml:whitespace="preserve">Begining iterator</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">End iterator</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_text_all" invoker="get_text_all" throws="1">
        <doc xml:whitespace="preserve">Gets all text characters in the editor.
The characters returned are utf-8 encoded.

The returned buffer must be freed when no longer required.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A buffer of utf-8 characters containing all text from editor.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_use_spaces"
                      invoker="get_use_spaces"
                      throws="1">
        <doc xml:whitespace="preserve">Returns if the editor uses spaces for filling up tab characters.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if yes, FALSE if no.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="goto_end" invoker="goto_end" throws="1">
        <doc xml:whitespace="preserve">Carat is moved to the end of editor and text view is scrolled to
bring it in viewable area of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="goto_line" invoker="goto_line" throws="1">
        <doc xml:whitespace="preserve">Carat is moved to the given @lineno line and text view is scrolled to
bring it in viewable area of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="lineno" transfer-ownership="none">
            <doc xml:whitespace="preserve">line number where carat will be moved.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="goto_position" invoker="goto_position" throws="1">
        <doc xml:whitespace="preserve">Carat is moved to the given @position and text view is scrolled to
bring @position in viewable area of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Character position where carat will be moved.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="goto_start" invoker="goto_start" throws="1">
        <doc xml:whitespace="preserve">Carat is moved to the begining of editor and text view is scrolled to
bring it in viewable area of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="insert" invoker="insert" throws="1">
        <doc xml:whitespace="preserve">Inserts @length characters from @text buffer at given @position of
editor buffer. If @length is -1, the whole @text is used.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Character position in editor where insert will take place.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">Text to append.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">Length of @text to use.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="line_marks_gutter_clicked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_auto_indent"
                      invoker="set_auto_indent"
                      throws="1">
        <doc xml:whitespace="preserve">Sets whether the editor should auto-indent itself. A plugin that does
custom auto-indent can set this to false and override the preferences
setting</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="auto_indent" transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE to enable auto-indent, FALSE to disable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_popup_menu"
                      invoker="set_popup_menu"
                      throws="1">
        <doc xml:whitespace="preserve">Set Editor popup menu. This is the menu shown in the editor when one
right-clicks on it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <doc xml:whitespace="preserve">Popupmenu</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_tabsize" invoker="set_tabsize" throws="1">
        <doc xml:whitespace="preserve">Sets the tabsize of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tabsize" transfer-ownership="none">
            <doc xml:whitespace="preserve">Tabsize in spaces</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_use_spaces"
                      invoker="set_use_spaces"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="use_spaces" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="append" c:identifier="ianjuta_editor_append" throws="1">
        <doc xml:whitespace="preserve">Appends @length characters from @text buffer at the end of editor
buffer. If @length is -1, the whole @text is used. @length is in bytes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">Text to append.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">Length of @text to use.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="erase" c:identifier="ianjuta_editor_erase" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position_start" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="position_end" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="erase_all"
              c:identifier="ianjuta_editor_erase_all"
              throws="1">
        <doc xml:whitespace="preserve">Empties the whole editor buffer. There will be zero characters.
After the erase operation, none of the active iters are guranteed
to be valid.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_column"
              c:identifier="ianjuta_editor_get_column"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_current_word"
              c:identifier="ianjuta_editor_get_current_word"
              throws="1">
        <doc xml:whitespace="preserve">Obtains the word on which carat is currently on.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Current word.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_end_position"
              c:identifier="ianjuta_editor_get_end_position"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Gets the iter positioned at the end of the editor buffer. The
returned iter is the end-iter which does not point to any valid
character in the buffer (it is pointed one step beyond the last
valid character).

Retrun value: Cell iter set to the end of the editor (end-iter).</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </method>
      <method name="get_length"
              c:identifier="ianjuta_editor_get_length"
              throws="1">
        <doc xml:whitespace="preserve">Get length of complete text in editor. This will be the total
number of bytes in the file or buffer.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Text length.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_line_begin_position"
              c:identifier="ianjuta_editor_get_line_begin_position"
              throws="1">
        <doc xml:whitespace="preserve">fixme</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">fixme</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="line" transfer-ownership="none">
            <doc xml:whitespace="preserve">fixme</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_line_end_position"
              c:identifier="ianjuta_editor_get_line_end_position"
              throws="1">
        <doc xml:whitespace="preserve">fixme</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">fixme</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="line" transfer-ownership="none">
            <doc xml:whitespace="preserve">fixme</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_line_from_position"
              c:identifier="ianjuta_editor_get_line_from_position"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_lineno"
              c:identifier="ianjuta_editor_get_lineno"
              throws="1">
        <doc xml:whitespace="preserve">Obtains current line number on which carat is.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Line number.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_offset"
              c:identifier="ianjuta_editor_get_offset"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_overwrite"
              c:identifier="ianjuta_editor_get_overwrite"
              throws="1">
        <doc xml:whitespace="preserve">Obtains editor overwirte mode: TRUE = Override, FALSE = Insert.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">editor mode.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_position"
              c:identifier="ianjuta_editor_get_position"
              throws="1">
        <doc xml:whitespace="preserve">Get current caret position.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Iterator that points to the current position.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </method>
      <method name="get_position_from_offset"
              c:identifier="ianjuta_editor_get_position_from_offset"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Creates and returns an iter for editor cells. The iter is
placed at the unicode character position where the given offset
@offset happens to fall. The returned iter is cell (character)
iter and not byte iter, so all iter operations
on it are character (not byte) iteration, including all position
and index references in the iter.

The iter must be unreferrenced by the caller when done.
The iter navigates (next/previous) in step of unicode
characters (one unicode character == one cell).

Retrun value: a newly created iter of IAnjutaEditorCell placed at the
given @offset position.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:whitespace="preserve">Character offset position where the iter will be set</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_start_position"
              c:identifier="ianjuta_editor_get_start_position"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Gets the iter positioned at the start of the editor buffer.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Cell iter set to the begining of the editor.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </method>
      <method name="get_tabsize"
              c:identifier="ianjuta_editor_get_tabsize"
              throws="1">
        <doc xml:whitespace="preserve">Returns the tabsize (in spaces) currently used by the editor.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">tabsize in number of spaces</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_text"
              c:identifier="ianjuta_editor_get_text"
              throws="1">
        <doc xml:whitespace="preserve">Gets text characters beginning from @begin (including char
pointed by @begin) and ending with @end (excluding character
pointed by @end). The characters returned are utf-8 encoded.
The iterators @begin and @end could be in either order. The returned
text, however, is in right order. If both @begin and @end points
to the same position, NULL is returned.

The returned buffer must be freed when no longer required.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A buffer of utf-8 characters.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="begin" transfer-ownership="none">
            <doc xml:whitespace="preserve">Begining iterator</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">End iterator</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_text_all"
              c:identifier="ianjuta_editor_get_text_all"
              throws="1">
        <doc xml:whitespace="preserve">Gets all text characters in the editor.
The characters returned are utf-8 encoded.

The returned buffer must be freed when no longer required.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A buffer of utf-8 characters containing all text from editor.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_use_spaces"
              c:identifier="ianjuta_editor_get_use_spaces"
              throws="1">
        <doc xml:whitespace="preserve">Returns if the editor uses spaces for filling up tab characters.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if yes, FALSE if no.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="goto_end"
              c:identifier="ianjuta_editor_goto_end"
              throws="1">
        <doc xml:whitespace="preserve">Carat is moved to the end of editor and text view is scrolled to
bring it in viewable area of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="goto_line"
              c:identifier="ianjuta_editor_goto_line"
              throws="1">
        <doc xml:whitespace="preserve">Carat is moved to the given @lineno line and text view is scrolled to
bring it in viewable area of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="lineno" transfer-ownership="none">
            <doc xml:whitespace="preserve">line number where carat will be moved.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="goto_position"
              c:identifier="ianjuta_editor_goto_position"
              throws="1">
        <doc xml:whitespace="preserve">Carat is moved to the given @position and text view is scrolled to
bring @position in viewable area of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Character position where carat will be moved.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="goto_start"
              c:identifier="ianjuta_editor_goto_start"
              throws="1">
        <doc xml:whitespace="preserve">Carat is moved to the begining of editor and text view is scrolled to
bring it in viewable area of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="insert" c:identifier="ianjuta_editor_insert" throws="1">
        <doc xml:whitespace="preserve">Inserts @length characters from @text buffer at given @position of
editor buffer. If @length is -1, the whole @text is used.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Character position in editor where insert will take place.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">Text to append.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">Length of @text to use.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auto_indent"
              c:identifier="ianjuta_editor_set_auto_indent"
              throws="1">
        <doc xml:whitespace="preserve">Sets whether the editor should auto-indent itself. A plugin that does
custom auto-indent can set this to false and override the preferences
setting</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="auto_indent" transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE to enable auto-indent, FALSE to disable</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_popup_menu"
              c:identifier="ianjuta_editor_set_popup_menu"
              throws="1">
        <doc xml:whitespace="preserve">Set Editor popup menu. This is the menu shown in the editor when one
right-clicks on it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <doc xml:whitespace="preserve">Popupmenu</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tabsize"
              c:identifier="ianjuta_editor_set_tabsize"
              throws="1">
        <doc xml:whitespace="preserve">Sets the tabsize of the editor.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tabsize" transfer-ownership="none">
            <doc xml:whitespace="preserve">Tabsize in spaces</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_spaces"
              c:identifier="ianjuta_editor_set_use_spaces"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="use_spaces" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="backspace" when="last">
        <doc xml:whitespace="preserve">The signal is emitted when the user presses backspace</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="changed" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when any text change happens in editor.
The changes begin at @position. @text is not garanteed to be NULL
terminated. Use @length to read the text. @lines represent the
number of line breaks in the added or removed text.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="added" transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if added, FALSE if deleted.</doc>
            <type name="Iterable"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">Length of the text changed.</doc>
            <type name="gboolean"/>
          </parameter>
          <parameter name="lines" transfer-ownership="none">
            <doc xml:whitespace="preserve">Number of lines added or removed.</doc>
            <type name="gint"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">The text added or removed.</doc>
            <type name="gint"/>
          </parameter>
          <parameter name="obj" transfer-ownership="none">
            <doc xml:whitespace="preserve">Self</doc>
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="char-added" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when any character is added inside the editor.
The newly added character is @ch which has been inserted at @position.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="ch" transfer-ownership="none">
            <doc xml:whitespace="preserve">The character that has been added.</doc>
            <type name="Iterable"/>
          </parameter>
          <parameter name="obj" transfer-ownership="none">
            <doc xml:whitespace="preserve">Self</doc>
            <type name="gchar"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="code-added" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when code is added inside the editor.
The newly added code is @code which has been inserted at @position.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="code" transfer-ownership="none">
            <doc xml:whitespace="preserve">The code that has been added.</doc>
            <type name="Iterable"/>
          </parameter>
          <parameter name="obj" transfer-ownership="none">
            <doc xml:whitespace="preserve">Self</doc>
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="cursor-moved" when="last">
        <doc xml:whitespace="preserve">The signal is a hint that the cursor was moved.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="line-marks-gutter-clicked" when="last">
        <doc xml:whitespace="preserve">The signal is emitted when the user clicks on a marker</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="double_click" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether the line marks gutter was double clicked</doc>
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <interface name="EditorAssist"
               c:symbol-prefix="editor_assist"
               c:type="IAnjutaEditorAssist"
               glib:type-name="IAnjutaEditorAssist"
               glib:get-type="ianjuta_editor_assist_get_type"
               glib:type-struct="EditorAssistIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_assist_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="add" invoker="add" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none">
            <type name="Provider" c:type="IAnjutaProvider*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="cancelled">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="invoke" invoker="invoke" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none">
            <type name="Provider" c:type="IAnjutaProvider*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="proposals" invoker="proposals" throws="1">
        <doc xml:whitespace="preserve">Add the list of proposals for the current population. You can add
proposals async as long as the last call sets finished to TRUE. That
is usually called by the IAnjutaProvider after it was triggered by
ianjuta_provider_populate()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none">
            <doc xml:whitespace="preserve">a IAnjutaProvider</doc>
            <type name="Provider" c:type="IAnjutaProvider*"/>
          </parameter>
          <parameter name="proposals" transfer-ownership="none">
            <doc xml:whitespace="preserve">a list of IAnjutaProposals</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="EditorAssistProposal"/>
            </type>
          </parameter>
          <parameter name="finished" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether is was the last call in an async operation</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove" invoker="remove" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none">
            <type name="Provider" c:type="IAnjutaProvider*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add" c:identifier="ianjuta_editor_assist_add" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none">
            <type name="Provider" c:type="IAnjutaProvider*"/>
          </parameter>
        </parameters>
      </method>
      <method name="invoke"
              c:identifier="ianjuta_editor_assist_invoke"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none">
            <type name="Provider" c:type="IAnjutaProvider*"/>
          </parameter>
        </parameters>
      </method>
      <method name="proposals"
              c:identifier="ianjuta_editor_assist_proposals"
              throws="1">
        <doc xml:whitespace="preserve">Add the list of proposals for the current population. You can add
proposals async as long as the last call sets finished to TRUE. That
is usually called by the IAnjutaProvider after it was triggered by
ianjuta_provider_populate()</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none">
            <doc xml:whitespace="preserve">a IAnjutaProvider</doc>
            <type name="Provider" c:type="IAnjutaProvider*"/>
          </parameter>
          <parameter name="proposals" transfer-ownership="none">
            <doc xml:whitespace="preserve">a list of IAnjutaProposals</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="EditorAssistProposal"/>
            </type>
          </parameter>
          <parameter name="finished" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether is was the last call in an async operation</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove"
              c:identifier="ianjuta_editor_assist_remove"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="provider" transfer-ownership="none">
            <type name="Provider" c:type="IAnjutaProvider*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="cancelled" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when the autocompletion is cancelled due to various
reasons. The provider should avoid to call ianjuta_editor_assist_proposals() after
this signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </interface>
    <record name="EditorAssistIface"
            c:type="IAnjutaEditorAssistIface"
            glib:is-gtype-struct-for="EditorAssist">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="cancelled">
        <callback name="cancelled">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorAssist" c:type="IAnjutaEditorAssist*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add">
        <callback name="add" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorAssist" c:type="IAnjutaEditorAssist*"/>
            </parameter>
            <parameter name="provider" transfer-ownership="none">
              <type name="Provider" c:type="IAnjutaProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="invoke">
        <callback name="invoke" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorAssist" c:type="IAnjutaEditorAssist*"/>
            </parameter>
            <parameter name="provider" transfer-ownership="none">
              <type name="Provider" c:type="IAnjutaProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="proposals">
        <callback name="proposals" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorAssist" c:type="IAnjutaEditorAssist*"/>
            </parameter>
            <parameter name="provider" transfer-ownership="none">
              <doc xml:whitespace="preserve">a IAnjutaProvider</doc>
              <type name="Provider" c:type="IAnjutaProvider*"/>
            </parameter>
            <parameter name="proposals" transfer-ownership="none">
              <doc xml:whitespace="preserve">a list of IAnjutaProposals</doc>
              <type name="GLib.List" c:type="GList*">
                <type name="EditorAssistProposal"/>
              </type>
            </parameter>
            <parameter name="finished" transfer-ownership="none">
              <doc xml:whitespace="preserve">whether is was the last call in an async operation</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove">
        <callback name="remove" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorAssist" c:type="IAnjutaEditorAssist*"/>
            </parameter>
            <parameter name="provider" transfer-ownership="none">
              <type name="Provider" c:type="IAnjutaProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="EditorAssistProposal" c:type="IAnjutaEditorAssistProposal">
      <field name="label" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="markup" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="info" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="text" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="icon" writable="1">
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </field>
      <field name="data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
    </record>
    <enumeration name="EditorAttribute"
                 glib:type-name="IAnjutaEditorAttribute"
                 glib:get-type="ianjuta_editor_attribute_get_type"
                 c:type="IAnjutaEditorAttribute">
      <doc xml:whitespace="preserve">This enumeration is used to specify the type of text. Note that not all
editors implement this.</doc>
      <member name="text"
              value="0"
              c:identifier="IANJUTA_EDITOR_TEXT"
              glib:nick="text"/>
      <member name="keyword"
              value="1"
              c:identifier="IANJUTA_EDITOR_KEYWORD"
              glib:nick="keyword"/>
      <member name="comment"
              value="2"
              c:identifier="IANJUTA_EDITOR_COMMENT"
              glib:nick="comment"/>
      <member name="string"
              value="3"
              c:identifier="IANJUTA_EDITOR_STRING"
              glib:nick="string"/>
    </enumeration>
    <interface name="EditorCell"
               c:symbol-prefix="editor_cell"
               c:type="IAnjutaEditorCell"
               glib:type-name="IAnjutaEditorCell"
               glib:get-type="ianjuta_editor_cell_get_type"
               glib:type-struct="EditorCellIface">
      <function name="error_quark"
                c:identifier="ianjuta_editor_cell_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="get_attribute" invoker="get_attribute" throws="1">
        <return-value transfer-ownership="none">
          <type name="EditorAttribute" c:type="IAnjutaEditorAttribute"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_char" invoker="get_char" throws="1">
        <doc xml:whitespace="preserve">Returns the byte of the unicode character in this cell at given
index @char_index. @char_index can vary from 0 to length of the
unicode string minus 1. Out of range index is not allowed
(asserted) and return is undefined.

Since there is dynamic allocation of unicode character string
involved in ianjuta_editor_cell_get_character(), this function
is mainly useful for fast iteration (such as copying data).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a byte character.</doc>
          <type name="gchar" c:type="gchar"/>
        </return-value>
        <parameters>
          <parameter name="char_index" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_character" invoker="get_character" throws="1">
        <doc xml:whitespace="preserve">Returns the unicode character in this cell. A NULL terminated
string is returned that is the multibyte unicode character.
NULL is returned if the cell does not have any character.

character.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a newly created string representing the cell's unicode</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_length" invoker="get_length" throws="1">
        <doc xml:whitespace="preserve">Gets the length of the cell in bytes. That is, length of the
unicode character.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Length of the unicode character.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <method name="get_attribute"
              c:identifier="ianjuta_editor_cell_get_attribute"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="EditorAttribute" c:type="IAnjutaEditorAttribute"/>
        </return-value>
      </method>
      <method name="get_char"
              c:identifier="ianjuta_editor_cell_get_char"
              throws="1">
        <doc xml:whitespace="preserve">Returns the byte of the unicode character in this cell at given
index @char_index. @char_index can vary from 0 to length of the
unicode string minus 1. Out of range index is not allowed
(asserted) and return is undefined.

Since there is dynamic allocation of unicode character string
involved in ianjuta_editor_cell_get_character(), this function
is mainly useful for fast iteration (such as copying data).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a byte character.</doc>
          <type name="gchar" c:type="gchar"/>
        </return-value>
        <parameters>
          <parameter name="char_index" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_character"
              c:identifier="ianjuta_editor_cell_get_character"
              throws="1">
        <doc xml:whitespace="preserve">Returns the unicode character in this cell. A NULL terminated
string is returned that is the multibyte unicode character.
NULL is returned if the cell does not have any character.

character.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a newly created string representing the cell's unicode</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_length"
              c:identifier="ianjuta_editor_cell_get_length"
              throws="1">
        <doc xml:whitespace="preserve">Gets the length of the cell in bytes. That is, length of the
unicode character.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Length of the unicode character.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
    </interface>
    <record name="EditorCellIface"
            c:type="IAnjutaEditorCellIface"
            glib:is-gtype-struct-for="EditorCell">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_attribute">
        <callback name="get_attribute" throws="1">
          <return-value transfer-ownership="none">
            <type name="EditorAttribute" c:type="IAnjutaEditorAttribute"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_char">
        <callback name="get_char" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">a byte character.</doc>
            <type name="gchar" c:type="gchar"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
            </parameter>
            <parameter name="char_index" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_character">
        <callback name="get_character" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">a newly created string representing the cell's unicode</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_length">
        <callback name="get_length" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">Length of the unicode character.</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorCellStyle"
               c:symbol-prefix="editor_cell_style"
               c:type="IAnjutaEditorCellStyle"
               glib:type-name="IAnjutaEditorCellStyle"
               glib:get-type="ianjuta_editor_cell_style_get_type"
               glib:type-struct="EditorCellStyleIface">
      <prerequisite name="EditorCell"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_cell_style_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="get_background_color"
                      invoker="get_background_color"
                      throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_color" invoker="get_color" throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_font_description"
                      invoker="get_font_description"
                      throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <method name="get_background_color"
              c:identifier="ianjuta_editor_cell_style_get_background_color"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_color"
              c:identifier="ianjuta_editor_cell_style_get_color"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_font_description"
              c:identifier="ianjuta_editor_cell_style_get_font_description"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
    </interface>
    <record name="EditorCellStyleIface"
            c:type="IAnjutaEditorCellStyleIface"
            glib:is-gtype-struct-for="EditorCellStyle">
      <field name="g_iface">
        <type name="EditorCellIface" c:type="IAnjutaEditorCellIface"/>
      </field>
      <field name="get_background_color">
        <callback name="get_background_color" throws="1">
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorCellStyle" c:type="IAnjutaEditorCellStyle*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_color">
        <callback name="get_color" throws="1">
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorCellStyle" c:type="IAnjutaEditorCellStyle*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_font_description">
        <callback name="get_font_description" throws="1">
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorCellStyle" c:type="IAnjutaEditorCellStyle*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorComment"
               c:symbol-prefix="editor_comment"
               c:type="IAnjutaEditorComment"
               glib:type-name="IAnjutaEditorComment"
               glib:get-type="ianjuta_editor_comment_get_type"
               glib:type-struct="EditorCommentIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_comment_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="block" invoker="block" throws="1">
        <doc xml:whitespace="preserve">Comment/Uncomment out selected block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="box" invoker="box" throws="1">
        <doc xml:whitespace="preserve">Comment/Uncomment out selected block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="stream" invoker="stream" throws="1">
        <doc xml:whitespace="preserve">Comment/Uncomment out selected block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="block"
              c:identifier="ianjuta_editor_comment_block"
              throws="1">
        <doc xml:whitespace="preserve">Comment/Uncomment out selected block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="box" c:identifier="ianjuta_editor_comment_box" throws="1">
        <doc xml:whitespace="preserve">Comment/Uncomment out selected block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="stream"
              c:identifier="ianjuta_editor_comment_stream"
              throws="1">
        <doc xml:whitespace="preserve">Comment/Uncomment out selected block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </interface>
    <record name="EditorCommentIface"
            c:type="IAnjutaEditorCommentIface"
            glib:is-gtype-struct-for="EditorComment">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="block">
        <callback name="block" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorComment" c:type="IAnjutaEditorComment*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="box">
        <callback name="box" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorComment" c:type="IAnjutaEditorComment*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="stream">
        <callback name="stream" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorComment" c:type="IAnjutaEditorComment*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorConvert"
               c:symbol-prefix="editor_convert"
               c:type="IAnjutaEditorConvert"
               glib:type-name="IAnjutaEditorConvert"
               glib:get-type="ianjuta_editor_convert_get_type"
               glib:type-struct="EditorConvertIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_convert_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="to_lower" invoker="to_lower" throws="1">
        <doc xml:whitespace="preserve">change characters from start position to end position to lowercase</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start_position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Start position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end_position" transfer-ownership="none">
            <doc xml:whitespace="preserve">End position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="to_upper" invoker="to_upper" throws="1">
        <doc xml:whitespace="preserve">change characters from start position to end position to uppercase.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start_position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Start position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end_position" transfer-ownership="none">
            <doc xml:whitespace="preserve">End position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="to_lower"
              c:identifier="ianjuta_editor_convert_to_lower"
              throws="1">
        <doc xml:whitespace="preserve">change characters from start position to end position to lowercase</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start_position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Start position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end_position" transfer-ownership="none">
            <doc xml:whitespace="preserve">End position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_upper"
              c:identifier="ianjuta_editor_convert_to_upper"
              throws="1">
        <doc xml:whitespace="preserve">change characters from start position to end position to uppercase.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start_position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Start position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end_position" transfer-ownership="none">
            <doc xml:whitespace="preserve">End position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="EditorConvertIface"
            c:type="IAnjutaEditorConvertIface"
            glib:is-gtype-struct-for="EditorConvert">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="to_lower">
        <callback name="to_lower" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorConvert" c:type="IAnjutaEditorConvert*"/>
            </parameter>
            <parameter name="start_position" transfer-ownership="none">
              <doc xml:whitespace="preserve">Start position.</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="end_position" transfer-ownership="none">
              <doc xml:whitespace="preserve">End position.</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="to_upper">
        <callback name="to_upper" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorConvert" c:type="IAnjutaEditorConvert*"/>
            </parameter>
            <parameter name="start_position" transfer-ownership="none">
              <doc xml:whitespace="preserve">Start position.</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="end_position" transfer-ownership="none">
              <doc xml:whitespace="preserve">End position.</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="EditorError"
                 glib:type-name="IAnjutaEditorError"
                 glib:get-type="ianjuta_editor_error_get_type"
                 c:type="IAnjutaEditorError">
      <member name="doesnt_exist"
              value="0"
              c:identifier="IANJUTA_EDITOR_DOESNT_EXIST"
              glib:nick="doesnt-exist"/>
      <function name="quark" c:identifier="ianjuta_editor_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <interface name="EditorFactory"
               c:symbol-prefix="editor_factory"
               c:type="IAnjutaEditorFactory"
               glib:type-name="IAnjutaEditorFactory"
               glib:get-type="ianjuta_editor_factory_get_type"
               glib:type-struct="EditorFactoryIface">
      <function name="error_quark"
                c:identifier="ianjuta_editor_factory_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="new_editor"
                      invoker="new_editor"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Get a new GtkWidget* which implements IAnjutaEditor</doc>
        <return-value>
          <doc xml:whitespace="preserve">An object implementing IAnjutaEditor</doc>
          <type name="Editor" c:type="IAnjutaEditor*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file to open</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">filename to open</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="new_editor"
              c:identifier="ianjuta_editor_factory_new_editor"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Get a new GtkWidget* which implements IAnjutaEditor</doc>
        <return-value>
          <doc xml:whitespace="preserve">An object implementing IAnjutaEditor</doc>
          <type name="Editor" c:type="IAnjutaEditor*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file to open</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">filename to open</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="EditorFactoryIface"
            c:type="IAnjutaEditorFactoryIface"
            glib:is-gtype-struct-for="EditorFactory">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="new_editor" introspectable="0">
        <callback name="new_editor" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">An object implementing IAnjutaEditor</doc>
            <type name="Editor" c:type="IAnjutaEditor*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorFactory" c:type="IAnjutaEditorFactory*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">file to open</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="filename" transfer-ownership="none">
              <doc xml:whitespace="preserve">filename to open</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorFolds"
               c:symbol-prefix="editor_folds"
               c:type="IAnjutaEditorFolds"
               glib:type-name="IAnjutaEditorFolds"
               glib:get-type="ianjuta_editor_folds_get_type"
               glib:type-struct="EditorFoldsIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_folds_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="close_all" invoker="close_all" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="open_all" invoker="open_all" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="toggle_current"
                      invoker="toggle_current"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="close_all"
              c:identifier="ianjuta_editor_folds_close_all"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="open_all"
              c:identifier="ianjuta_editor_folds_open_all"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="toggle_current"
              c:identifier="ianjuta_editor_folds_toggle_current"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </interface>
    <record name="EditorFoldsIface"
            c:type="IAnjutaEditorFoldsIface"
            glib:is-gtype-struct-for="EditorFolds">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="close_all">
        <callback name="close_all" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorFolds" c:type="IAnjutaEditorFolds*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="open_all">
        <callback name="open_all" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorFolds" c:type="IAnjutaEditorFolds*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="toggle_current">
        <callback name="toggle_current" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorFolds" c:type="IAnjutaEditorFolds*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorGladeSignal"
               c:symbol-prefix="editor_glade_signal"
               c:type="IAnjutaEditorGladeSignal"
               glib:type-name="IAnjutaEditorGladeSignal"
               glib:get-type="ianjuta_editor_glade_signal_get_type"
               glib:type-struct="EditorGladeSignalIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_glade_signal_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="drop">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iterator" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="signal_data" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="drop_possible">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iterator" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <glib:signal name="drop" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Iterable"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="drop-possible" when="last">
        <return-value transfer-ownership="none">
          <type name="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Iterable"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="EditorGladeSignalIface"
            c:type="IAnjutaEditorGladeSignalIface"
            glib:is-gtype-struct-for="EditorGladeSignal">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="drop">
        <callback name="drop">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorGladeSignal"
                    c:type="IAnjutaEditorGladeSignal*"/>
            </parameter>
            <parameter name="iterator" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="signal_data" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drop_possible">
        <callback name="drop_possible">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorGladeSignal"
                    c:type="IAnjutaEditorGladeSignal*"/>
            </parameter>
            <parameter name="iterator" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorGoto"
               c:symbol-prefix="editor_goto"
               c:type="IAnjutaEditorGoto"
               glib:type-name="IAnjutaEditorGoto"
               glib:get-type="ianjuta_editor_goto_get_type"
               glib:type-struct="EditorGotoIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_goto_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="end_block" invoker="end_block" throws="1">
        <doc xml:whitespace="preserve">Moves cursor to the end of the current block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="matching_brace"
                      invoker="matching_brace"
                      throws="1">
        <doc xml:whitespace="preserve">Moves cursor to matching brace</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="start_block" invoker="start_block" throws="1">
        <doc xml:whitespace="preserve">Moves cursor to the start of the current block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="end_block"
              c:identifier="ianjuta_editor_goto_end_block"
              throws="1">
        <doc xml:whitespace="preserve">Moves cursor to the end of the current block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="matching_brace"
              c:identifier="ianjuta_editor_goto_matching_brace"
              throws="1">
        <doc xml:whitespace="preserve">Moves cursor to matching brace</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="start_block"
              c:identifier="ianjuta_editor_goto_start_block"
              throws="1">
        <doc xml:whitespace="preserve">Moves cursor to the start of the current block</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </interface>
    <record name="EditorGotoIface"
            c:type="IAnjutaEditorGotoIface"
            glib:is-gtype-struct-for="EditorGoto">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="end_block">
        <callback name="end_block" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorGoto" c:type="IAnjutaEditorGoto*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="matching_brace">
        <callback name="matching_brace" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorGoto" c:type="IAnjutaEditorGoto*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="start_block">
        <callback name="start_block" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorGoto" c:type="IAnjutaEditorGoto*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorHover"
               c:symbol-prefix="editor_hover"
               c:type="IAnjutaEditorHover"
               glib:type-name="IAnjutaEditorHover"
               glib:get-type="ianjuta_editor_hover_get_type"
               glib:type-struct="EditorHoverIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_hover_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="display" invoker="display" throws="1">
        <doc xml:whitespace="preserve">Show @info as tooltip</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">String to display</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hover_leave">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hover_over">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="display"
              c:identifier="ianjuta_editor_hover_display"
              throws="1">
        <doc xml:whitespace="preserve">Show @info as tooltip</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">String to display</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="hover-leave" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Iterable"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="hover-over" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Iterable"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="EditorHoverIface"
            c:type="IAnjutaEditorHoverIface"
            glib:is-gtype-struct-for="EditorHover">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="hover_leave">
        <callback name="hover_leave">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorHover" c:type="IAnjutaEditorHover*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hover_over">
        <callback name="hover_over">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorHover" c:type="IAnjutaEditorHover*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="display">
        <callback name="display" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorHover" c:type="IAnjutaEditorHover*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="info" transfer-ownership="none">
              <doc xml:whitespace="preserve">String to display</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="EditorIface"
            c:type="IAnjutaEditorIface"
            glib:is-gtype-struct-for="Editor">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="backspace">
        <callback name="backspace">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="added" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="length" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="lines" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="char_added">
        <callback name="char_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="ch" transfer-ownership="none">
              <type name="gchar" c:type="gchar"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="code_added">
        <callback name="code_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="code" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cursor_moved">
        <callback name="cursor_moved">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="line_marks_gutter_clicked">
        <callback name="line_marks_gutter_clicked">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="location" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="append">
        <callback name="append" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <doc xml:whitespace="preserve">Text to append.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="length" transfer-ownership="none">
              <doc xml:whitespace="preserve">Length of @text to use.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="erase">
        <callback name="erase" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="position_start" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="position_end" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="erase_all">
        <callback name="erase_all" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_column">
        <callback name="get_column" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_current_word">
        <callback name="get_current_word" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">Current word.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_end_position" introspectable="0">
        <callback name="get_end_position" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_length">
        <callback name="get_length" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">Text length.</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_line_begin_position">
        <callback name="get_line_begin_position" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">fixme</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <doc xml:whitespace="preserve">fixme</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_line_end_position">
        <callback name="get_line_end_position" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">fixme</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <doc xml:whitespace="preserve">fixme</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_line_from_position">
        <callback name="get_line_from_position" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_lineno">
        <callback name="get_lineno" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">Line number.</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_offset">
        <callback name="get_offset" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_overwrite">
        <callback name="get_overwrite" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">editor mode.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_position">
        <callback name="get_position" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">Iterator that points to the current position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_position_from_offset" introspectable="0">
        <callback name="get_position_from_offset"
                  introspectable="0"
                  throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="offset" transfer-ownership="none">
              <doc xml:whitespace="preserve">Character offset position where the iter will be set</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_start_position" introspectable="0">
        <callback name="get_start_position" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">Cell iter set to the begining of the editor.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_tabsize">
        <callback name="get_tabsize" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">tabsize in number of spaces</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_text">
        <callback name="get_text" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A buffer of utf-8 characters.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="begin" transfer-ownership="none">
              <doc xml:whitespace="preserve">Begining iterator</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <doc xml:whitespace="preserve">End iterator</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_text_all">
        <callback name="get_text_all" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A buffer of utf-8 characters containing all text from editor.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_use_spaces">
        <callback name="get_use_spaces" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if yes, FALSE if no.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="goto_end">
        <callback name="goto_end" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="goto_line">
        <callback name="goto_line" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="lineno" transfer-ownership="none">
              <doc xml:whitespace="preserve">line number where carat will be moved.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="goto_position">
        <callback name="goto_position" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <doc xml:whitespace="preserve">Character position where carat will be moved.</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="goto_start">
        <callback name="goto_start" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="insert">
        <callback name="insert" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <doc xml:whitespace="preserve">Character position in editor where insert will take place.</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <doc xml:whitespace="preserve">Text to append.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="length" transfer-ownership="none">
              <doc xml:whitespace="preserve">Length of @text to use.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_auto_indent">
        <callback name="set_auto_indent" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="auto_indent" transfer-ownership="none">
              <doc xml:whitespace="preserve">TRUE to enable auto-indent, FALSE to disable</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_popup_menu">
        <callback name="set_popup_menu" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="menu" transfer-ownership="none">
              <doc xml:whitespace="preserve">Popupmenu</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_tabsize">
        <callback name="set_tabsize" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="tabsize" transfer-ownership="none">
              <doc xml:whitespace="preserve">Tabsize in spaces</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_use_spaces">
        <callback name="set_use_spaces" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Editor" c:type="IAnjutaEditor*"/>
            </parameter>
            <parameter name="use_spaces" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorLanguage"
               c:symbol-prefix="editor_language"
               c:type="IAnjutaEditorLanguage"
               glib:type-name="IAnjutaEditorLanguage"
               glib:get-type="ianjuta_editor_language_get_type"
               glib:type-struct="EditorLanguageIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_language_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="get_language" invoker="get_language" throws="1">
        <doc xml:whitespace="preserve">Return the name of the currently used language</doc>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_language_name"
                      invoker="get_language_name"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="language" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_supported_languages"
                      invoker="get_supported_languages"
                      throws="1">
        <doc xml:whitespace="preserve">Return a list of languages supported by the editor
Note: These list contains the names in the form
the editor implementation knows them</doc>
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </virtual-method>
      <virtual-method name="language_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="language" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_language" invoker="set_language" throws="1">
        <doc xml:whitespace="preserve">Force the editor to use a given language</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="language" transfer-ownership="none">
            <doc xml:whitespace="preserve">Language</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_language"
              c:identifier="ianjuta_editor_language_get_language"
              throws="1">
        <doc xml:whitespace="preserve">Return the name of the currently used language</doc>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_language_name"
              c:identifier="ianjuta_editor_language_get_language_name"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="language" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_supported_languages"
              c:identifier="ianjuta_editor_language_get_supported_languages"
              throws="1">
        <doc xml:whitespace="preserve">Return a list of languages supported by the editor
Note: These list contains the names in the form
the editor implementation knows them</doc>
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </method>
      <method name="set_language"
              c:identifier="ianjuta_editor_language_set_language"
              throws="1">
        <doc xml:whitespace="preserve">Force the editor to use a given language</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="language" transfer-ownership="none">
            <doc xml:whitespace="preserve">Language</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="language-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="EditorLanguageIface"
            c:type="IAnjutaEditorLanguageIface"
            glib:is-gtype-struct-for="EditorLanguage">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="language_changed">
        <callback name="language_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
            </parameter>
            <parameter name="language" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_language">
        <callback name="get_language" throws="1">
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_language_name">
        <callback name="get_language_name" throws="1">
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
            </parameter>
            <parameter name="language" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_supported_languages">
        <callback name="get_supported_languages" throws="1">
          <return-value transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_language">
        <callback name="set_language" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
            </parameter>
            <parameter name="language" transfer-ownership="none">
              <doc xml:whitespace="preserve">Language</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorLineMode"
               c:symbol-prefix="editor_line_mode"
               c:type="IAnjutaEditorLineMode"
               glib:type-name="IAnjutaEditorLineMode"
               glib:get-type="ianjuta_editor_line_mode_get_type"
               glib:type-struct="EditorLineModeIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_line_mode_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="convert" invoker="convert" throws="1">
        <doc xml:whitespace="preserve">Set the line ending mode to the given @mode and convert all line end
characters in the buffer to @mode line end characters.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">Line mode to convert.</doc>
            <type name="EditorLineModeType"
                  c:type="IAnjutaEditorLineModeType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="fix" invoker="fix" throws="1">
        <doc xml:whitespace="preserve">Convert EOL characters to majority of line mode. This is helpful
when the buffer contains mixed line modes and we want to fix it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get" invoker="get" throws="1">
        <doc xml:whitespace="preserve">Get current line ending mode. It is auto-detected from the
buffer contents.</doc>
        <return-value transfer-ownership="none">
          <type name="EditorLineModeType" c:type="IAnjutaEditorLineModeType"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set" invoker="set" throws="1">
        <doc xml:whitespace="preserve">Set the line ending mode to the given @mode. Existing line end
characters in the buffer are not touched. Only the newly added
texts will have @mode line end characters.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">Line mode to set.</doc>
            <type name="EditorLineModeType"
                  c:type="IAnjutaEditorLineModeType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="convert"
              c:identifier="ianjuta_editor_line_mode_convert"
              throws="1">
        <doc xml:whitespace="preserve">Set the line ending mode to the given @mode and convert all line end
characters in the buffer to @mode line end characters.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">Line mode to convert.</doc>
            <type name="EditorLineModeType"
                  c:type="IAnjutaEditorLineModeType"/>
          </parameter>
        </parameters>
      </method>
      <method name="fix"
              c:identifier="ianjuta_editor_line_mode_fix"
              throws="1">
        <doc xml:whitespace="preserve">Convert EOL characters to majority of line mode. This is helpful
when the buffer contains mixed line modes and we want to fix it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get"
              c:identifier="ianjuta_editor_line_mode_get"
              throws="1">
        <doc xml:whitespace="preserve">Get current line ending mode. It is auto-detected from the
buffer contents.</doc>
        <return-value transfer-ownership="none">
          <type name="EditorLineModeType" c:type="IAnjutaEditorLineModeType"/>
        </return-value>
      </method>
      <method name="set"
              c:identifier="ianjuta_editor_line_mode_set"
              throws="1">
        <doc xml:whitespace="preserve">Set the line ending mode to the given @mode. Existing line end
characters in the buffer are not touched. Only the newly added
texts will have @mode line end characters.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">Line mode to set.</doc>
            <type name="EditorLineModeType"
                  c:type="IAnjutaEditorLineModeType"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="EditorLineModeIface"
            c:type="IAnjutaEditorLineModeIface"
            glib:is-gtype-struct-for="EditorLineMode">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="convert">
        <callback name="convert" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorLineMode" c:type="IAnjutaEditorLineMode*"/>
            </parameter>
            <parameter name="mode" transfer-ownership="none">
              <doc xml:whitespace="preserve">Line mode to convert.</doc>
              <type name="EditorLineModeType"
                    c:type="IAnjutaEditorLineModeType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="fix">
        <callback name="fix" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorLineMode" c:type="IAnjutaEditorLineMode*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get">
        <callback name="get" throws="1">
          <return-value transfer-ownership="none">
            <type name="EditorLineModeType"
                  c:type="IAnjutaEditorLineModeType"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorLineMode" c:type="IAnjutaEditorLineMode*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set">
        <callback name="set" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorLineMode" c:type="IAnjutaEditorLineMode*"/>
            </parameter>
            <parameter name="mode" transfer-ownership="none">
              <doc xml:whitespace="preserve">Line mode to set.</doc>
              <type name="EditorLineModeType"
                    c:type="IAnjutaEditorLineModeType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="EditorLineModeType"
                 glib:type-name="IAnjutaEditorLineModeType"
                 glib:get-type="ianjuta_editor_line_mode_type_get_type"
                 c:type="IAnjutaEditorLineModeType">
      <doc xml:whitespace="preserve">This enumeration is used to specify the type of text. Note that not all
editors implement this.</doc>
      <member name="lf"
              value="0"
              c:identifier="IANJUTA_EDITOR_LINE_MODE_LF"
              glib:nick="lf"/>
      <member name="cr"
              value="1"
              c:identifier="IANJUTA_EDITOR_LINE_MODE_CR"
              glib:nick="cr"/>
      <member name="crlf"
              value="2"
              c:identifier="IANJUTA_EDITOR_LINE_MODE_CRLF"
              glib:nick="crlf"/>
    </enumeration>
    <interface name="EditorSearch"
               c:symbol-prefix="editor_search"
               c:type="IAnjutaEditorSearch"
               glib:type-name="IAnjutaEditorSearch"
               glib:get-type="ianjuta_editor_search_get_type"
               glib:type-struct="EditorSearchIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_search_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="backward" invoker="backward" throws="1">
        <doc xml:whitespace="preserve">Search backward from end to start</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="search" transfer-ownership="none">
            <doc xml:whitespace="preserve">String to search for</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="case_sensitive" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Where to search from</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">Where to stop searching</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
          </parameter>
          <parameter name="result_start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Will be set to the start of the search_result (or NULL)</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
          </parameter>
          <parameter name="result_end" transfer-ownership="none">
            <doc xml:whitespace="preserve">Will be set to the end of the search_result (or NULL)</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="forward" invoker="forward" throws="1">
        <doc xml:whitespace="preserve">Search forward from start to end</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="search" transfer-ownership="none">
            <doc xml:whitespace="preserve">String to search for</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="case_sensitive" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Where to search from</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">Where to stop searching</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
          </parameter>
          <parameter name="result_start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Will be set to the start of the search_result (or NULL)</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
          </parameter>
          <parameter name="result_end" transfer-ownership="none">
            <doc xml:whitespace="preserve">Will be set to the end of the search_result (or NULL)</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="backward"
              c:identifier="ianjuta_editor_search_backward"
              throws="1">
        <doc xml:whitespace="preserve">Search backward from end to start</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="search" transfer-ownership="none">
            <doc xml:whitespace="preserve">String to search for</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="case_sensitive" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Where to search from</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">Where to stop searching</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
          </parameter>
          <parameter name="result_start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Will be set to the start of the search_result (or NULL)</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
          </parameter>
          <parameter name="result_end" transfer-ownership="none">
            <doc xml:whitespace="preserve">Will be set to the end of the search_result (or NULL)</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
          </parameter>
        </parameters>
      </method>
      <method name="forward"
              c:identifier="ianjuta_editor_search_forward"
              throws="1">
        <doc xml:whitespace="preserve">Search forward from start to end</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="search" transfer-ownership="none">
            <doc xml:whitespace="preserve">String to search for</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="case_sensitive" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Where to search from</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">Where to stop searching</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
          </parameter>
          <parameter name="result_start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Will be set to the start of the search_result (or NULL)</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
          </parameter>
          <parameter name="result_end" transfer-ownership="none">
            <doc xml:whitespace="preserve">Will be set to the end of the search_result (or NULL)</doc>
            <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="EditorSearchIface"
            c:type="IAnjutaEditorSearchIface"
            glib:is-gtype-struct-for="EditorSearch">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="backward">
        <callback name="backward" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSearch" c:type="IAnjutaEditorSearch*"/>
            </parameter>
            <parameter name="search" transfer-ownership="none">
              <doc xml:whitespace="preserve">String to search for</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="case_sensitive" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <doc xml:whitespace="preserve">Where to search from</doc>
              <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <doc xml:whitespace="preserve">Where to stop searching</doc>
              <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
            </parameter>
            <parameter name="result_start" transfer-ownership="none">
              <doc xml:whitespace="preserve">Will be set to the start of the search_result (or NULL)</doc>
              <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
            </parameter>
            <parameter name="result_end" transfer-ownership="none">
              <doc xml:whitespace="preserve">Will be set to the end of the search_result (or NULL)</doc>
              <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="forward">
        <callback name="forward" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSearch" c:type="IAnjutaEditorSearch*"/>
            </parameter>
            <parameter name="search" transfer-ownership="none">
              <doc xml:whitespace="preserve">String to search for</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="case_sensitive" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <doc xml:whitespace="preserve">Where to search from</doc>
              <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <doc xml:whitespace="preserve">Where to stop searching</doc>
              <type name="EditorCell" c:type="IAnjutaEditorCell*"/>
            </parameter>
            <parameter name="result_start" transfer-ownership="none">
              <doc xml:whitespace="preserve">Will be set to the start of the search_result (or NULL)</doc>
              <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
            </parameter>
            <parameter name="result_end" transfer-ownership="none">
              <doc xml:whitespace="preserve">Will be set to the end of the search_result (or NULL)</doc>
              <type name="EditorCell" c:type="IAnjutaEditorCell**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorSelection"
               c:symbol-prefix="editor_selection"
               c:type="IAnjutaEditorSelection"
               glib:type-name="IAnjutaEditorSelection"
               glib:get-type="ianjuta_editor_selection_get_type"
               glib:type-struct="EditorSelectionIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_selection_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="get" invoker="get" throws="1">
        <doc xml:whitespace="preserve">Gets curerntly selected text in editor.

NULL if there is no selection. The returned buffer must be freed after
use.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A newly allocated buffer of currently selected characters.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_end"
                      invoker="get_end"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Get end position of selection. If there is no selection, returns
NULL.</doc>
        <return-value>
          <doc xml:whitespace="preserve">End of selection or NULL if there is no selection.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_start"
                      invoker="get_start"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Gets start position of selection text.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Start of selection or NULL if there is no selection.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="has_selection" invoker="has_selection" throws="1">
        <doc xml:whitespace="preserve">Returns TRUE if editor has any text selected. The selection
positions can be retrieved with ianjuta_editor_selection_get_start()
and ianjuta_editor_selection_get_end().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if there is text selected else FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="replace" invoker="replace" throws="1">
        <doc xml:whitespace="preserve">Replaces currently selected text with the @text. Only @length amount
of characters are used from @text buffer to replace.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">Replacement text.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">Length of the text to used in @text.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="select_all" invoker="select_all" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="select_block" invoker="select_block" throws="1">
        <doc xml:whitespace="preserve">Selects current block of code. The definition of block of code
depends on highlight mode used (programming language). Some
highlight mode does not have block concept, in that case this
method does not do anything.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="select_function"
                      invoker="select_function"
                      throws="1">
        <doc xml:whitespace="preserve">Select current function block. The definition of function block
depends on highlight mode used (programming language). Some
highlight mode does not have function concept, in that case this
method does not do anything.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set" invoker="set" throws="1">
        <doc xml:whitespace="preserve">Select characters between start and end. Start and end don't have to
be ordered.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Begin of selection</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">End of selection</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="scroll" transfer-ownership="none">
            <doc xml:whitespace="preserve">Scroll selection onscreen</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get"
              c:identifier="ianjuta_editor_selection_get"
              throws="1">
        <doc xml:whitespace="preserve">Gets curerntly selected text in editor.

NULL if there is no selection. The returned buffer must be freed after
use.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A newly allocated buffer of currently selected characters.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_end"
              c:identifier="ianjuta_editor_selection_get_end"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Get end position of selection. If there is no selection, returns
NULL.</doc>
        <return-value>
          <doc xml:whitespace="preserve">End of selection or NULL if there is no selection.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </method>
      <method name="get_start"
              c:identifier="ianjuta_editor_selection_get_start"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Gets start position of selection text.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Start of selection or NULL if there is no selection.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </method>
      <method name="has_selection"
              c:identifier="ianjuta_editor_selection_has_selection"
              throws="1">
        <doc xml:whitespace="preserve">Returns TRUE if editor has any text selected. The selection
positions can be retrieved with ianjuta_editor_selection_get_start()
and ianjuta_editor_selection_get_end().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if there is text selected else FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="replace"
              c:identifier="ianjuta_editor_selection_replace"
              throws="1">
        <doc xml:whitespace="preserve">Replaces currently selected text with the @text. Only @length amount
of characters are used from @text buffer to replace.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <doc xml:whitespace="preserve">Replacement text.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">Length of the text to used in @text.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="select_all"
              c:identifier="ianjuta_editor_selection_select_all"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="select_block"
              c:identifier="ianjuta_editor_selection_select_block"
              throws="1">
        <doc xml:whitespace="preserve">Selects current block of code. The definition of block of code
depends on highlight mode used (programming language). Some
highlight mode does not have block concept, in that case this
method does not do anything.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="select_function"
              c:identifier="ianjuta_editor_selection_select_function"
              throws="1">
        <doc xml:whitespace="preserve">Select current function block. The definition of function block
depends on highlight mode used (programming language). Some
highlight mode does not have function concept, in that case this
method does not do anything.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set"
              c:identifier="ianjuta_editor_selection_set"
              throws="1">
        <doc xml:whitespace="preserve">Select characters between start and end. Start and end don't have to
be ordered.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Begin of selection</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">End of selection</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="scroll" transfer-ownership="none">
            <doc xml:whitespace="preserve">Scroll selection onscreen</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="EditorSelectionIface"
            c:type="IAnjutaEditorSelectionIface"
            glib:is-gtype-struct-for="EditorSelection">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="get">
        <callback name="get" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A newly allocated buffer of currently selected characters.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSelection" c:type="IAnjutaEditorSelection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_end" introspectable="0">
        <callback name="get_end" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">End of selection or NULL if there is no selection.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSelection" c:type="IAnjutaEditorSelection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_start" introspectable="0">
        <callback name="get_start" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">Start of selection or NULL if there is no selection.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSelection" c:type="IAnjutaEditorSelection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="has_selection">
        <callback name="has_selection" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if there is text selected else FALSE.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSelection" c:type="IAnjutaEditorSelection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="replace">
        <callback name="replace" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSelection" c:type="IAnjutaEditorSelection*"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <doc xml:whitespace="preserve">Replacement text.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="length" transfer-ownership="none">
              <doc xml:whitespace="preserve">Length of the text to used in @text.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="select_all">
        <callback name="select_all" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSelection" c:type="IAnjutaEditorSelection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="select_block">
        <callback name="select_block" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSelection" c:type="IAnjutaEditorSelection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="select_function">
        <callback name="select_function" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSelection" c:type="IAnjutaEditorSelection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set">
        <callback name="set" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorSelection" c:type="IAnjutaEditorSelection*"/>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <doc xml:whitespace="preserve">Begin of selection</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <doc xml:whitespace="preserve">End of selection</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="scroll" transfer-ownership="none">
              <doc xml:whitespace="preserve">Scroll selection onscreen</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorTip"
               c:symbol-prefix="editor_tip"
               c:type="IAnjutaEditorTip"
               glib:type-name="IAnjutaEditorTip"
               glib:get-type="ianjuta_editor_tip_get_type"
               glib:type-struct="EditorTipIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_tip_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="cancel" invoker="cancel" throws="1">
        <doc xml:whitespace="preserve">Cancels the last shown tooltip</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="show" invoker="show" throws="1">
        <doc xml:whitespace="preserve">Show tips showing more information on current context. No user feedback
is required when tips are shown. @position indicates
the position before which is the known context and after which are
the suggestions. Usually the editor would use this to
align the choices displayed such that the carat is just at this
position when the choices are displayed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tips" transfer-ownership="none">
            <doc xml:whitespace="preserve">list of alternative tips.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Tip position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="visible" invoker="visible" throws="1">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">whether a tooltip is crrently shown</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <method name="cancel"
              c:identifier="ianjuta_editor_tip_cancel"
              throws="1">
        <doc xml:whitespace="preserve">Cancels the last shown tooltip</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="show" c:identifier="ianjuta_editor_tip_show" throws="1">
        <doc xml:whitespace="preserve">Show tips showing more information on current context. No user feedback
is required when tips are shown. @position indicates
the position before which is the known context and after which are
the suggestions. Usually the editor would use this to
align the choices displayed such that the carat is just at this
position when the choices are displayed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tips" transfer-ownership="none">
            <doc xml:whitespace="preserve">list of alternative tips.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">Tip position.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="visible"
              c:identifier="ianjuta_editor_tip_visible"
              throws="1">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">whether a tooltip is crrently shown</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </interface>
    <record name="EditorTipIface"
            c:type="IAnjutaEditorTipIface"
            glib:is-gtype-struct-for="EditorTip">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="cancel">
        <callback name="cancel" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorTip" c:type="IAnjutaEditorTip*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="show">
        <callback name="show" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorTip" c:type="IAnjutaEditorTip*"/>
            </parameter>
            <parameter name="tips" transfer-ownership="none">
              <doc xml:whitespace="preserve">list of alternative tips.</doc>
              <type name="GLib.List" c:type="GList*">
                <type name="utf8"/>
              </type>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <doc xml:whitespace="preserve">Tip position.</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="visible">
        <callback name="visible" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">whether a tooltip is crrently shown</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorTip" c:type="IAnjutaEditorTip*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorView"
               c:symbol-prefix="editor_view"
               c:type="IAnjutaEditorView"
               glib:type-name="IAnjutaEditorView"
               glib:get-type="ianjuta_editor_view_get_type"
               glib:type-struct="EditorViewIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_view_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="create" invoker="create" throws="1">
        <doc xml:whitespace="preserve">Creates a new view for the editor. The newly created view gets
the user focus and scrolls to the same location as last view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_count" invoker="get_count" throws="1">
        <doc xml:whitespace="preserve">Total number of views currently present. It will never be less
than 1. Invalid return values are considered error condition.</doc>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="remove_current"
                      invoker="remove_current"
                      throws="1">
        <doc xml:whitespace="preserve">Removes currently focused editor view. It does not remove the
last view of the editor. That is, if currently there is only
one view of the editor, this function does nothing.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="create"
              c:identifier="ianjuta_editor_view_create"
              throws="1">
        <doc xml:whitespace="preserve">Creates a new view for the editor. The newly created view gets
the user focus and scrolls to the same location as last view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_count"
              c:identifier="ianjuta_editor_view_get_count"
              throws="1">
        <doc xml:whitespace="preserve">Total number of views currently present. It will never be less
than 1. Invalid return values are considered error condition.</doc>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="remove_current"
              c:identifier="ianjuta_editor_view_remove_current"
              throws="1">
        <doc xml:whitespace="preserve">Removes currently focused editor view. It does not remove the
last view of the editor. That is, if currently there is only
one view of the editor, this function does nothing.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </interface>
    <record name="EditorViewIface"
            c:type="IAnjutaEditorViewIface"
            glib:is-gtype-struct-for="EditorView">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="create">
        <callback name="create" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorView" c:type="IAnjutaEditorView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_count">
        <callback name="get_count" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorView" c:type="IAnjutaEditorView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_current">
        <callback name="remove_current" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorView" c:type="IAnjutaEditorView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="EditorZoom"
               c:symbol-prefix="editor_zoom"
               c:type="IAnjutaEditorZoom"
               glib:type-name="IAnjutaEditorZoom"
               glib:get-type="ianjuta_editor_zoom_get_type"
               glib:type-struct="EditorZoomIface">
      <prerequisite name="Editor"/>
      <function name="error_quark"
                c:identifier="ianjuta_editor_zoom_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="in" invoker="in" throws="1">
        <doc xml:whitespace="preserve">Zoom in</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="out" invoker="out" throws="1">
        <doc xml:whitespace="preserve">Zoom out</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="in" c:identifier="ianjuta_editor_zoom_in" throws="1">
        <doc xml:whitespace="preserve">Zoom in</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="out" c:identifier="ianjuta_editor_zoom_out" throws="1">
        <doc xml:whitespace="preserve">Zoom out</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </interface>
    <record name="EditorZoomIface"
            c:type="IAnjutaEditorZoomIface"
            glib:is-gtype-struct-for="EditorZoom">
      <field name="g_iface">
        <type name="EditorIface" c:type="IAnjutaEditorIface"/>
      </field>
      <field name="in">
        <callback name="in" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorZoom" c:type="IAnjutaEditorZoom*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="out">
        <callback name="out" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="EditorZoom" c:type="IAnjutaEditorZoom*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Environment"
               c:symbol-prefix="environment"
               c:type="IAnjutaEnvironment"
               glib:type-name="IAnjutaEnvironment"
               glib:get-type="ianjuta_environment_get_type"
               glib:type-struct="EnvironmentIface">
      <virtual-method name="get_real_directory"
                      invoker="get_real_directory"
                      throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="dir" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="override" invoker="override" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="dirp" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="argvp" transfer-ownership="none">
            <type name="utf8" c:type="gchar***"/>
          </parameter>
          <parameter name="envp" transfer-ownership="none">
            <type name="utf8" c:type="gchar***"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_real_directory"
              c:identifier="ianjuta_environment_get_real_directory"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="dir" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="override"
              c:identifier="ianjuta_environment_override"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="dirp" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="argvp" transfer-ownership="none">
            <type name="utf8" c:type="gchar***"/>
          </parameter>
          <parameter name="envp" transfer-ownership="none">
            <type name="utf8" c:type="gchar***"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <enumeration name="EnvironmentError"
                 glib:type-name="IAnjutaEnvironmentError"
                 glib:get-type="ianjuta_environment_error_get_type"
                 c:type="IAnjutaEnvironmentError">
      <doc xml:whitespace="preserve">Possible build errors</doc>
      <member name="config"
              value="0"
              c:identifier="IANJUTA_ENVIRONMENT_CONFIG"
              glib:nick="config"/>
      <member name="other_error"
              value="1"
              c:identifier="IANJUTA_ENVIRONMENT_OTHER_ERROR"
              glib:nick="other-error"/>
      <function name="quark" c:identifier="ianjuta_environment_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="EnvironmentIface"
            c:type="IAnjutaEnvironmentIface"
            glib:is-gtype-struct-for="Environment">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_real_directory">
        <callback name="get_real_directory" throws="1">
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Environment" c:type="IAnjutaEnvironment*"/>
            </parameter>
            <parameter name="dir" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="override">
        <callback name="override" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Environment" c:type="IAnjutaEnvironment*"/>
            </parameter>
            <parameter name="dirp" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="argvp" transfer-ownership="none">
              <type name="utf8" c:type="gchar***"/>
            </parameter>
            <parameter name="envp" transfer-ownership="none">
              <type name="utf8" c:type="gchar***"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <constant name="FILE_MANAGER_SELECTED_FILE"
              value="file_manager_selected_file"
              c:type="IANJUTA_FILE_MANAGER_SELECTED_FILE">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <interface name="File"
               c:symbol-prefix="file"
               c:type="IAnjutaFile"
               glib:type-name="IAnjutaFile"
               glib:get-type="ianjuta_file_get_type"
               glib:type-struct="FileIface">
      <function name="error_quark" c:identifier="ianjuta_file_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="get_file" invoker="get_file" throws="1">
        <doc xml:whitespace="preserve">Returns the file that was opened with ianjuta_file_open().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">The last file opened.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="open" invoker="open" throws="1">
        <doc xml:whitespace="preserve">The implementor opens the given file.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file to open.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_file" c:identifier="ianjuta_file_get_file" throws="1">
        <doc xml:whitespace="preserve">Returns the file that was opened with ianjuta_file_open().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">The last file opened.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </method>
      <method name="open" c:identifier="ianjuta_file_open" throws="1">
        <doc xml:whitespace="preserve">The implementor opens the given file.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file to open.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="FileIface"
            c:type="IAnjutaFileIface"
            glib:is-gtype-struct-for="File">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_file">
        <callback name="get_file" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">The last file opened.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="File" c:type="IAnjutaFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="open">
        <callback name="open" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="File" c:type="IAnjutaFile*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">file to open.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="FileLoader"
               c:symbol-prefix="file_loader"
               c:type="IAnjutaFileLoader"
               glib:type-name="IAnjutaFileLoader"
               glib:get-type="ianjuta_file_loader_get_type"
               glib:type-struct="FileLoaderIface">
      <prerequisite name="Loader"/>
      <function name="error_quark"
                c:identifier="ianjuta_file_loader_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="load" invoker="load" introspectable="0" throws="1">
        <doc xml:whitespace="preserve">Determines a plugin which can open the given file, activates it
opening the file and returns the interface of the plugin activated.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Plugin interface used to load the file.</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">File to load</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="readonly" transfer-ownership="none">
            <doc xml:whitespace="preserve">Open in readonly mode.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="peek_interface"
                      invoker="peek_interface"
                      throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="load"
              c:identifier="ianjuta_file_loader_load"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Determines a plugin which can open the given file, activates it
opening the file and returns the interface of the plugin activated.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Plugin interface used to load the file.</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">File to load</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="readonly" transfer-ownership="none">
            <doc xml:whitespace="preserve">Open in readonly mode.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="peek_interface"
              c:identifier="ianjuta_file_loader_peek_interface"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="FileLoaderIface"
            c:type="IAnjutaFileLoaderIface"
            glib:is-gtype-struct-for="FileLoader">
      <field name="g_iface">
        <type name="LoaderIface" c:type="IAnjutaLoaderIface"/>
      </field>
      <field name="load" introspectable="0">
        <callback name="load" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">Plugin interface used to load the file.</doc>
            <type name="GObject.Object" c:type="GObject*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileLoader" c:type="IAnjutaFileLoader*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">File to load</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="readonly" transfer-ownership="none">
              <doc xml:whitespace="preserve">Open in readonly mode.</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="peek_interface">
        <callback name="peek_interface" throws="1">
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileLoader" c:type="IAnjutaFileLoader*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="FileManager"
               c:symbol-prefix="file_manager"
               c:type="IAnjutaFileManager"
               glib:type-name="IAnjutaFileManager"
               glib:get-type="ianjuta_file_manager_get_type"
               glib:type-struct="FileManagerIface">
      <function name="error_quark"
                c:identifier="ianjuta_file_manager_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="get_selected"
                      invoker="get_selected"
                      introspectable="0"
                      throws="1">
        <return-value>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="section_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_root" invoker="set_root" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="root_uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_selected" invoker="set_selected" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_selected"
              c:identifier="ianjuta_file_manager_get_selected"
              introspectable="0"
              throws="1">
        <return-value>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </method>
      <method name="set_root"
              c:identifier="ianjuta_file_manager_set_root"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="root_uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_selected"
              c:identifier="ianjuta_file_manager_set_selected"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="section-changed" when="last">
        <doc xml:whitespace="preserve">fixme</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="err" transfer-ownership="none">
            <doc xml:whitespace="preserve">Error propagation and reporting.</doc>
            <type name="Gio.File"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="FileManagerIface"
            c:type="IAnjutaFileManagerIface"
            glib:is-gtype-struct-for="FileManager">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="section_changed">
        <callback name="section_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileManager" c:type="IAnjutaFileManager*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_selected" introspectable="0">
        <callback name="get_selected" introspectable="0" throws="1">
          <return-value>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileManager" c:type="IAnjutaFileManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_root">
        <callback name="set_root" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileManager" c:type="IAnjutaFileManager*"/>
            </parameter>
            <parameter name="root_uri" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_selected">
        <callback name="set_selected" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileManager" c:type="IAnjutaFileManager*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="FileSavable"
               c:symbol-prefix="file_savable"
               c:type="IAnjutaFileSavable"
               glib:type-name="IAnjutaFileSavable"
               glib:get-type="ianjuta_file_savable_get_type"
               glib:type-struct="FileSavableIface">
      <prerequisite name="File"/>
      <function name="error_quark"
                c:identifier="ianjuta_file_savable_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="is_conflict" invoker="is_conflict" throws="1">
        <doc xml:whitespace="preserve">Return is the file is in conflict. It means the file
has been modified externally and the user needs to
tell which version he wants to use.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if conflict, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="is_dirty" invoker="is_dirty" throws="1">
        <doc xml:whitespace="preserve">Returns the dirty status of the content.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if dirty, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="is_read_only" invoker="is_read_only" throws="1">
        <doc xml:whitespace="preserve">Return is the file is read-only</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if read-only, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="save" invoker="save" throws="1">
        <doc xml:whitespace="preserve">Saves the content to the original file from which it was loaded.
The signal saved is always emitted even if the save fails.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="save_as" invoker="save_as" throws="1">
        <doc xml:whitespace="preserve">Saves the content to a different File.
The signal saved is always emitted even if the save fails.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">File to save the content.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_dirty" invoker="set_dirty" throws="1">
        <doc xml:whitespace="preserve">if @dirty is TRUE, sets dirty for the content. Save point will be
left and the content will be considered not saved. Otherwise,
content will considered saved and save-point will be entered.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="dirty" transfer-ownership="none">
            <doc xml:whitespace="preserve">Whether the file was edited or not</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_save_ui">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="is_conflict"
              c:identifier="ianjuta_file_savable_is_conflict"
              throws="1">
        <doc xml:whitespace="preserve">Return is the file is in conflict. It means the file
has been modified externally and the user needs to
tell which version he wants to use.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if conflict, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_dirty"
              c:identifier="ianjuta_file_savable_is_dirty"
              throws="1">
        <doc xml:whitespace="preserve">Returns the dirty status of the content.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if dirty, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_read_only"
              c:identifier="ianjuta_file_savable_is_read_only"
              throws="1">
        <doc xml:whitespace="preserve">Return is the file is read-only</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if read-only, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="save" c:identifier="ianjuta_file_savable_save" throws="1">
        <doc xml:whitespace="preserve">Saves the content to the original file from which it was loaded.
The signal saved is always emitted even if the save fails.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="save_as"
              c:identifier="ianjuta_file_savable_save_as"
              throws="1">
        <doc xml:whitespace="preserve">Saves the content to a different File.
The signal saved is always emitted even if the save fails.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">File to save the content.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dirty"
              c:identifier="ianjuta_file_savable_set_dirty"
              throws="1">
        <doc xml:whitespace="preserve">if @dirty is TRUE, sets dirty for the content. Save point will be
left and the content will be considered not saved. Otherwise,
content will considered saved and save-point will be entered.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="dirty" transfer-ownership="none">
            <doc xml:whitespace="preserve">Whether the file was edited or not</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="saved" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when the content is saved.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file where the content is saved or NULL if save failed</doc>
            <type name="Gio.File"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="update-save-ui" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </interface>
    <record name="FileSavableIface"
            c:type="IAnjutaFileSavableIface"
            glib:is-gtype-struct-for="FileSavable">
      <field name="g_iface">
        <type name="FileIface" c:type="IAnjutaFileIface"/>
      </field>
      <field name="saved">
        <callback name="saved">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileSavable" c:type="IAnjutaFileSavable*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_save_ui">
        <callback name="update_save_ui">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileSavable" c:type="IAnjutaFileSavable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_conflict">
        <callback name="is_conflict" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if conflict, FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileSavable" c:type="IAnjutaFileSavable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_dirty">
        <callback name="is_dirty" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if dirty, FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileSavable" c:type="IAnjutaFileSavable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_read_only">
        <callback name="is_read_only" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if read-only, FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileSavable" c:type="IAnjutaFileSavable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save">
        <callback name="save" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileSavable" c:type="IAnjutaFileSavable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_as">
        <callback name="save_as" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileSavable" c:type="IAnjutaFileSavable*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">File to save the content.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_dirty">
        <callback name="set_dirty" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="FileSavable" c:type="IAnjutaFileSavable*"/>
            </parameter>
            <parameter name="dirty" transfer-ownership="none">
              <doc xml:whitespace="preserve">Whether the file was edited or not</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Help"
               c:symbol-prefix="help"
               c:type="IAnjutaHelp"
               glib:type-name="IAnjutaHelp"
               glib:get-type="ianjuta_help_get_type"
               glib:type-struct="HelpIface">
      <function name="error_quark" c:identifier="ianjuta_help_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="search" invoker="search" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="search" c:identifier="ianjuta_help_search" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="query" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="HelpIface"
            c:type="IAnjutaHelpIface"
            glib:is-gtype-struct-for="Help">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="search">
        <callback name="search" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Help" c:type="IAnjutaHelp*"/>
            </parameter>
            <parameter name="query" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Indenter"
               c:symbol-prefix="indenter"
               c:type="IAnjutaIndenter"
               glib:type-name="IAnjutaIndenter"
               glib:get-type="ianjuta_indenter_get_type"
               glib:type-struct="IndenterIface">
      <function name="error_quark" c:identifier="ianjuta_indenter_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="indent" invoker="indent" throws="1">
        <doc xml:whitespace="preserve">Indent the area between @start and @end according to the indentation rules
of the programming language. Usually implemented by language support plugins.
Only one indenter can be loaded at a time.
Note: Indenters always affect full lines, so start and end will be moved
according to the next line start/end.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Start of the area to indent</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">End of the area to indent</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="indent" c:identifier="ianjuta_indenter_indent" throws="1">
        <doc xml:whitespace="preserve">Indent the area between @start and @end according to the indentation rules
of the programming language. Usually implemented by language support plugins.
Only one indenter can be loaded at a time.
Note: Indenters always affect full lines, so start and end will be moved
according to the next line start/end.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <doc xml:whitespace="preserve">Start of the area to indent</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:whitespace="preserve">End of the area to indent</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="IndenterIface"
            c:type="IAnjutaIndenterIface"
            glib:is-gtype-struct-for="Indenter">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="indent">
        <callback name="indent" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Indenter" c:type="IAnjutaIndenter*"/>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <doc xml:whitespace="preserve">Start of the area to indent</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <doc xml:whitespace="preserve">End of the area to indent</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Indicable"
               c:symbol-prefix="indicable"
               c:type="IAnjutaIndicable"
               glib:type-name="IAnjutaIndicable"
               glib:get-type="ianjuta_indicable_get_type"
               glib:type-struct="IndicableIface">
      <function name="error_quark"
                c:identifier="ianjuta_indicable_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="clear" invoker="clear" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set" invoker="set" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="begin_location" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end_location" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="indicator" transfer-ownership="none">
            <type name="IndicableIndicator"
                  c:type="IAnjutaIndicableIndicator"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="clear" c:identifier="ianjuta_indicable_clear" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set" c:identifier="ianjuta_indicable_set" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="begin_location" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="end_location" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="indicator" transfer-ownership="none">
            <type name="IndicableIndicator"
                  c:type="IAnjutaIndicableIndicator"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="IndicableIface"
            c:type="IAnjutaIndicableIface"
            glib:is-gtype-struct-for="Indicable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="clear">
        <callback name="clear" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Indicable" c:type="IAnjutaIndicable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set">
        <callback name="set" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Indicable" c:type="IAnjutaIndicable*"/>
            </parameter>
            <parameter name="begin_location" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="end_location" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="indicator" transfer-ownership="none">
              <type name="IndicableIndicator"
                    c:type="IAnjutaIndicableIndicator"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="IndicableIndicator"
                 glib:type-name="IAnjutaIndicableIndicator"
                 glib:get-type="ianjuta_indicable_indicator_get_type"
                 c:type="IAnjutaIndicableIndicator">
      <doc xml:whitespace="preserve">This enumeration is used to specify the appearance of the indicator</doc>
      <member name="none"
              value="0"
              c:identifier="IANJUTA_INDICABLE_NONE"
              glib:nick="none"/>
      <member name="important"
              value="1"
              c:identifier="IANJUTA_INDICABLE_IMPORTANT"
              glib:nick="important"/>
      <member name="warning"
              value="2"
              c:identifier="IANJUTA_INDICABLE_WARNING"
              glib:nick="warning"/>
      <member name="critical"
              value="3"
              c:identifier="IANJUTA_INDICABLE_CRITICAL"
              glib:nick="critical"/>
    </enumeration>
    <interface name="Iterable"
               c:symbol-prefix="iterable"
               c:type="IAnjutaIterable"
               glib:type-name="IAnjutaIterable"
               glib:get-type="ianjuta_iterable_get_type"
               glib:type-struct="IterableIface">
      <function name="error_quark" c:identifier="ianjuta_iterable_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="assign" invoker="assign" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="src_iter" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="clone" invoker="clone" throws="1">
        <doc xml:whitespace="preserve">Clones the iterable. The returned iterable object must be unreffed
when done.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A new instance of this iterable pointing at the same location.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="compare" invoker="compare" throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="iter2" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="diff" invoker="diff" throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="iter2" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="first" invoker="first" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="foreach"
                      invoker="foreach"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="GLib.Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_length" invoker="get_length" throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_position" invoker="get_position" throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="last" invoker="last" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="next" invoker="next" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="previous" invoker="previous" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set_position" invoker="set_position" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="assign" c:identifier="ianjuta_iterable_assign" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="src_iter" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clone" c:identifier="ianjuta_iterable_clone" throws="1">
        <doc xml:whitespace="preserve">Clones the iterable. The returned iterable object must be unreffed
when done.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A new instance of this iterable pointing at the same location.</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </method>
      <method name="compare"
              c:identifier="ianjuta_iterable_compare"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="iter2" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="diff" c:identifier="ianjuta_iterable_diff" throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="iter2" transfer-ownership="none">
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="first" c:identifier="ianjuta_iterable_first" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="foreach"
              c:identifier="ianjuta_iterable_foreach"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="GLib.Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_length"
              c:identifier="ianjuta_iterable_get_length"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_position"
              c:identifier="ianjuta_iterable_get_position"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="last" c:identifier="ianjuta_iterable_last" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="next" c:identifier="ianjuta_iterable_next" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="previous"
              c:identifier="ianjuta_iterable_previous"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_position"
              c:identifier="ianjuta_iterable_set_position"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="IterableIface"
            c:type="IAnjutaIterableIface"
            glib:is-gtype-struct-for="Iterable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="assign">
        <callback name="assign" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="src_iter" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="clone">
        <callback name="clone" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A new instance of this iterable pointing at the same location.</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="compare">
        <callback name="compare" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="iter2" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="diff">
        <callback name="diff" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="iter2" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="first">
        <callback name="first" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="foreach" introspectable="0">
        <callback name="foreach" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="GLib.Func" c:type="GFunc"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_length">
        <callback name="get_length" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_position">
        <callback name="get_position" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="last">
        <callback name="last" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="next">
        <callback name="next" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="previous">
        <callback name="previous" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_position">
        <callback name="set_position" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="IterableTree"
               c:symbol-prefix="iterable_tree"
               c:type="IAnjutaIterableTree"
               glib:type-name="IAnjutaIterableTree"
               glib:get-type="ianjuta_iterable_tree_get_type"
               glib:type-struct="IterableTreeIface">
      <prerequisite name="Iterable"/>
      <function name="error_quark"
                c:identifier="ianjuta_iterable_tree_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="children" invoker="children" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="foreach_post"
                      invoker="foreach_post"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="GLib.Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="foreach_pre"
                      invoker="foreach_pre"
                      introspectable="0"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="GLib.Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="has_children" invoker="has_children" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="parent" invoker="parent" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <method name="children"
              c:identifier="ianjuta_iterable_tree_children"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="foreach_post"
              c:identifier="ianjuta_iterable_tree_foreach_post"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="GLib.Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach_pre"
              c:identifier="ianjuta_iterable_tree_foreach_pre"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="callback" transfer-ownership="none" closure="1">
            <type name="GLib.Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_children"
              c:identifier="ianjuta_iterable_tree_has_children"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="parent"
              c:identifier="ianjuta_iterable_tree_parent"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </interface>
    <record name="IterableTreeIface"
            c:type="IAnjutaIterableTreeIface"
            glib:is-gtype-struct-for="IterableTree">
      <field name="g_iface">
        <type name="IterableIface" c:type="IAnjutaIterableIface"/>
      </field>
      <field name="children">
        <callback name="children" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="IterableTree" c:type="IAnjutaIterableTree*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="foreach_post" introspectable="0">
        <callback name="foreach_post" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="IterableTree" c:type="IAnjutaIterableTree*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="GLib.Func" c:type="GFunc"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="foreach_pre" introspectable="0">
        <callback name="foreach_pre" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="IterableTree" c:type="IAnjutaIterableTree*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="GLib.Func" c:type="GFunc"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="has_children">
        <callback name="has_children" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="IterableTree" c:type="IAnjutaIterableTree*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="parent">
        <callback name="parent" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="IterableTree" c:type="IAnjutaIterableTree*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Language"
               c:symbol-prefix="language"
               c:type="IAnjutaLanguage"
               glib:type-name="IAnjutaLanguage"
               glib:get-type="ianjuta_language_get_type"
               glib:type-struct="LanguageIface">
      <function name="error_quark" c:identifier="ianjuta_language_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="get_from_editor"
                      invoker="get_from_editor"
                      throws="1">
        <doc xml:whitespace="preserve">Conviniece method to get the id directly from the editor</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A valid language id or 0</doc>
          <type name="LanguageId" c:type="IAnjutaLanguageId"/>
        </return-value>
        <parameters>
          <parameter name="editor" transfer-ownership="none">
            <doc xml:whitespace="preserve">An object implementing IAnjutaEditorLanguage</doc>
            <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_from_mime_type"
                      invoker="get_from_mime_type"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="LanguageId" c:type="IAnjutaLanguageId"/>
        </return-value>
        <parameters>
          <parameter name="mime_type" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_from_string"
                      invoker="get_from_string"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="LanguageId" c:type="IAnjutaLanguageId"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_languages" invoker="get_languages" throws="1">
        <doc xml:whitespace="preserve">languages. Use GPOINTER_TO_INT() to receive them. The list but not the
values should be free'd with g_list_free()</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a list of ids of the available</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="gint"/>
          </type>
        </return-value>
      </virtual-method>
      <virtual-method name="get_make_target"
                      invoker="get_make_target"
                      throws="1">
        <doc xml:whitespace="preserve">make to compile the file, e.g. ".o" for C</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The suffix for the file thats needs to be passed to</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">A valid language id</doc>
            <type name="LanguageId" c:type="IAnjutaLanguageId"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_name" invoker="get_name" throws="1">
        <doc xml:whitespace="preserve">before that method the string you get here might be different to the one you passed 
because the language might have multiple string representations</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The main name of the language. When you call ianjuta_language_from_string()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">A valid language id</doc>
            <type name="LanguageId" c:type="IAnjutaLanguageId"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_name_from_editor"
                      invoker="get_name_from_editor"
                      throws="1">
        <doc xml:whitespace="preserve">Conviniece method to get the name directly from the editor</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A language name or NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="editor" transfer-ownership="none">
            <doc xml:whitespace="preserve">An object implementing IAnjutaEditorLanguage</doc>
            <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_strings"
                      invoker="get_strings"
                      introspectable="0"
                      throws="1">
        <return-value>
          <doc xml:whitespace="preserve">A list of strings that represent this language that language</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">A valid language id</doc>
            <type name="LanguageId" c:type="IAnjutaLanguageId"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_from_editor"
              c:identifier="ianjuta_language_get_from_editor"
              throws="1">
        <doc xml:whitespace="preserve">Conviniece method to get the id directly from the editor</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A valid language id or 0</doc>
          <type name="LanguageId" c:type="IAnjutaLanguageId"/>
        </return-value>
        <parameters>
          <parameter name="editor" transfer-ownership="none">
            <doc xml:whitespace="preserve">An object implementing IAnjutaEditorLanguage</doc>
            <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_from_mime_type"
              c:identifier="ianjuta_language_get_from_mime_type"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="LanguageId" c:type="IAnjutaLanguageId"/>
        </return-value>
        <parameters>
          <parameter name="mime_type" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_from_string"
              c:identifier="ianjuta_language_get_from_string"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="LanguageId" c:type="IAnjutaLanguageId"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_languages"
              c:identifier="ianjuta_language_get_languages"
              throws="1">
        <doc xml:whitespace="preserve">languages. Use GPOINTER_TO_INT() to receive them. The list but not the
values should be free'd with g_list_free()</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a list of ids of the available</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="gint"/>
          </type>
        </return-value>
      </method>
      <method name="get_make_target"
              c:identifier="ianjuta_language_get_make_target"
              throws="1">
        <doc xml:whitespace="preserve">make to compile the file, e.g. ".o" for C</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The suffix for the file thats needs to be passed to</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">A valid language id</doc>
            <type name="LanguageId" c:type="IAnjutaLanguageId"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="ianjuta_language_get_name"
              throws="1">
        <doc xml:whitespace="preserve">before that method the string you get here might be different to the one you passed 
because the language might have multiple string representations</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The main name of the language. When you call ianjuta_language_from_string()</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">A valid language id</doc>
            <type name="LanguageId" c:type="IAnjutaLanguageId"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_name_from_editor"
              c:identifier="ianjuta_language_get_name_from_editor"
              throws="1">
        <doc xml:whitespace="preserve">Conviniece method to get the name directly from the editor</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A language name or NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="editor" transfer-ownership="none">
            <doc xml:whitespace="preserve">An object implementing IAnjutaEditorLanguage</doc>
            <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_strings"
              c:identifier="ianjuta_language_get_strings"
              introspectable="0"
              throws="1">
        <return-value>
          <doc xml:whitespace="preserve">A list of strings that represent this language that language</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">A valid language id</doc>
            <type name="LanguageId" c:type="IAnjutaLanguageId"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="LanguageIface"
            c:type="IAnjutaLanguageIface"
            glib:is-gtype-struct-for="Language">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_from_editor">
        <callback name="get_from_editor" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">A valid language id or 0</doc>
            <type name="LanguageId" c:type="IAnjutaLanguageId"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Language" c:type="IAnjutaLanguage*"/>
            </parameter>
            <parameter name="editor" transfer-ownership="none">
              <doc xml:whitespace="preserve">An object implementing IAnjutaEditorLanguage</doc>
              <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_from_mime_type">
        <callback name="get_from_mime_type" throws="1">
          <return-value transfer-ownership="none">
            <type name="LanguageId" c:type="IAnjutaLanguageId"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Language" c:type="IAnjutaLanguage*"/>
            </parameter>
            <parameter name="mime_type" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_from_string">
        <callback name="get_from_string" throws="1">
          <return-value transfer-ownership="none">
            <type name="LanguageId" c:type="IAnjutaLanguageId"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Language" c:type="IAnjutaLanguage*"/>
            </parameter>
            <parameter name="string" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_languages">
        <callback name="get_languages" throws="1">
          <return-value transfer-ownership="container">
            <doc xml:whitespace="preserve">a list of ids of the available</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="gint"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Language" c:type="IAnjutaLanguage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_make_target">
        <callback name="get_make_target" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The suffix for the file thats needs to be passed to</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Language" c:type="IAnjutaLanguage*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <doc xml:whitespace="preserve">A valid language id</doc>
              <type name="LanguageId" c:type="IAnjutaLanguageId"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_name">
        <callback name="get_name" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The main name of the language. When you call ianjuta_language_from_string()</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Language" c:type="IAnjutaLanguage*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <doc xml:whitespace="preserve">A valid language id</doc>
              <type name="LanguageId" c:type="IAnjutaLanguageId"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_name_from_editor">
        <callback name="get_name_from_editor" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">A language name or NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Language" c:type="IAnjutaLanguage*"/>
            </parameter>
            <parameter name="editor" transfer-ownership="none">
              <doc xml:whitespace="preserve">An object implementing IAnjutaEditorLanguage</doc>
              <type name="EditorLanguage" c:type="IAnjutaEditorLanguage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_strings" introspectable="0">
        <callback name="get_strings" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">A list of strings that represent this language that language</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Language" c:type="IAnjutaLanguage*"/>
            </parameter>
            <parameter name="id" transfer-ownership="none">
              <doc xml:whitespace="preserve">A valid language id</doc>
              <type name="LanguageId" c:type="IAnjutaLanguageId"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Loader"
               c:symbol-prefix="loader"
               c:type="IAnjutaLoader"
               glib:type-name="IAnjutaLoader"
               glib:get-type="ianjuta_loader_get_type"
               glib:type-struct="LoaderIface">
      <function name="error_quark" c:identifier="ianjuta_loader_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="find_plugins"
                      invoker="find_plugins"
                      introspectable="0"
                      throws="1">
        <return-value>
          <doc xml:whitespace="preserve">all plugins supporting loader interface.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Anjuta.Plugin"/>
          </type>
        </return-value>
      </virtual-method>
      <method name="find_plugins"
              c:identifier="ianjuta_loader_find_plugins"
              introspectable="0"
              throws="1">
        <return-value>
          <doc xml:whitespace="preserve">all plugins supporting loader interface.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Anjuta.Plugin"/>
          </type>
        </return-value>
      </method>
    </interface>
    <record name="LoaderIface"
            c:type="IAnjutaLoaderIface"
            glib:is-gtype-struct-for="Loader">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="find_plugins" introspectable="0">
        <callback name="find_plugins" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">all plugins supporting loader interface.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Anjuta.Plugin"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Loader" c:type="IAnjutaLoader*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Markable"
               c:symbol-prefix="markable"
               c:type="IAnjutaMarkable"
               glib:type-name="IAnjutaMarkable"
               glib:get-type="ianjuta_markable_get_type"
               glib:type-struct="MarkableIface">
      <virtual-method name="delete_all_markers"
                      invoker="delete_all_markers"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="marker" transfer-ownership="none">
            <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_marker_set" invoker="is_marker_set" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="marker" transfer-ownership="none">
            <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="location_from_handle"
                      invoker="location_from_handle"
                      throws="1">
        <doc xml:whitespace="preserve">Location where a marker is set could have moved by some operation in
the implementation. To retrieve the correct location where the marker
has moved, pass the handle retured by ianjuta_markable_mark() to this
method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Current location where the marker was set.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="handle" transfer-ownership="none">
            <doc xml:whitespace="preserve">Handle of location.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="mark" invoker="mark" throws="1">
        <doc xml:whitespace="preserve">Marks the specified location with the given marker type. Location is
implementation depenedent. For example, for an editor location means
lines where markers are set.

new location, if it has been moved due to addetions/deletions in the
implementor object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Handle of the location marked. Can be used later to obtain</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <doc xml:whitespace="preserve">Location at which the marker to set.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="marker" transfer-ownership="none">
            <doc xml:whitespace="preserve">Type of marker to be used</doc>
            <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
          </parameter>
          <parameter name="tooltip" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">optional tooltip displayed with the marker</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="marker_clicked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="double_click" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="location" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unmark" invoker="unmark" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="marker" transfer-ownership="none">
            <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="delete_all_markers"
              c:identifier="ianjuta_markable_delete_all_markers"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="marker" transfer-ownership="none">
            <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_marker_set"
              c:identifier="ianjuta_markable_is_marker_set"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="marker" transfer-ownership="none">
            <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
          </parameter>
        </parameters>
      </method>
      <method name="location_from_handle"
              c:identifier="ianjuta_markable_location_from_handle"
              throws="1">
        <doc xml:whitespace="preserve">Location where a marker is set could have moved by some operation in
the implementation. To retrieve the correct location where the marker
has moved, pass the handle retured by ianjuta_markable_mark() to this
method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Current location where the marker was set.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="handle" transfer-ownership="none">
            <doc xml:whitespace="preserve">Handle of location.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="mark" c:identifier="ianjuta_markable_mark" throws="1">
        <doc xml:whitespace="preserve">Marks the specified location with the given marker type. Location is
implementation depenedent. For example, for an editor location means
lines where markers are set.

new location, if it has been moved due to addetions/deletions in the
implementor object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Handle of the location marked. Can be used later to obtain</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <doc xml:whitespace="preserve">Location at which the marker to set.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="marker" transfer-ownership="none">
            <doc xml:whitespace="preserve">Type of marker to be used</doc>
            <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
          </parameter>
          <parameter name="tooltip" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">optional tooltip displayed with the marker</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unmark" c:identifier="ianjuta_markable_unmark" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="marker" transfer-ownership="none">
            <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="marker-clicked" when="last">
        <doc xml:whitespace="preserve">The signal is emitted when the user clicks on a marker</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="double_click" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether the marker was double clicked</doc>
            <type name="gboolean"/>
          </parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:whitespace="preserve">location of the clicked marker</doc>
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <enumeration name="MarkableError"
                 glib:type-name="IAnjutaMarkableError"
                 glib:get-type="ianjuta_markable_error_get_type"
                 c:type="IAnjutaMarkableError">
      <member name="invalid_location"
              value="0"
              c:identifier="IANJUTA_MARKABLE_INVALID_LOCATION"
              glib:nick="invalid-location"/>
      <function name="quark" c:identifier="ianjuta_markable_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="MarkableIface"
            c:type="IAnjutaMarkableIface"
            glib:is-gtype-struct-for="Markable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="marker_clicked">
        <callback name="marker_clicked">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Markable" c:type="IAnjutaMarkable*"/>
            </parameter>
            <parameter name="double_click" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="location" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="delete_all_markers">
        <callback name="delete_all_markers" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Markable" c:type="IAnjutaMarkable*"/>
            </parameter>
            <parameter name="marker" transfer-ownership="none">
              <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_marker_set">
        <callback name="is_marker_set" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Markable" c:type="IAnjutaMarkable*"/>
            </parameter>
            <parameter name="location" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="marker" transfer-ownership="none">
              <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="location_from_handle">
        <callback name="location_from_handle" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">Current location where the marker was set.</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Markable" c:type="IAnjutaMarkable*"/>
            </parameter>
            <parameter name="handle" transfer-ownership="none">
              <doc xml:whitespace="preserve">Handle of location.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="mark">
        <callback name="mark" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">Handle of the location marked. Can be used later to obtain</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Markable" c:type="IAnjutaMarkable*"/>
            </parameter>
            <parameter name="location" transfer-ownership="none">
              <doc xml:whitespace="preserve">Location at which the marker to set.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="marker" transfer-ownership="none">
              <doc xml:whitespace="preserve">Type of marker to be used</doc>
              <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
            </parameter>
            <parameter name="tooltip" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">optional tooltip displayed with the marker</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unmark">
        <callback name="unmark" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Markable" c:type="IAnjutaMarkable*"/>
            </parameter>
            <parameter name="location" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="marker" transfer-ownership="none">
              <type name="MarkableMarker" c:type="IAnjutaMarkableMarker"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="MarkableMarker"
                 glib:type-name="IAnjutaMarkableMarker"
                 glib:get-type="ianjuta_markable_marker_get_type"
                 c:type="IAnjutaMarkableMarker">
      <doc xml:whitespace="preserve">This enumeration is used to specify the pixmap used for the marker</doc>
      <member name="linemarker"
              value="0"
              c:identifier="IANJUTA_MARKABLE_LINEMARKER"
              glib:nick="linemarker"/>
      <member name="bookmark"
              value="1"
              c:identifier="IANJUTA_MARKABLE_BOOKMARK"
              glib:nick="bookmark"/>
      <member name="message"
              value="2"
              c:identifier="IANJUTA_MARKABLE_MESSAGE"
              glib:nick="message"/>
      <member name="breakpoint_disabled"
              value="3"
              c:identifier="IANJUTA_MARKABLE_BREAKPOINT_DISABLED"
              glib:nick="breakpoint-disabled"/>
      <member name="breakpoint_enabled"
              value="4"
              c:identifier="IANJUTA_MARKABLE_BREAKPOINT_ENABLED"
              glib:nick="breakpoint-enabled"/>
      <member name="program_counter"
              value="5"
              c:identifier="IANJUTA_MARKABLE_PROGRAM_COUNTER"
              glib:nick="program-counter"/>
    </enumeration>
    <interface name="MessageManager"
               c:symbol-prefix="message_manager"
               c:type="IAnjutaMessageManager"
               glib:type-name="IAnjutaMessageManager"
               glib:get-type="ianjuta_message_manager_get_type"
               glib:type-struct="MessageManagerIface">
      <virtual-method name="add_view"
                      invoker="add_view"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Adds a new view to the message-manager</doc>
        <return-value>
          <doc xml:whitespace="preserve">The new message-view</doc>
          <type name="MessageView" c:type="IAnjutaMessageView*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name/Title of the new view</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Path to an icon or ""</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_all_views"
                      invoker="get_all_views"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Get all message-views

manipulate the list.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A GList* of all views. You must not</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="MessageView"/>
          </type>
        </return-value>
      </virtual-method>
      <virtual-method name="get_current_view"
                      invoker="get_current_view"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Get the view with is currently on top of 
the notebook or NULL if the message-manager is empty.

NULL, if there is no views.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Current view; #IAnjutaMessageView object.</doc>
          <type name="MessageView" c:type="IAnjutaMessageView*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_view_by_name"
                      invoker="get_view_by_name"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Get the view with the given name or NULL if
it does not exist.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The message-view or NULL</doc>
          <type name="MessageView" c:type="IAnjutaMessageView*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name/Title of the view</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_view" invoker="remove_view" throws="1">
        <doc xml:whitespace="preserve">Remove view from the message-manager. The view
will become invalid.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">The view to remove</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_current_view"
                      invoker="set_current_view"
                      throws="1">
        <doc xml:whitespace="preserve">Set view to be on top of the notebook.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">A message view</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_view_icon" invoker="set_view_icon" throws="1">
        <doc xml:whitespace="preserve">Sets the icon of view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">A message view</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Sets the icon of view.</doc>
            <type name="GdkPixbuf.PixbufAnimation"
                  c:type="GdkPixbufAnimation*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_view_icon_from_stock"
                      invoker="set_view_icon_from_stock"
                      throws="1">
        <doc xml:whitespace="preserve">Sets the icon of view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">A message view</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Sets the icon of view.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_view_title"
                      invoker="set_view_title"
                      throws="1">
        <doc xml:whitespace="preserve">Sets the title of view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">A message view</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">Sets the title of view.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_view"
              c:identifier="ianjuta_message_manager_add_view"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Adds a new view to the message-manager</doc>
        <return-value>
          <doc xml:whitespace="preserve">The new message-view</doc>
          <type name="MessageView" c:type="IAnjutaMessageView*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name/Title of the new view</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Path to an icon or ""</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_all_views"
              c:identifier="ianjuta_message_manager_get_all_views"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Get all message-views

manipulate the list.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A GList* of all views. You must not</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="MessageView"/>
          </type>
        </return-value>
      </method>
      <method name="get_current_view"
              c:identifier="ianjuta_message_manager_get_current_view"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Get the view with is currently on top of 
the notebook or NULL if the message-manager is empty.

NULL, if there is no views.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Current view; #IAnjutaMessageView object.</doc>
          <type name="MessageView" c:type="IAnjutaMessageView*"/>
        </return-value>
      </method>
      <method name="get_view_by_name"
              c:identifier="ianjuta_message_manager_get_view_by_name"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Get the view with the given name or NULL if
it does not exist.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The message-view or NULL</doc>
          <type name="MessageView" c:type="IAnjutaMessageView*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name/Title of the view</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_view"
              c:identifier="ianjuta_message_manager_remove_view"
              throws="1">
        <doc xml:whitespace="preserve">Remove view from the message-manager. The view
will become invalid.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">The view to remove</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_view"
              c:identifier="ianjuta_message_manager_set_current_view"
              throws="1">
        <doc xml:whitespace="preserve">Set view to be on top of the notebook.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">A message view</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_view_icon"
              c:identifier="ianjuta_message_manager_set_view_icon"
              throws="1">
        <doc xml:whitespace="preserve">Sets the icon of view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">A message view</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Sets the icon of view.</doc>
            <type name="GdkPixbuf.PixbufAnimation"
                  c:type="GdkPixbufAnimation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_view_icon_from_stock"
              c:identifier="ianjuta_message_manager_set_view_icon_from_stock"
              throws="1">
        <doc xml:whitespace="preserve">Sets the icon of view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">A message view</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Sets the icon of view.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_view_title"
              c:identifier="ianjuta_message_manager_set_view_title"
              throws="1">
        <doc xml:whitespace="preserve">Sets the title of view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:whitespace="preserve">A message view</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">Sets the title of view.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <enumeration name="MessageManagerError"
                 glib:type-name="IAnjutaMessageManagerError"
                 glib:get-type="ianjuta_message_manager_error_get_type"
                 c:type="IAnjutaMessageManagerError">
      <member name="doesnt_exist"
              value="0"
              c:identifier="IANJUTA_MESSAGE_MANAGER_DOESNT_EXIST"
              glib:nick="doesnt-exist"/>
      <function name="quark"
                c:identifier="ianjuta_message_manager_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="MessageManagerIface"
            c:type="IAnjutaMessageManagerIface"
            glib:is-gtype-struct-for="MessageManager">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="add_view" introspectable="0">
        <callback name="add_view" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">The new message-view</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageManager" c:type="IAnjutaMessageManager*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name/Title of the new view</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="icon" transfer-ownership="none">
              <doc xml:whitespace="preserve">Path to an icon or ""</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_all_views" introspectable="0">
        <callback name="get_all_views" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">A GList* of all views. You must not</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="MessageView"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageManager" c:type="IAnjutaMessageManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_current_view" introspectable="0">
        <callback name="get_current_view" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">Current view; #IAnjutaMessageView object.</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageManager" c:type="IAnjutaMessageManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_view_by_name" introspectable="0">
        <callback name="get_view_by_name" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">The message-view or NULL</doc>
            <type name="MessageView" c:type="IAnjutaMessageView*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageManager" c:type="IAnjutaMessageManager*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name/Title of the view</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_view">
        <callback name="remove_view" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageManager" c:type="IAnjutaMessageManager*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <doc xml:whitespace="preserve">The view to remove</doc>
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_current_view">
        <callback name="set_current_view" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageManager" c:type="IAnjutaMessageManager*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <doc xml:whitespace="preserve">A message view</doc>
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_view_icon">
        <callback name="set_view_icon" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageManager" c:type="IAnjutaMessageManager*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <doc xml:whitespace="preserve">A message view</doc>
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
            <parameter name="icon" transfer-ownership="none">
              <doc xml:whitespace="preserve">Sets the icon of view.</doc>
              <type name="GdkPixbuf.PixbufAnimation"
                    c:type="GdkPixbufAnimation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_view_icon_from_stock">
        <callback name="set_view_icon_from_stock" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageManager" c:type="IAnjutaMessageManager*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <doc xml:whitespace="preserve">A message view</doc>
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
            <parameter name="icon" transfer-ownership="none">
              <doc xml:whitespace="preserve">Sets the icon of view.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_view_title">
        <callback name="set_view_title" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageManager" c:type="IAnjutaMessageManager*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <doc xml:whitespace="preserve">A message view</doc>
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
            <parameter name="title" transfer-ownership="none">
              <doc xml:whitespace="preserve">Sets the title of view.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="MessageView"
               c:symbol-prefix="message_view"
               c:type="IAnjutaMessageView"
               glib:type-name="IAnjutaMessageView"
               glib:get-type="ianjuta_message_view_get_type"
               glib:type-struct="MessageViewIface">
      <function name="error_quark"
                c:identifier="ianjuta_message_view_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="append" invoker="append" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="MessageViewType" c:type="IAnjutaMessageViewType"/>
          </parameter>
          <parameter name="summary" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="details" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="buffer_append" invoker="buffer_append" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="buffer_flushed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="line" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="clear" invoker="clear" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_all_messages"
                      invoker="get_all_messages"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Get a list of all messages. The list has to be freed</doc>
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </virtual-method>
      <virtual-method name="get_current_message"
                      invoker="get_current_message"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="message_clicked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="select_next" invoker="select_next" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="select_previous"
                      invoker="select_previous"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="append"
              c:identifier="ianjuta_message_view_append"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="MessageViewType" c:type="IAnjutaMessageViewType"/>
          </parameter>
          <parameter name="summary" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="details" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="buffer_append"
              c:identifier="ianjuta_message_view_buffer_append"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear"
              c:identifier="ianjuta_message_view_clear"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_all_messages"
              c:identifier="ianjuta_message_view_get_all_messages"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Get a list of all messages. The list has to be freed</doc>
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </method>
      <method name="get_current_message"
              c:identifier="ianjuta_message_view_get_current_message"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="select_next"
              c:identifier="ianjuta_message_view_select_next"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="select_previous"
              c:identifier="ianjuta_message_view_select_previous"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <glib:signal name="buffer-flushed" when="last">
        <doc xml:whitespace="preserve">Emitted when #ianjuta_message_view_buffer_append found a newline</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="line" transfer-ownership="none">
            <doc xml:whitespace="preserve">the current line</doc>
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="message-clicked" when="last">
        <doc xml:whitespace="preserve">Emitted when the user clicks on a message</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <doc xml:whitespace="preserve">text of the clicked message</doc>
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="MessageViewIface"
            c:type="IAnjutaMessageViewIface"
            glib:is-gtype-struct-for="MessageView">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="buffer_flushed">
        <callback name="buffer_flushed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="message_clicked">
        <callback name="message_clicked">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
            <parameter name="message" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="append">
        <callback name="append" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
            <parameter name="type" transfer-ownership="none">
              <type name="MessageViewType" c:type="IAnjutaMessageViewType"/>
            </parameter>
            <parameter name="summary" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="details" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="buffer_append">
        <callback name="buffer_append" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="clear">
        <callback name="clear" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_all_messages" introspectable="0">
        <callback name="get_all_messages" introspectable="0" throws="1">
          <return-value>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_current_message">
        <callback name="get_current_message" throws="1">
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="select_next">
        <callback name="select_next" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="select_previous">
        <callback name="select_previous" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="MessageView" c:type="IAnjutaMessageView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="MessageViewType"
                 glib:type-name="IAnjutaMessageViewType"
                 glib:get-type="ianjuta_message_view_type_get_type"
                 c:type="IAnjutaMessageViewType">
      <doc xml:whitespace="preserve">Speficy the type ot the message added to the message view</doc>
      <member name="type_normal"
              value="0"
              c:identifier="IANJUTA_MESSAGE_VIEW_TYPE_NORMAL"
              glib:nick="type-normal"/>
      <member name="type_info"
              value="1"
              c:identifier="IANJUTA_MESSAGE_VIEW_TYPE_INFO"
              glib:nick="type-info"/>
      <member name="type_warning"
              value="2"
              c:identifier="IANJUTA_MESSAGE_VIEW_TYPE_WARNING"
              glib:nick="type-warning"/>
      <member name="type_error"
              value="3"
              c:identifier="IANJUTA_MESSAGE_VIEW_TYPE_ERROR"
              glib:nick="type-error"/>
    </enumeration>
    <constant name="PROJECT_MANAGER_CURRENT_PROJECT"
              value="project_manager_current_project"
              c:type="IANJUTA_PROJECT_MANAGER_CURRENT_PROJECT">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PROJECT_MANAGER_CURRENT_URI"
              value="project_manager_current_uri"
              c:type="IANJUTA_PROJECT_MANAGER_CURRENT_URI">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PROJECT_MANAGER_PROJECT_ROOT_URI"
              value="project_root_uri"
              c:type="IANJUTA_PROJECT_MANAGER_PROJECT_ROOT_URI">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <interface name="PluginFactory"
               c:symbol-prefix="plugin_factory"
               c:type="IAnjutaPluginFactory"
               glib:type-name="IAnjutaPluginFactory"
               glib:get-type="ianjuta_plugin_factory_get_type"
               glib:type-struct="PluginFactoryIface">
      <virtual-method name="new_plugin"
                      invoker="new_plugin"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Create a new AnjutaPlugin object from the plugin information handle,
give it the AnjutaShell object as argument.</doc>
        <return-value>
          <doc xml:whitespace="preserve">a new plugin object</doc>
          <type name="Anjuta.Plugin" c:type="AnjutaPlugin*"/>
        </return-value>
        <parameters>
          <parameter name="handle" transfer-ownership="none">
            <doc xml:whitespace="preserve">Plugin information</doc>
            <type name="Anjuta.PluginHandle" c:type="AnjutaPluginHandle*"/>
          </parameter>
          <parameter name="shell" transfer-ownership="none">
            <doc xml:whitespace="preserve">Anjuta shell</doc>
            <type name="Anjuta.Shell" c:type="AnjutaShell*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="new_plugin"
              c:identifier="ianjuta_plugin_factory_new_plugin"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Create a new AnjutaPlugin object from the plugin information handle,
give it the AnjutaShell object as argument.</doc>
        <return-value>
          <doc xml:whitespace="preserve">a new plugin object</doc>
          <type name="Anjuta.Plugin" c:type="AnjutaPlugin*"/>
        </return-value>
        <parameters>
          <parameter name="handle" transfer-ownership="none">
            <doc xml:whitespace="preserve">Plugin information</doc>
            <type name="Anjuta.PluginHandle" c:type="AnjutaPluginHandle*"/>
          </parameter>
          <parameter name="shell" transfer-ownership="none">
            <doc xml:whitespace="preserve">Anjuta shell</doc>
            <type name="Anjuta.Shell" c:type="AnjutaShell*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <enumeration name="PluginFactoryError"
                 glib:type-name="IAnjutaPluginFactoryError"
                 glib:get-type="ianjuta_plugin_factory_error_get_type"
                 c:type="IAnjutaPluginFactoryError">
      <doc xml:whitespace="preserve">These enumeration is used to specify errors.</doc>
      <member name="ok"
              value="0"
              c:identifier="IANJUTA_PLUGIN_FACTORY_OK"
              glib:nick="ok"/>
      <member name="missing_location"
              value="1"
              c:identifier="IANJUTA_PLUGIN_FACTORY_MISSING_LOCATION"
              glib:nick="missing-location"/>
      <member name="missing_type"
              value="2"
              c:identifier="IANJUTA_PLUGIN_FACTORY_MISSING_TYPE"
              glib:nick="missing-type"/>
      <member name="missing_module"
              value="3"
              c:identifier="IANJUTA_PLUGIN_FACTORY_MISSING_MODULE"
              glib:nick="missing-module"/>
      <member name="invalid_module"
              value="4"
              c:identifier="IANJUTA_PLUGIN_FACTORY_INVALID_MODULE"
              glib:nick="invalid-module"/>
      <member name="missing_function"
              value="5"
              c:identifier="IANJUTA_PLUGIN_FACTORY_MISSING_FUNCTION"
              glib:nick="missing-function"/>
      <member name="invalid_type"
              value="6"
              c:identifier="IANJUTA_PLUGIN_FACTORY_INVALID_TYPE"
              glib:nick="invalid-type"/>
      <member name="unknown_error"
              value="7"
              c:identifier="IANJUTA_PLUGIN_FACTORY_UNKNOWN_ERROR"
              glib:nick="unknown-error"/>
      <function name="quark" c:identifier="ianjuta_plugin_factory_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="PluginFactoryIface"
            c:type="IAnjutaPluginFactoryIface"
            glib:is-gtype-struct-for="PluginFactory">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="new_plugin" introspectable="0">
        <callback name="new_plugin" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">a new plugin object</doc>
            <type name="Anjuta.Plugin" c:type="AnjutaPlugin*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="PluginFactory" c:type="IAnjutaPluginFactory*"/>
            </parameter>
            <parameter name="handle" transfer-ownership="none">
              <doc xml:whitespace="preserve">Plugin information</doc>
              <type name="Anjuta.PluginHandle" c:type="AnjutaPluginHandle*"/>
            </parameter>
            <parameter name="shell" transfer-ownership="none">
              <doc xml:whitespace="preserve">Anjuta shell</doc>
              <type name="Anjuta.Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Preferences"
               c:symbol-prefix="preferences"
               c:type="IAnjutaPreferences"
               glib:type-name="IAnjutaPreferences"
               glib:get-type="ianjuta_preferences_get_type"
               glib:type-struct="PreferencesIface">
      <function name="error_quark"
                c:identifier="ianjuta_preferences_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="merge" invoker="merge" throws="1">
        <doc xml:whitespace="preserve">When called, the plugin should install it's preferences</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="prefs" transfer-ownership="none">
            <doc xml:whitespace="preserve">AnjutaPreferences to install to</doc>
            <type name="Anjuta.Preferences" c:type="AnjutaPreferences*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unmerge" invoker="unmerge" throws="1">
        <doc xml:whitespace="preserve">When called, the plugin should uninstall it's preferences</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="prefs" transfer-ownership="none">
            <doc xml:whitespace="preserve">AnjutaPreferences to install to</doc>
            <type name="Anjuta.Preferences" c:type="AnjutaPreferences*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="merge" c:identifier="ianjuta_preferences_merge" throws="1">
        <doc xml:whitespace="preserve">When called, the plugin should install it's preferences</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="prefs" transfer-ownership="none">
            <doc xml:whitespace="preserve">AnjutaPreferences to install to</doc>
            <type name="Anjuta.Preferences" c:type="AnjutaPreferences*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unmerge"
              c:identifier="ianjuta_preferences_unmerge"
              throws="1">
        <doc xml:whitespace="preserve">When called, the plugin should uninstall it's preferences</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="prefs" transfer-ownership="none">
            <doc xml:whitespace="preserve">AnjutaPreferences to install to</doc>
            <type name="Anjuta.Preferences" c:type="AnjutaPreferences*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="PreferencesIface"
            c:type="IAnjutaPreferencesIface"
            glib:is-gtype-struct-for="Preferences">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="merge">
        <callback name="merge" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Preferences" c:type="IAnjutaPreferences*"/>
            </parameter>
            <parameter name="prefs" transfer-ownership="none">
              <doc xml:whitespace="preserve">AnjutaPreferences to install to</doc>
              <type name="Anjuta.Preferences" c:type="AnjutaPreferences*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unmerge">
        <callback name="unmerge" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Preferences" c:type="IAnjutaPreferences*"/>
            </parameter>
            <parameter name="prefs" transfer-ownership="none">
              <doc xml:whitespace="preserve">AnjutaPreferences to install to</doc>
              <type name="Anjuta.Preferences" c:type="AnjutaPreferences*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Print"
               c:symbol-prefix="print"
               c:type="IAnjutaPrint"
               glib:type-name="IAnjutaPrint"
               glib:get-type="ianjuta_print_get_type"
               glib:type-struct="PrintIface">
      <function name="error_quark" c:identifier="ianjuta_print_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="print" invoker="print" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="print_preview" invoker="print_preview" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="print" c:identifier="ianjuta_print_print" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="print_preview"
              c:identifier="ianjuta_print_print_preview"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </interface>
    <record name="PrintIface"
            c:type="IAnjutaPrintIface"
            glib:is-gtype-struct-for="Print">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="print">
        <callback name="print" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Print" c:type="IAnjutaPrint*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="print_preview">
        <callback name="print_preview" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Print" c:type="IAnjutaPrint*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Project"
               c:symbol-prefix="project"
               c:type="IAnjutaProject"
               glib:type-name="IAnjutaProject"
               glib:get-type="ianjuta_project_get_type"
               glib:type-struct="ProjectIface">
      <virtual-method name="add_node_after"
                      invoker="add_node_after"
                      throws="1">
        <doc xml:whitespace="preserve">Create a new node and insert it after sibling</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The new node, NULL if error</doc>
          <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:whitespace="preserve">Parent</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="sibling" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Sibling</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">Node type</doc>
            <type name="Anjuta.ProjectNodeType"
                  c:type="AnjutaProjectNodeType"/>
          </parameter>
          <parameter name="file" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Optional file object for the node</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Optional name for the node</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_node_before"
                      invoker="add_node_before"
                      throws="1">
        <doc xml:whitespace="preserve">Create a new node and insert it before sibling</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The new node, NULL if error</doc>
          <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:whitespace="preserve">Parent</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="sibling" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Sibling</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">Node type</doc>
            <type name="Anjuta.ProjectNodeType"
                  c:type="AnjutaProjectNodeType"/>
          </parameter>
          <parameter name="file" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Optional file object for the node</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Optional name for the node</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="file_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_node_info" invoker="get_node_info" throws="1">
        <doc xml:whitespace="preserve">Return a list of possible node;

containing information on all node supported by the project.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A list</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Anjuta.ProjectNodeInfo"/>
          </type>
        </return-value>
      </virtual-method>
      <virtual-method name="get_root" invoker="get_root" throws="1">
        <doc xml:whitespace="preserve">Get root_node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The root node</doc>
          <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="is_loaded" invoker="is_loaded" throws="1">
        <doc xml:whitespace="preserve">Return TRUE if the project is loaded;</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the project is completely loaded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="load_node" invoker="load_node" throws="1">
        <doc xml:whitespace="preserve">Reload a project node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the node has been loaded without error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Project node to reload</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="node_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="node_loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="node_saved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_node" invoker="remove_node" throws="1">
        <doc xml:whitespace="preserve">Remove a node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the node can be removed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Node</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_property"
                      invoker="remove_property"
                      throws="1">
        <doc xml:whitespace="preserve">Remove a property of the node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the node is removed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Node</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property</doc>
            <type name="Anjuta.ProjectProperty"
                  c:type="AnjutaProjectProperty*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_node" invoker="save_node" throws="1">
        <doc xml:whitespace="preserve">Save a project node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the node has been saved without error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Project node to save</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_property" invoker="set_property" throws="1">
        <doc xml:whitespace="preserve">Change a properties on node.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The new property of NULL if the property cannot be set</doc>
          <type name="Anjuta.ProjectProperty" c:type="AnjutaProjectProperty*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property</doc>
            <type name="Anjuta.ProjectProperty"
                  c:type="AnjutaProjectProperty*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Value</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_node_after"
              c:identifier="ianjuta_project_add_node_after"
              throws="1">
        <doc xml:whitespace="preserve">Create a new node and insert it after sibling</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The new node, NULL if error</doc>
          <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:whitespace="preserve">Parent</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="sibling" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Sibling</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">Node type</doc>
            <type name="Anjuta.ProjectNodeType"
                  c:type="AnjutaProjectNodeType"/>
          </parameter>
          <parameter name="file" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Optional file object for the node</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Optional name for the node</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_node_before"
              c:identifier="ianjuta_project_add_node_before"
              throws="1">
        <doc xml:whitespace="preserve">Create a new node and insert it before sibling</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The new node, NULL if error</doc>
          <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:whitespace="preserve">Parent</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="sibling" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Sibling</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">Node type</doc>
            <type name="Anjuta.ProjectNodeType"
                  c:type="AnjutaProjectNodeType"/>
          </parameter>
          <parameter name="file" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Optional file object for the node</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Optional name for the node</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_node_info"
              c:identifier="ianjuta_project_get_node_info"
              throws="1">
        <doc xml:whitespace="preserve">Return a list of possible node;

containing information on all node supported by the project.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A list</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Anjuta.ProjectNodeInfo"/>
          </type>
        </return-value>
      </method>
      <method name="get_root"
              c:identifier="ianjuta_project_get_root"
              throws="1">
        <doc xml:whitespace="preserve">Get root_node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The root node</doc>
          <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
      </method>
      <method name="is_loaded"
              c:identifier="ianjuta_project_is_loaded"
              throws="1">
        <doc xml:whitespace="preserve">Return TRUE if the project is loaded;</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the project is completely loaded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="load_node"
              c:identifier="ianjuta_project_load_node"
              throws="1">
        <doc xml:whitespace="preserve">Reload a project node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the node has been loaded without error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Project node to reload</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_node"
              c:identifier="ianjuta_project_remove_node"
              throws="1">
        <doc xml:whitespace="preserve">Remove a node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the node can be removed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Node</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_property"
              c:identifier="ianjuta_project_remove_property"
              throws="1">
        <doc xml:whitespace="preserve">Remove a property of the node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the node is removed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Node</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property</doc>
            <type name="Anjuta.ProjectProperty"
                  c:type="AnjutaProjectProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_node"
              c:identifier="ianjuta_project_save_node"
              throws="1">
        <doc xml:whitespace="preserve">Save a project node</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the node has been saved without error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Project node to save</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_property"
              c:identifier="ianjuta_project_set_property"
              throws="1">
        <doc xml:whitespace="preserve">Change a properties on node.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The new property of NULL if the property cannot be set</doc>
          <type name="Anjuta.ProjectProperty" c:type="AnjutaProjectProperty*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="property" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property</doc>
            <type name="Anjuta.ProjectProperty"
                  c:type="AnjutaProjectProperty*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Value</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="file-changed" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when the project is changed on the disk. The
corresponding node has to be reloaded.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Node to be reloaded.</doc>
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="node-changed" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when a node is changed by a function of this
interface. The error argument is not NULL if the change was not
possible. The corresponding node need to be saved.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Changed node.</doc>
            <type name="gpointer"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:whitespace="preserve">Error while changing node</doc>
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="node-loaded" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when a node is loaded. It returns an error if the
load operation fail.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Loaded node.</doc>
            <type name="gpointer"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:whitespace="preserve">Error while loading node</doc>
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="node-saved" when="last">
        <doc xml:whitespace="preserve">This signal is emitted when a node is saved. It returns an error if the
save operation fail.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <doc xml:whitespace="preserve">Saved node.</doc>
            <type name="gpointer"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:whitespace="preserve">Error while saving node</doc>
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <interface name="ProjectBackend"
               c:symbol-prefix="project_backend"
               c:type="IAnjutaProjectBackend"
               glib:type-name="IAnjutaProjectBackend"
               glib:get-type="ianjuta_project_backend_get_type"
               glib:type-struct="ProjectBackendIface">
      <function name="error_quark"
                c:identifier="ianjuta_project_backend_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="new_project" invoker="new_project" throws="1">
        <doc xml:whitespace="preserve">Create a new Anjuta project.

#IAnjutaProject interface.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">An object implementing the</doc>
          <type name="Project" c:type="IAnjutaProject*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">Project file or directory</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="probe" invoker="probe" throws="1">
        <doc xml:whitespace="preserve">Check if the directory contains a project supported by this
backend.

valid.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">0 if the project is invalid and &gt; 0 if the project is</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="directory" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="new_project"
              c:identifier="ianjuta_project_backend_new_project"
              throws="1">
        <doc xml:whitespace="preserve">Create a new Anjuta project.

#IAnjutaProject interface.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">An object implementing the</doc>
          <type name="Project" c:type="IAnjutaProject*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">Project file or directory</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="probe"
              c:identifier="ianjuta_project_backend_probe"
              throws="1">
        <doc xml:whitespace="preserve">Check if the directory contains a project supported by this
backend.

valid.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">0 if the project is invalid and &gt; 0 if the project is</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="directory" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="ProjectBackendIface"
            c:type="IAnjutaProjectBackendIface"
            glib:is-gtype-struct-for="ProjectBackend">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="new_project">
        <callback name="new_project" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">An object implementing the</doc>
            <type name="Project" c:type="IAnjutaProject*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectBackend" c:type="IAnjutaProjectBackend*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">Project file or directory</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="probe">
        <callback name="probe" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">0 if the project is invalid and &gt; 0 if the project is</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectBackend" c:type="IAnjutaProjectBackend*"/>
            </parameter>
            <parameter name="directory" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ProjectError"
                 glib:type-name="IAnjutaProjectError"
                 glib:get-type="ianjuta_project_error_get_type"
                 c:type="IAnjutaProjectError">
      <member name="error_success"
              value="0"
              c:identifier="IANJUTA_PROJECT_ERROR_SUCCESS"
              glib:nick="error-success"/>
      <member name="error_doesnt_exist"
              value="1"
              c:identifier="IANJUTA_PROJECT_ERROR_DOESNT_EXIST"
              glib:nick="error-doesnt-exist"/>
      <member name="error_already_exists"
              value="2"
              c:identifier="IANJUTA_PROJECT_ERROR_ALREADY_EXISTS"
              glib:nick="error-already-exists"/>
      <member name="error_validation_failed"
              value="3"
              c:identifier="IANJUTA_PROJECT_ERROR_VALIDATION_FAILED"
              glib:nick="error-validation-failed"/>
      <member name="error_project_malformed"
              value="4"
              c:identifier="IANJUTA_PROJECT_ERROR_PROJECT_MALFORMED"
              glib:nick="error-project-malformed"/>
      <member name="error_not_supported"
              value="5"
              c:identifier="IANJUTA_PROJECT_ERROR_NOT_SUPPORTED"
              glib:nick="error-not-supported"/>
      <member name="error_general_failure"
              value="6"
              c:identifier="IANJUTA_PROJECT_ERROR_GENERAL_FAILURE"
              glib:nick="error-general-failure"/>
      <function name="quark" c:identifier="ianjuta_project_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="ProjectIface"
            c:type="IAnjutaProjectIface"
            glib:is-gtype-struct-for="Project">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="file_changed">
        <callback name="file_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="node_changed">
        <callback name="node_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="node_loaded">
        <callback name="node_loaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="node_saved">
        <callback name="node_saved">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_node_after">
        <callback name="add_node_after" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The new node, NULL if error</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="parent" transfer-ownership="none">
              <doc xml:whitespace="preserve">Parent</doc>
              <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
            </parameter>
            <parameter name="sibling" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">Sibling</doc>
              <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
            </parameter>
            <parameter name="type" transfer-ownership="none">
              <doc xml:whitespace="preserve">Node type</doc>
              <type name="Anjuta.ProjectNodeType"
                    c:type="AnjutaProjectNodeType"/>
            </parameter>
            <parameter name="file" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">Optional file object for the node</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">Optional name for the node</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_node_before">
        <callback name="add_node_before" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The new node, NULL if error</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="parent" transfer-ownership="none">
              <doc xml:whitespace="preserve">Parent</doc>
              <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
            </parameter>
            <parameter name="sibling" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">Sibling</doc>
              <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
            </parameter>
            <parameter name="type" transfer-ownership="none">
              <doc xml:whitespace="preserve">Node type</doc>
              <type name="Anjuta.ProjectNodeType"
                    c:type="AnjutaProjectNodeType"/>
            </parameter>
            <parameter name="file" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">Optional file object for the node</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">Optional name for the node</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_node_info">
        <callback name="get_node_info" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">A list</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Anjuta.ProjectNodeInfo"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_root">
        <callback name="get_root" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The root node</doc>
            <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_loaded">
        <callback name="is_loaded" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the project is completely loaded.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="load_node">
        <callback name="load_node" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the node has been loaded without error</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <doc xml:whitespace="preserve">Project node to reload</doc>
              <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_node">
        <callback name="remove_node" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the node can be removed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <doc xml:whitespace="preserve">Node</doc>
              <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_property">
        <callback name="remove_property" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the node is removed</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <doc xml:whitespace="preserve">Node</doc>
              <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
            </parameter>
            <parameter name="property" transfer-ownership="none">
              <doc xml:whitespace="preserve">Property</doc>
              <type name="Anjuta.ProjectProperty"
                    c:type="AnjutaProjectProperty*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_node">
        <callback name="save_node" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the node has been saved without error</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="node" transfer-ownership="none">
              <doc xml:whitespace="preserve">Project node to save</doc>
              <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_property">
        <callback name="set_property" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The new property of NULL if the property cannot be set</doc>
            <type name="Anjuta.ProjectProperty"
                  c:type="AnjutaProjectProperty*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Project" c:type="IAnjutaProject*"/>
            </parameter>
            <parameter name="parent" transfer-ownership="none">
              <type name="Anjuta.ProjectNode" c:type="AnjutaProjectNode*"/>
            </parameter>
            <parameter name="property" transfer-ownership="none">
              <doc xml:whitespace="preserve">Property</doc>
              <type name="Anjuta.ProjectProperty"
                    c:type="AnjutaProjectProperty*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <doc xml:whitespace="preserve">Value</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="ProjectManager"
               c:symbol-prefix="project_manager"
               c:type="IAnjutaProjectManager"
               glib:type-name="IAnjutaProjectManager"
               glib:get-type="ianjuta_project_manager_get_type"
               glib:type-struct="ProjectManagerIface">
      <function name="error_quark"
                c:identifier="ianjuta_project_manager_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="add_group" invoker="add_group" throws="1">
        <doc xml:whitespace="preserve">Prompts the user to add a new group to the project. The user can select
a parent group different from the one set as default.

You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the new group added in the project.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Group name or URI.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="default_group"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">A #GFile corresponding to the default parent group or %NULL if don't care.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_source" invoker="add_source" throws="1">
        <doc xml:whitespace="preserve">Prompts the user to add a file to the project. If the user selects
multiple files only the first source file is returned.

You can add non existing file. In this case the element_added
signal will be emitted with a non existing file. So it is
up to the caller to reemit this signal later when the file
is created.

project view. You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the new source file in the</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Source name or URI.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="default_target"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">A #GFile corresponding to the default target or group or %NULL if you don't care.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_source_quiet"
                      invoker="add_source_quiet"
                      throws="1">
        <doc xml:whitespace="preserve">Adds a file to the project without prompting the user.

You can add non existing file. In this case the element_added
signal will be emitted with a non existing file. So it is
up to the caller to reemit this signal later when the file
is created.

view. You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the new source file in the project</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Source name or URI.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="target" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GFile corresponding to the parent target or group.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_sources" invoker="add_sources" throws="1">
        <doc xml:whitespace="preserve">Prompts the user to add several files to the project. Depending on the 
project backend, it can be possible that the source files must
be located in a particular directory.

You can add non existing file. In this case the element_added
signal will be emitted with a non existing file. So it is
up to the caller to reemit this signal later when the file
is created.

new source files added in the project. You own the list with the the returned files;
use g_list_free() and g_object_unref() on each file to release them.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A list of #GFile corresponding to all</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gio.File"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="names" transfer-ownership="none">
            <doc xml:whitespace="preserve">Sources name or URI to add.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="default_target"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">A #GFile corresponding to the default target or group or %NULL if don't care.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_target" invoker="add_target" throws="1">
        <doc xml:whitespace="preserve">Prompts the user to add a new target to the project. The user can select
a parent group different from the one set as default.

You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the new target added in the project.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Target name or URI.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="default_group"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">A #GFile corresponding to the default parent group or %NULL if don't care.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="element_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="element" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="element_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="element" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="element_selected">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="element" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_capabilities"
                      invoker="get_capabilities"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_children" invoker="get_children" throws="1">
        <doc xml:whitespace="preserve">Gets the list of all children of the corresponding parent.

each child of the element or %NULL if the element has no child. Free the returned
list with g_list_free() and the files with g_object_unref().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">The list of #GFile corresponding to</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gio.File"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="element" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GFile corresponding to a parent.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_current_project"
                      invoker="get_current_project"
                      throws="1">
        <doc xml:whitespace="preserve">Gets the current project.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the currently active project. NULL if none is there.</doc>
          <type name="Project" c:type="IAnjutaProject*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_elements" invoker="get_elements" throws="1">
        <doc xml:whitespace="preserve">Get a list of all elements of this type in the project.

all valid elements or %NULL if there are no elements of this type. Free the returned
list with g_list_free() and the files with g_object_unref().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Get list of #GFile corresponding to</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gio.File"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="element_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">Select one element type: source, group or target</doc>
            <type name="Anjuta.ProjectNodeType"
                  c:type="AnjutaProjectNodeType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_packages" invoker="get_packages" throws="1">
        <doc xml:whitespace="preserve">requires in it's configure.ac. Can be NULL if there is no project
opened currently or no package is required.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">the list of pkg-config packages that the current project</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </virtual-method>
      <virtual-method name="get_parent"
                      invoker="get_parent"
                      introspectable="0"
                      throws="1">
        <return-value>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="element" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_selected" invoker="get_selected" throws="1">
        <doc xml:whitespace="preserve">Gets the currently selected element in the project manager view.

view. You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the selected element in the project</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_target_type"
                      invoker="get_target_type"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="Anjuta.ProjectNodeType" c:type="AnjutaProjectNodeType"/>
        </return-value>
        <parameters>
          <parameter name="target" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_targets" invoker="get_targets" throws="1">
        <doc xml:whitespace="preserve">Get a list of targets in the project with the corresponding type.

each target of the requested type or %NULL if none exists. Free the returned list
with g_list_free() and the files with g_object_unref().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A list of #GFile corresponding to</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gio.File"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="target_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">type of the target</doc>
            <type name="Anjuta.ProjectNodeType"
                  c:type="AnjutaProjectNodeType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_open" invoker="is_open" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="project_loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_group"
              c:identifier="ianjuta_project_manager_add_group"
              throws="1">
        <doc xml:whitespace="preserve">Prompts the user to add a new group to the project. The user can select
a parent group different from the one set as default.

You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the new group added in the project.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Group name or URI.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="default_group"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">A #GFile corresponding to the default parent group or %NULL if don't care.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_source"
              c:identifier="ianjuta_project_manager_add_source"
              throws="1">
        <doc xml:whitespace="preserve">Prompts the user to add a file to the project. If the user selects
multiple files only the first source file is returned.

You can add non existing file. In this case the element_added
signal will be emitted with a non existing file. So it is
up to the caller to reemit this signal later when the file
is created.

project view. You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the new source file in the</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Source name or URI.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="default_target"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">A #GFile corresponding to the default target or group or %NULL if you don't care.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_source_quiet"
              c:identifier="ianjuta_project_manager_add_source_quiet"
              throws="1">
        <doc xml:whitespace="preserve">Adds a file to the project without prompting the user.

You can add non existing file. In this case the element_added
signal will be emitted with a non existing file. So it is
up to the caller to reemit this signal later when the file
is created.

view. You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the new source file in the project</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Source name or URI.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="target" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GFile corresponding to the parent target or group.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_sources"
              c:identifier="ianjuta_project_manager_add_sources"
              throws="1">
        <doc xml:whitespace="preserve">Prompts the user to add several files to the project. Depending on the 
project backend, it can be possible that the source files must
be located in a particular directory.

You can add non existing file. In this case the element_added
signal will be emitted with a non existing file. So it is
up to the caller to reemit this signal later when the file
is created.

new source files added in the project. You own the list with the the returned files;
use g_list_free() and g_object_unref() on each file to release them.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A list of #GFile corresponding to all</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gio.File"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="names" transfer-ownership="none">
            <doc xml:whitespace="preserve">Sources name or URI to add.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </parameter>
          <parameter name="default_target"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">A #GFile corresponding to the default target or group or %NULL if don't care.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_target"
              c:identifier="ianjuta_project_manager_add_target"
              throws="1">
        <doc xml:whitespace="preserve">Prompts the user to add a new target to the project. The user can select
a parent group different from the one set as default.

You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the new target added in the project.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Target name or URI.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="default_group"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">A #GFile corresponding to the default parent group or %NULL if don't care.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_capabilities"
              c:identifier="ianjuta_project_manager_get_capabilities"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_children"
              c:identifier="ianjuta_project_manager_get_children"
              throws="1">
        <doc xml:whitespace="preserve">Gets the list of all children of the corresponding parent.

each child of the element or %NULL if the element has no child. Free the returned
list with g_list_free() and the files with g_object_unref().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">The list of #GFile corresponding to</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gio.File"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="element" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GFile corresponding to a parent.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_current_project"
              c:identifier="ianjuta_project_manager_get_current_project"
              throws="1">
        <doc xml:whitespace="preserve">Gets the current project.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the currently active project. NULL if none is there.</doc>
          <type name="Project" c:type="IAnjutaProject*"/>
        </return-value>
      </method>
      <method name="get_elements"
              c:identifier="ianjuta_project_manager_get_elements"
              throws="1">
        <doc xml:whitespace="preserve">Get a list of all elements of this type in the project.

all valid elements or %NULL if there are no elements of this type. Free the returned
list with g_list_free() and the files with g_object_unref().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Get list of #GFile corresponding to</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gio.File"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="element_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">Select one element type: source, group or target</doc>
            <type name="Anjuta.ProjectNodeType"
                  c:type="AnjutaProjectNodeType"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_packages"
              c:identifier="ianjuta_project_manager_get_packages"
              throws="1">
        <doc xml:whitespace="preserve">requires in it's configure.ac. Can be NULL if there is no project
opened currently or no package is required.</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">the list of pkg-config packages that the current project</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </method>
      <method name="get_parent"
              c:identifier="ianjuta_project_manager_get_parent"
              introspectable="0"
              throws="1">
        <return-value>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="element" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_selected"
              c:identifier="ianjuta_project_manager_get_selected"
              throws="1">
        <doc xml:whitespace="preserve">Gets the currently selected element in the project manager view.

view. You own the returned file; use g_object_unref() to release it.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #GFile corresponding to the selected element in the project</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </method>
      <method name="get_target_type"
              c:identifier="ianjuta_project_manager_get_target_type"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="Anjuta.ProjectNodeType" c:type="AnjutaProjectNodeType"/>
        </return-value>
        <parameters>
          <parameter name="target" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_targets"
              c:identifier="ianjuta_project_manager_get_targets"
              throws="1">
        <doc xml:whitespace="preserve">Get a list of targets in the project with the corresponding type.

each target of the requested type or %NULL if none exists. Free the returned list
with g_list_free() and the files with g_object_unref().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A list of #GFile corresponding to</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Gio.File"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="target_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">type of the target</doc>
            <type name="Anjuta.ProjectNodeType"
                  c:type="AnjutaProjectNodeType"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_open"
              c:identifier="ianjuta_project_manager_is_open"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <glib:signal name="element-added" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gio.File"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="element-removed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gio.File"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="element-selected" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gio.File"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="project-loaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="ProjectManagerIface"
            c:type="IAnjutaProjectManagerIface"
            glib:is-gtype-struct-for="ProjectManager">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="element_added">
        <callback name="element_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="element" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="element_removed">
        <callback name="element_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="element" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="element_selected">
        <callback name="element_selected">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="element" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="project_loaded">
        <callback name="project_loaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_group">
        <callback name="add_group" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A #GFile corresponding to the new group added in the project.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Group name or URI.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="default_group"
                       transfer-ownership="none"
                       allow-none="1">
              <doc xml:whitespace="preserve">A #GFile corresponding to the default parent group or %NULL if don't care.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_source">
        <callback name="add_source" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A #GFile corresponding to the new source file in the</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Source name or URI.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="default_target"
                       transfer-ownership="none"
                       allow-none="1">
              <doc xml:whitespace="preserve">A #GFile corresponding to the default target or group or %NULL if you don't care.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_source_quiet">
        <callback name="add_source_quiet" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A #GFile corresponding to the new source file in the project</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Source name or URI.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="target" transfer-ownership="none">
              <doc xml:whitespace="preserve">A #GFile corresponding to the parent target or group.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_sources">
        <callback name="add_sources" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A list of #GFile corresponding to all</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gio.File"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="names" transfer-ownership="none">
              <doc xml:whitespace="preserve">Sources name or URI to add.</doc>
              <type name="GLib.List" c:type="GList*">
                <type name="utf8"/>
              </type>
            </parameter>
            <parameter name="default_target"
                       transfer-ownership="none"
                       allow-none="1">
              <doc xml:whitespace="preserve">A #GFile corresponding to the default target or group or %NULL if don't care.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_target">
        <callback name="add_target" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A #GFile corresponding to the new target added in the project.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Target name or URI.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="default_group"
                       transfer-ownership="none"
                       allow-none="1">
              <doc xml:whitespace="preserve">A #GFile corresponding to the default parent group or %NULL if don't care.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_capabilities">
        <callback name="get_capabilities" throws="1">
          <return-value transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_children">
        <callback name="get_children" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">The list of #GFile corresponding to</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gio.File"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="element" transfer-ownership="none">
              <doc xml:whitespace="preserve">A #GFile corresponding to a parent.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_current_project">
        <callback name="get_current_project" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">the currently active project. NULL if none is there.</doc>
            <type name="Project" c:type="IAnjutaProject*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_elements">
        <callback name="get_elements" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">Get list of #GFile corresponding to</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gio.File"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="element_type" transfer-ownership="none">
              <doc xml:whitespace="preserve">Select one element type: source, group or target</doc>
              <type name="Anjuta.ProjectNodeType"
                    c:type="AnjutaProjectNodeType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_packages">
        <callback name="get_packages" throws="1">
          <return-value transfer-ownership="container">
            <doc xml:whitespace="preserve">the list of pkg-config packages that the current project</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="utf8"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_parent" introspectable="0">
        <callback name="get_parent" introspectable="0" throws="1">
          <return-value>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="element" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_selected">
        <callback name="get_selected" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A #GFile corresponding to the selected element in the project</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_target_type">
        <callback name="get_target_type" throws="1">
          <return-value transfer-ownership="none">
            <type name="Anjuta.ProjectNodeType"
                  c:type="AnjutaProjectNodeType"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="target" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_targets">
        <callback name="get_targets" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">A list of #GFile corresponding to</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gio.File"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
            <parameter name="target_type" transfer-ownership="none">
              <doc xml:whitespace="preserve">type of the target</doc>
              <type name="Anjuta.ProjectNodeType"
                    c:type="AnjutaProjectNodeType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_open">
        <callback name="is_open" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="ProjectManager" c:type="IAnjutaProjectManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ProjectProbe"
                 glib:type-name="IAnjutaProjectProbe"
                 glib:get-type="ianjuta_project_probe_get_type"
                 c:type="IAnjutaProjectProbe">
      <member name="probe_files"
              value="10"
              c:identifier="IANJUTA_PROJECT_PROBE_FILES"
              glib:nick="probe-files"/>
      <member name="probe_make_files"
              value="100"
              c:identifier="IANJUTA_PROJECT_PROBE_MAKE_FILES"
              glib:nick="probe-make-files"/>
      <member name="probe_project_files"
              value="200"
              c:identifier="IANJUTA_PROJECT_PROBE_PROJECT_FILES"
              glib:nick="probe-project-files"/>
    </enumeration>
    <interface name="Provider"
               c:symbol-prefix="provider"
               c:type="IAnjutaProvider"
               glib:type-name="IAnjutaProvider"
               glib:get-type="ianjuta_provider_get_type"
               glib:type-struct="ProviderIface">
      <function name="error_quark" c:identifier="ianjuta_provider_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="activate" invoker="activate" throws="1">
        <doc xml:whitespace="preserve">Show completion for the context at position @iter</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">position where the completion occurs</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data assigned to the proposal</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_name" invoker="get_name" throws="1">
        <doc xml:whitespace="preserve">Return a (translatable) name for the provider</doc>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_start_iter"
                      invoker="get_start_iter"
                      throws="1">
        <doc xml:whitespace="preserve">Get the iter where the current completion started</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">current start iter</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="populate" invoker="populate" throws="1">
        <doc xml:whitespace="preserve">Show completion for the context at position @iter. The provider should
call ianjuta_editor_assist_proposals here to add proposals to the list.

Note that this is called after every character typed and the list of proposals
has to be completely renewed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">the text iter where the provider should be populated</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate"
              c:identifier="ianjuta_provider_activate"
              throws="1">
        <doc xml:whitespace="preserve">Show completion for the context at position @iter</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">position where the completion occurs</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:whitespace="preserve">data assigned to the proposal</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="ianjuta_provider_get_name"
              throws="1">
        <doc xml:whitespace="preserve">Return a (translatable) name for the provider</doc>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_start_iter"
              c:identifier="ianjuta_provider_get_start_iter"
              throws="1">
        <doc xml:whitespace="preserve">Get the iter where the current completion started</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">current start iter</doc>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </method>
      <method name="populate"
              c:identifier="ianjuta_provider_populate"
              throws="1">
        <doc xml:whitespace="preserve">Show completion for the context at position @iter. The provider should
call ianjuta_editor_assist_proposals here to add proposals to the list.

Note that this is called after every character typed and the list of proposals
has to be completely renewed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">the text iter where the provider should be populated</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="ProviderIface"
            c:type="IAnjutaProviderIface"
            glib:is-gtype-struct-for="Provider">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Provider" c:type="IAnjutaProvider*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <doc xml:whitespace="preserve">position where the completion occurs</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
            <parameter name="data" transfer-ownership="none">
              <doc xml:whitespace="preserve">data assigned to the proposal</doc>
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_name">
        <callback name="get_name" throws="1">
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Provider" c:type="IAnjutaProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_start_iter">
        <callback name="get_start_iter" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">current start iter</doc>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Provider" c:type="IAnjutaProvider*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="populate">
        <callback name="populate" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Provider" c:type="IAnjutaProvider*"/>
            </parameter>
            <parameter name="iter" transfer-ownership="none">
              <doc xml:whitespace="preserve">the text iter where the provider should be populated</doc>
              <type name="Iterable" c:type="IAnjutaIterable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="SnippetsManager"
               c:symbol-prefix="snippets_manager"
               c:type="IAnjutaSnippetsManager"
               glib:type-name="IAnjutaSnippetsManager"
               glib:get-type="ianjuta_snippets_manager_get_type"
               glib:type-struct="SnippetsManagerIface">
      <function name="error_quark"
                c:identifier="ianjuta_snippets_manager_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="insert" invoker="insert" throws="1">
        <doc xml:whitespace="preserve">Insert snippet in the current editor.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Trigger-key of the snippet</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="editing_session" transfer-ownership="none">
            <doc xml:whitespace="preserve">If after inserting the snippet there should be an editing session. Mark as FALSE if not interested in the dynamic capabilities of the snippet.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="insert"
              c:identifier="ianjuta_snippets_manager_insert"
              throws="1">
        <doc xml:whitespace="preserve">Insert snippet in the current editor.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Trigger-key of the snippet</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="editing_session" transfer-ownership="none">
            <doc xml:whitespace="preserve">If after inserting the snippet there should be an editing session. Mark as FALSE if not interested in the dynamic capabilities of the snippet.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="SnippetsManagerIface"
            c:type="IAnjutaSnippetsManagerIface"
            glib:is-gtype-struct-for="SnippetsManager">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="insert">
        <callback name="insert" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SnippetsManager" c:type="IAnjutaSnippetsManager*"/>
            </parameter>
            <parameter name="key" transfer-ownership="none">
              <doc xml:whitespace="preserve">Trigger-key of the snippet</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="editing_session" transfer-ownership="none">
              <doc xml:whitespace="preserve">If after inserting the snippet there should be an editing session. Mark as FALSE if not interested in the dynamic capabilities of the snippet.</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Stream"
               c:symbol-prefix="stream"
               c:type="IAnjutaStream"
               glib:type-name="IAnjutaStream"
               glib:get-type="ianjuta_stream_get_type"
               glib:type-struct="StreamIface">
      <function name="error_quark" c:identifier="ianjuta_stream_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="open" invoker="open" throws="1">
        <doc xml:whitespace="preserve">The implementor opens the given stream.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stream to open from.</doc>
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="open" c:identifier="ianjuta_stream_open" throws="1">
        <doc xml:whitespace="preserve">The implementor opens the given stream.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stream to open from.</doc>
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="StreamIface"
            c:type="IAnjutaStreamIface"
            glib:is-gtype-struct-for="Stream">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="open">
        <callback name="open" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Stream" c:type="IAnjutaStream*"/>
            </parameter>
            <parameter name="stream" transfer-ownership="none">
              <doc xml:whitespace="preserve">Stream to open from.</doc>
              <type name="gpointer" c:type="FILE*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="StreamLoader"
               c:symbol-prefix="stream_loader"
               c:type="IAnjutaStreamLoader"
               glib:type-name="IAnjutaStreamLoader"
               glib:get-type="ianjuta_stream_loader_get_type"
               glib:type-struct="StreamLoaderIface">
      <prerequisite name="Loader"/>
      <function name="error_quark"
                c:identifier="ianjuta_stream_loader_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="load" invoker="load" introspectable="0" throws="1">
        <doc xml:whitespace="preserve">Determines a plugin which can open the given stream, activates it
opening the stream and returns the interface of the plugin activated.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Plugin interface used to load the stream.</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stream to load</doc>
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
          <parameter name="readonly" transfer-ownership="none">
            <doc xml:whitespace="preserve">Open in readonly mode.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="peek_interface"
                      invoker="peek_interface"
                      throws="1">
        <doc xml:whitespace="preserve">Peeks the stream and determines the interface which can load
this stream.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Plugin interface name that can load the stream.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stream to load</doc>
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="load"
              c:identifier="ianjuta_stream_loader_load"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Determines a plugin which can open the given stream, activates it
opening the stream and returns the interface of the plugin activated.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Plugin interface used to load the stream.</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stream to load</doc>
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
          <parameter name="readonly" transfer-ownership="none">
            <doc xml:whitespace="preserve">Open in readonly mode.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="peek_interface"
              c:identifier="ianjuta_stream_loader_peek_interface"
              throws="1">
        <doc xml:whitespace="preserve">Peeks the stream and determines the interface which can load
this stream.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Plugin interface name that can load the stream.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stream to load</doc>
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="StreamLoaderIface"
            c:type="IAnjutaStreamLoaderIface"
            glib:is-gtype-struct-for="StreamLoader">
      <field name="g_iface">
        <type name="LoaderIface" c:type="IAnjutaLoaderIface"/>
      </field>
      <field name="load" introspectable="0">
        <callback name="load" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">Plugin interface used to load the stream.</doc>
            <type name="GObject.Object" c:type="GObject*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="StreamLoader" c:type="IAnjutaStreamLoader*"/>
            </parameter>
            <parameter name="stream" transfer-ownership="none">
              <doc xml:whitespace="preserve">Stream to load</doc>
              <type name="gpointer" c:type="FILE*"/>
            </parameter>
            <parameter name="readonly" transfer-ownership="none">
              <doc xml:whitespace="preserve">Open in readonly mode.</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="peek_interface">
        <callback name="peek_interface" throws="1">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">Plugin interface name that can load the stream.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="StreamLoader" c:type="IAnjutaStreamLoader*"/>
            </parameter>
            <parameter name="stream" transfer-ownership="none">
              <doc xml:whitespace="preserve">Stream to load</doc>
              <type name="gpointer" c:type="FILE*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="StreamSavable"
               c:symbol-prefix="stream_savable"
               c:type="IAnjutaStreamSavable"
               glib:type-name="IAnjutaStreamSavable"
               glib:get-type="ianjuta_stream_savable_get_type"
               glib:type-struct="StreamSavableIface">
      <prerequisite name="Stream"/>
      <function name="error_quark"
                c:identifier="ianjuta_stream_savable_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="save" invoker="save" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="save"
              c:identifier="ianjuta_stream_savable_save"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <type name="gpointer" c:type="FILE*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="StreamSavableIface"
            c:type="IAnjutaStreamSavableIface"
            glib:is-gtype-struct-for="StreamSavable">
      <field name="g_iface">
        <type name="StreamIface" c:type="IAnjutaStreamIface"/>
      </field>
      <field name="save">
        <callback name="save" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="StreamSavable" c:type="IAnjutaStreamSavable*"/>
            </parameter>
            <parameter name="stream" transfer-ownership="none">
              <type name="gpointer" c:type="FILE*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Symbol"
               c:symbol-prefix="symbol"
               c:type="IAnjutaSymbol"
               glib:type-name="IAnjutaSymbol"
               glib:get-type="ianjuta_symbol_get_type"
               glib:type-struct="SymbolIface">
      <function name="error_quark" c:identifier="ianjuta_symbol_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="get_boolean" invoker="get_boolean" throws="1">
        <doc xml:whitespace="preserve">Retreives the boolean value of a boolean @field.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The boolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to retrieve.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_file"
                      invoker="get_file"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">A convenience method to get GFile object for
#IANJUTA_SYMBOL_FIELD_FILE_PATH field. The file where the
symbol is declared. It contains the absolute path of the file
unlike raw value of field #IANJUTA_SYMBOL_FIELD_FILE_PATH.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A GFile object. It must be unrefed after use.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_icon" invoker="get_icon" throws="1">
        <doc xml:whitespace="preserve">A convenience method to get a small icon (16x16) representing the symbol
kind. You *need* a query with fields #IANJUTA_SYMBOL_FIELD_ACCESS and 
#IANJUTA_SYMBOL_FIELD_KIND selected.

need to keep it.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a Pixbuf icon representing the symbol. Ref the icon if you</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_int" invoker="get_int" throws="1">
        <doc xml:whitespace="preserve">Retreives the integer value of an integer @field.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The integer</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to retrieve.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_string" invoker="get_string" throws="1">
        <doc xml:whitespace="preserve">Retreives the string value of a string @field.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to retrieve.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_sym_type" invoker="get_sym_type" throws="1">
        <doc xml:whitespace="preserve">A convenience method to get value of #IANJUTA_SYMBOL_FIELD_TYPE
field typecasted to IAnjutaSymbolType. Numerical value is unchanged.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #IAnjutaSymbolType</doc>
          <type name="SymbolType" c:type="IAnjutaSymbolType"/>
        </return-value>
      </virtual-method>
      <method name="get_boolean"
              c:identifier="ianjuta_symbol_get_boolean"
              throws="1">
        <doc xml:whitespace="preserve">Retreives the boolean value of a boolean @field.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The boolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to retrieve.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_file"
              c:identifier="ianjuta_symbol_get_file"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">A convenience method to get GFile object for
#IANJUTA_SYMBOL_FIELD_FILE_PATH field. The file where the
symbol is declared. It contains the absolute path of the file
unlike raw value of field #IANJUTA_SYMBOL_FIELD_FILE_PATH.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A GFile object. It must be unrefed after use.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </method>
      <method name="get_icon"
              c:identifier="ianjuta_symbol_get_icon"
              throws="1">
        <doc xml:whitespace="preserve">A convenience method to get a small icon (16x16) representing the symbol
kind. You *need* a query with fields #IANJUTA_SYMBOL_FIELD_ACCESS and 
#IANJUTA_SYMBOL_FIELD_KIND selected.

need to keep it.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a Pixbuf icon representing the symbol. Ref the icon if you</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
      </method>
      <method name="get_int" c:identifier="ianjuta_symbol_get_int" throws="1">
        <doc xml:whitespace="preserve">Retreives the integer value of an integer @field.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The integer</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to retrieve.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_string"
              c:identifier="ianjuta_symbol_get_string"
              throws="1">
        <doc xml:whitespace="preserve">Retreives the string value of a string @field.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to retrieve.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_sym_type"
              c:identifier="ianjuta_symbol_get_sym_type"
              throws="1">
        <doc xml:whitespace="preserve">A convenience method to get value of #IANJUTA_SYMBOL_FIELD_TYPE
field typecasted to IAnjutaSymbolType. Numerical value is unchanged.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a #IAnjutaSymbolType</doc>
          <type name="SymbolType" c:type="IAnjutaSymbolType"/>
        </return-value>
      </method>
    </interface>
    <enumeration name="SymbolField"
                 glib:type-name="IAnjutaSymbolField"
                 glib:get-type="ianjuta_symbol_field_get_type"
                 c:type="IAnjutaSymbolField">
      <doc xml:whitespace="preserve">Symbol Fields. Used to define and retrieve results from query. Each of
these fields are either integer or string. Use the right method to
retrieve them. That is, for integer use ianjuta_symbol_get_int(),
for string use ianjuta_symbol_get_string(), and for boolean use
ianjuta_symbol_get_boolean(). Some fields can be in both forms,
e.g. #IANJUTA_SYMBOL_FIELD_TYPE.</doc>
      <member name="field_id"
              value="0"
              c:identifier="IANJUTA_SYMBOL_FIELD_ID"
              glib:nick="field-id"/>
      <member name="field_name"
              value="1"
              c:identifier="IANJUTA_SYMBOL_FIELD_NAME"
              glib:nick="field-name"/>
      <member name="field_file_pos"
              value="2"
              c:identifier="IANJUTA_SYMBOL_FIELD_FILE_POS"
              glib:nick="field-file-pos"/>
      <member name="filed_scope_def_id"
              value="3"
              c:identifier="IANJUTA_SYMBOL_FILED_SCOPE_DEF_ID"
              glib:nick="filed-scope-def-id"/>
      <member name="field_file_scope"
              value="4"
              c:identifier="IANJUTA_SYMBOL_FIELD_FILE_SCOPE"
              glib:nick="field-file-scope"/>
      <member name="field_signature"
              value="5"
              c:identifier="IANJUTA_SYMBOL_FIELD_SIGNATURE"
              glib:nick="field-signature"/>
      <member name="field_returntype"
              value="6"
              c:identifier="IANJUTA_SYMBOL_FIELD_RETURNTYPE"
              glib:nick="field-returntype"/>
      <member name="field_type"
              value="7"
              c:identifier="IANJUTA_SYMBOL_FIELD_TYPE"
              glib:nick="field-type"/>
      <member name="field_type_name"
              value="8"
              c:identifier="IANJUTA_SYMBOL_FIELD_TYPE_NAME"
              glib:nick="field-type-name"/>
      <member name="field_file_path"
              value="9"
              c:identifier="IANJUTA_SYMBOL_FIELD_FILE_PATH"
              glib:nick="field-file-path"/>
      <member name="field_project_name"
              value="10"
              c:identifier="IANJUTA_SYMBOL_FIELD_PROJECT_NAME"
              glib:nick="field-project-name"/>
      <member name="field_project_version"
              value="11"
              c:identifier="IANJUTA_SYMBOL_FIELD_PROJECT_VERSION"
              glib:nick="field-project-version"/>
      <member name="field_implementation"
              value="12"
              c:identifier="IANJUTA_SYMBOL_FIELD_IMPLEMENTATION"
              glib:nick="field-implementation"/>
      <member name="field_access"
              value="13"
              c:identifier="IANJUTA_SYMBOL_FIELD_ACCESS"
              glib:nick="field-access"/>
      <member name="field_kind"
              value="14"
              c:identifier="IANJUTA_SYMBOL_FIELD_KIND"
              glib:nick="field-kind"/>
      <member name="field_is_container"
              value="15"
              c:identifier="IANJUTA_SYMBOL_FIELD_IS_CONTAINER"
              glib:nick="field-is-container"/>
      <member name="field_end"
              value="16"
              c:identifier="IANJUTA_SYMBOL_FIELD_END"
              glib:nick="field-end"/>
    </enumeration>
    <record name="SymbolIface"
            c:type="IAnjutaSymbolIface"
            glib:is-gtype-struct-for="Symbol">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_boolean">
        <callback name="get_boolean" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The boolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
            <parameter name="field" transfer-ownership="none">
              <doc xml:whitespace="preserve">The field to retrieve.</doc>
              <type name="SymbolField" c:type="IAnjutaSymbolField"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_file" introspectable="0">
        <callback name="get_file" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">A GFile object. It must be unrefed after use.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_icon">
        <callback name="get_icon" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">a Pixbuf icon representing the symbol. Ref the icon if you</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_int">
        <callback name="get_int" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The integer</doc>
            <type name="gint" c:type="gint"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
            <parameter name="field" transfer-ownership="none">
              <doc xml:whitespace="preserve">The field to retrieve.</doc>
              <type name="SymbolField" c:type="IAnjutaSymbolField"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_string">
        <callback name="get_string" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The string</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
            <parameter name="field" transfer-ownership="none">
              <doc xml:whitespace="preserve">The field to retrieve.</doc>
              <type name="SymbolField" c:type="IAnjutaSymbolField"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_sym_type">
        <callback name="get_sym_type" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">a #IAnjutaSymbolType</doc>
            <type name="SymbolType" c:type="IAnjutaSymbolType"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="SymbolManager"
               c:symbol-prefix="symbol_manager"
               c:type="IAnjutaSymbolManager"
               glib:type-name="IAnjutaSymbolManager"
               glib:get-type="ianjuta_symbol_manager_get_type"
               glib:type-struct="SymbolManagerIface">
      <function name="error_quark"
                c:identifier="ianjuta_symbol_manager_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="activate_package"
                      invoker="activate_package"
                      throws="1">
        <doc xml:whitespace="preserve">Activates the package for searches in the global symbol database.

FALSE if the version given was newer than the version in the database or the 
package was not found. In this case, add_package() should be called.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the package was loaded (or will be loaded once scanned).</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pkg_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the package to activate. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="pkg_version" transfer-ownership="none">
            <doc xml:whitespace="preserve">Version of the package. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_package"
                      invoker="add_package"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Reads the package files into the database asynchronously.

already exists</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the package will be loaded into the db, FALSE if the package</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pkg_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the package to scan. Should be the name given by pkg-config. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="pkg_version" transfer-ownership="none">
            <doc xml:whitespace="preserve">Version of the package. The colon char must be avoided. or by the language implementation (Python, Javascript, etc.)</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="files" transfer-ownership="none">
            <doc xml:whitespace="preserve">A list of GFile's to scan for this package</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="create_query"
                      invoker="create_query"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Create a query object. By default only #IANJUTA_SYMBOL_FIELD_ID and
and #IANJUTA_SYMBOL_FIELD_NAME are selected, limit is set to infinity,
offset is set to 0, no filters are set and mode is set to
#IANJUTA_SYMBOL_QUERY_MODE_SYNC.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A #IAnjutaSymbolQuery object</doc>
          <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the query. It decides what query type it is.</doc>
            <type name="SymbolQueryName" c:type="IAnjutaSymbolQueryName"/>
          </parameter>
          <parameter name="db" transfer-ownership="none">
            <doc xml:whitespace="preserve">The database to use.</doc>
            <type name="SymbolQueryDb" c:type="IAnjutaSymbolQueryDb"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate_all"
                      invoker="deactivate_all"
                      throws="1">
        <doc xml:whitespace="preserve">Deactivates all activate packages</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="deactivate_package"
                      invoker="deactivate_package"
                      throws="1">
        <doc xml:whitespace="preserve">Deactivates the package if it was found. If package is NULL, deactivate all
packages.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pkg_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the package. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="pkg_version" transfer-ownership="none">
            <doc xml:whitespace="preserve">Version of the package. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="prj_scan_end">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="process_id" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="sys_scan_end">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="process_id" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate_package"
              c:identifier="ianjuta_symbol_manager_activate_package"
              throws="1">
        <doc xml:whitespace="preserve">Activates the package for searches in the global symbol database.

FALSE if the version given was newer than the version in the database or the 
package was not found. In this case, add_package() should be called.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the package was loaded (or will be loaded once scanned).</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pkg_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the package to activate. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="pkg_version" transfer-ownership="none">
            <doc xml:whitespace="preserve">Version of the package. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_package"
              c:identifier="ianjuta_symbol_manager_add_package"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Reads the package files into the database asynchronously.

already exists</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the package will be loaded into the db, FALSE if the package</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pkg_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the package to scan. Should be the name given by pkg-config. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="pkg_version" transfer-ownership="none">
            <doc xml:whitespace="preserve">Version of the package. The colon char must be avoided. or by the language implementation (Python, Javascript, etc.)</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="files" transfer-ownership="none">
            <doc xml:whitespace="preserve">A list of GFile's to scan for this package</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="create_query"
              c:identifier="ianjuta_symbol_manager_create_query"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Create a query object. By default only #IANJUTA_SYMBOL_FIELD_ID and
and #IANJUTA_SYMBOL_FIELD_NAME are selected, limit is set to infinity,
offset is set to 0, no filters are set and mode is set to
#IANJUTA_SYMBOL_QUERY_MODE_SYNC.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A #IAnjutaSymbolQuery object</doc>
          <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the query. It decides what query type it is.</doc>
            <type name="SymbolQueryName" c:type="IAnjutaSymbolQueryName"/>
          </parameter>
          <parameter name="db" transfer-ownership="none">
            <doc xml:whitespace="preserve">The database to use.</doc>
            <type name="SymbolQueryDb" c:type="IAnjutaSymbolQueryDb"/>
          </parameter>
        </parameters>
      </method>
      <method name="deactivate_all"
              c:identifier="ianjuta_symbol_manager_deactivate_all"
              throws="1">
        <doc xml:whitespace="preserve">Deactivates all activate packages</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="deactivate_package"
              c:identifier="ianjuta_symbol_manager_deactivate_package"
              throws="1">
        <doc xml:whitespace="preserve">Deactivates the package if it was found. If package is NULL, deactivate all
packages.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pkg_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the package. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="pkg_version" transfer-ownership="none">
            <doc xml:whitespace="preserve">Version of the package. The colon char must be avoided.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="prj-scan-end" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="sys-scan-end" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="SymbolManagerIface"
            c:type="IAnjutaSymbolManagerIface"
            glib:is-gtype-struct-for="SymbolManager">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="prj_scan_end">
        <callback name="prj_scan_end">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolManager" c:type="IAnjutaSymbolManager*"/>
            </parameter>
            <parameter name="process_id" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="sys_scan_end">
        <callback name="sys_scan_end">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolManager" c:type="IAnjutaSymbolManager*"/>
            </parameter>
            <parameter name="process_id" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="activate_package">
        <callback name="activate_package" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the package was loaded (or will be loaded once scanned).</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolManager" c:type="IAnjutaSymbolManager*"/>
            </parameter>
            <parameter name="pkg_name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the package to activate. The colon char must be avoided.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="pkg_version" transfer-ownership="none">
              <doc xml:whitespace="preserve">Version of the package. The colon char must be avoided.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_package" introspectable="0">
        <callback name="add_package" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if the package will be loaded into the db, FALSE if the package</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolManager" c:type="IAnjutaSymbolManager*"/>
            </parameter>
            <parameter name="pkg_name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the package to scan. Should be the name given by pkg-config. The colon char must be avoided.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="pkg_version" transfer-ownership="none">
              <doc xml:whitespace="preserve">Version of the package. The colon char must be avoided. or by the language implementation (Python, Javascript, etc.)</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="files" transfer-ownership="none">
              <doc xml:whitespace="preserve">A list of GFile's to scan for this package</doc>
              <type name="GLib.List" c:type="GList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create_query" introspectable="0">
        <callback name="create_query" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">A #IAnjutaSymbolQuery object</doc>
            <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolManager" c:type="IAnjutaSymbolManager*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the query. It decides what query type it is.</doc>
              <type name="SymbolQueryName" c:type="IAnjutaSymbolQueryName"/>
            </parameter>
            <parameter name="db" transfer-ownership="none">
              <doc xml:whitespace="preserve">The database to use.</doc>
              <type name="SymbolQueryDb" c:type="IAnjutaSymbolQueryDb"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate_all">
        <callback name="deactivate_all" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolManager" c:type="IAnjutaSymbolManager*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate_package">
        <callback name="deactivate_package" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolManager" c:type="IAnjutaSymbolManager*"/>
            </parameter>
            <parameter name="pkg_name" transfer-ownership="none">
              <doc xml:whitespace="preserve">name of the package. The colon char must be avoided.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="pkg_version" transfer-ownership="none">
              <doc xml:whitespace="preserve">Version of the package. The colon char must be avoided.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="SymbolQuery"
               c:symbol-prefix="symbol_query"
               c:type="IAnjutaSymbolQuery"
               glib:type-name="IAnjutaSymbolQuery"
               glib:get-type="ianjuta_symbol_query_get_type"
               glib:type-struct="SymbolQueryIface">
      <function name="error_quark"
                c:identifier="ianjuta_symbol_query_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="async_result">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="result" transfer-ownership="none">
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="cancel" invoker="cancel" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="search"
                      invoker="search"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="pattern" transfer-ownership="none">
            <doc xml:whitespace="preserve">Search pattern in compliance with SQL LIKE syntax</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_all"
                      invoker="search_all"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_ALL query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="search_class_parents"
                      invoker="search_class_parents"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_CLASS_PARENTS query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none">
            <doc xml:whitespace="preserve">The class symbol whose parents to get.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_file"
                      invoker="search_file"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_FILE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="pattern" transfer-ownership="none">
            <doc xml:whitespace="preserve">Search pattern in compliance with SQL LIKE syntax</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">The file whose symbols are searched.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_id"
                      invoker="search_id"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_ID query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol_id" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_in_scope"
                      invoker="search_in_scope"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_IN_SCOPE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="pattern" transfer-ownership="none">
            <doc xml:whitespace="preserve">Search pattern in compliance with SQL LIKE syntax</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="scope" transfer-ownership="none">
            <doc xml:whitespace="preserve">The scope inside which symbols are searched.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_members"
                      invoker="search_members"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_MEMBERS query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none">
            <doc xml:whitespace="preserve">The symbol whose members to get.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_parent_scope"
                      invoker="search_parent_scope"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_PARENT_SCOPE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none">
            <doc xml:whitespace="preserve">The symbol whose parent scope is to be found.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_parent_scope_file"
                      invoker="search_parent_scope_file"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_PARENT_SCOPE_FILE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none">
            <doc xml:whitespace="preserve">The symbol whose parent scope is to be found.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
          <parameter name="file_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">The file where the parent scope is to be found.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_scope"
                      invoker="search_scope"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_SCOPE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="file_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">The file where the scope is.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <doc xml:whitespace="preserve">The line where the scope is.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_fields" invoker="set_fields" throws="1">
        <doc xml:whitespace="preserve">Sets the fields of Query.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_fields" transfer-ownership="none">
            <doc xml:whitespace="preserve">Then number of fields to retrieve.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="fields" transfer-ownership="none">
            <doc xml:whitespace="preserve">The fields to retrieve in the query. The array length must be @n_fields.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_file_scope"
                      invoker="set_file_scope"
                      throws="1">
        <doc xml:whitespace="preserve">Sets the filescope search of Query.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filescope_search" transfer-ownership="none">
            <doc xml:whitespace="preserve">The filescope to search.</doc>
            <type name="SymbolQueryFileScope"
                  c:type="IAnjutaSymbolQueryFileScope"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_filters" invoker="set_filters" throws="1">
        <doc xml:whitespace="preserve">Sets the bit mask of symbol type filters. if @include_types is TRUE,
symbols satisfying the given symbol types are selected, otherwise
they are excluded.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filters" transfer-ownership="none">
            <doc xml:whitespace="preserve">The mode of query.</doc>
            <type name="SymbolType" c:type="IAnjutaSymbolType"/>
          </parameter>
          <parameter name="includes_types" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_group_by" invoker="set_group_by" throws="1">
        <doc xml:whitespace="preserve">Sets the field with which result of query is grouped. As a result
there will be no duplicates of with this field.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to group results.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_limit" invoker="set_limit" throws="1">
        <doc xml:whitespace="preserve">Sets the limit of Query results. No more than @limit results are
returned.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="limit" transfer-ownership="none">
            <doc xml:whitespace="preserve">The limit of query.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_mode" invoker="set_mode" throws="1">
        <doc xml:whitespace="preserve">Sets the mode of Query.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">The mode of query.</doc>
            <type name="SymbolQueryMode" c:type="IAnjutaSymbolQueryMode"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_offset" invoker="set_offset" throws="1">
        <doc xml:whitespace="preserve">Sets the offset index of Query results.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:whitespace="preserve">Offset of the resultset.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_order_by" invoker="set_order_by" throws="1">
        <doc xml:whitespace="preserve">Sets the field with which result of query is ordered.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to order the result.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="cancel"
              c:identifier="ianjuta_symbol_query_cancel"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="search"
              c:identifier="ianjuta_symbol_query_search"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="pattern" transfer-ownership="none">
            <doc xml:whitespace="preserve">Search pattern in compliance with SQL LIKE syntax</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_all"
              c:identifier="ianjuta_symbol_query_search_all"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_ALL query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
      </method>
      <method name="search_class_parents"
              c:identifier="ianjuta_symbol_query_search_class_parents"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_CLASS_PARENTS query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none">
            <doc xml:whitespace="preserve">The class symbol whose parents to get.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_file"
              c:identifier="ianjuta_symbol_query_search_file"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_FILE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="pattern" transfer-ownership="none">
            <doc xml:whitespace="preserve">Search pattern in compliance with SQL LIKE syntax</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">The file whose symbols are searched.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_id"
              c:identifier="ianjuta_symbol_query_search_id"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_ID query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol_id" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_in_scope"
              c:identifier="ianjuta_symbol_query_search_in_scope"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_IN_SCOPE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="pattern" transfer-ownership="none">
            <doc xml:whitespace="preserve">Search pattern in compliance with SQL LIKE syntax</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="scope" transfer-ownership="none">
            <doc xml:whitespace="preserve">The scope inside which symbols are searched.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_members"
              c:identifier="ianjuta_symbol_query_search_members"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_MEMBERS query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none">
            <doc xml:whitespace="preserve">The symbol whose members to get.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_parent_scope"
              c:identifier="ianjuta_symbol_query_search_parent_scope"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_PARENT_SCOPE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none">
            <doc xml:whitespace="preserve">The symbol whose parent scope is to be found.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_parent_scope_file"
              c:identifier="ianjuta_symbol_query_search_parent_scope_file"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_PARENT_SCOPE_FILE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none">
            <doc xml:whitespace="preserve">The symbol whose parent scope is to be found.</doc>
            <type name="Symbol" c:type="IAnjutaSymbol*"/>
          </parameter>
          <parameter name="file_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">The file where the parent scope is to be found.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_scope"
              c:identifier="ianjuta_symbol_query_search_scope"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Executes #IANJUTA_SYMBOL_QUERY_SEARCH_SCOPE query.</doc>
        <return-value>
          <type name="Iterable" c:type="IAnjutaIterable*"/>
        </return-value>
        <parameters>
          <parameter name="file_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">The file where the scope is.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="line" transfer-ownership="none">
            <doc xml:whitespace="preserve">The line where the scope is.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fields"
              c:identifier="ianjuta_symbol_query_set_fields"
              throws="1">
        <doc xml:whitespace="preserve">Sets the fields of Query.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_fields" transfer-ownership="none">
            <doc xml:whitespace="preserve">Then number of fields to retrieve.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="fields" transfer-ownership="none">
            <doc xml:whitespace="preserve">The fields to retrieve in the query. The array length must be @n_fields.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_file_scope"
              c:identifier="ianjuta_symbol_query_set_file_scope"
              throws="1">
        <doc xml:whitespace="preserve">Sets the filescope search of Query.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filescope_search" transfer-ownership="none">
            <doc xml:whitespace="preserve">The filescope to search.</doc>
            <type name="SymbolQueryFileScope"
                  c:type="IAnjutaSymbolQueryFileScope"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_filters"
              c:identifier="ianjuta_symbol_query_set_filters"
              throws="1">
        <doc xml:whitespace="preserve">Sets the bit mask of symbol type filters. if @include_types is TRUE,
symbols satisfying the given symbol types are selected, otherwise
they are excluded.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filters" transfer-ownership="none">
            <doc xml:whitespace="preserve">The mode of query.</doc>
            <type name="SymbolType" c:type="IAnjutaSymbolType"/>
          </parameter>
          <parameter name="includes_types" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_group_by"
              c:identifier="ianjuta_symbol_query_set_group_by"
              throws="1">
        <doc xml:whitespace="preserve">Sets the field with which result of query is grouped. As a result
there will be no duplicates of with this field.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to group results.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_limit"
              c:identifier="ianjuta_symbol_query_set_limit"
              throws="1">
        <doc xml:whitespace="preserve">Sets the limit of Query results. No more than @limit results are
returned.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="limit" transfer-ownership="none">
            <doc xml:whitespace="preserve">The limit of query.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mode"
              c:identifier="ianjuta_symbol_query_set_mode"
              throws="1">
        <doc xml:whitespace="preserve">Sets the mode of Query.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">The mode of query.</doc>
            <type name="SymbolQueryMode" c:type="IAnjutaSymbolQueryMode"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_offset"
              c:identifier="ianjuta_symbol_query_set_offset"
              throws="1">
        <doc xml:whitespace="preserve">Sets the offset index of Query results.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:whitespace="preserve">Offset of the resultset.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_order_by"
              c:identifier="ianjuta_symbol_query_set_order_by"
              throws="1">
        <doc xml:whitespace="preserve">Sets the field with which result of query is ordered.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <doc xml:whitespace="preserve">The field to order the result.</doc>
            <type name="SymbolField" c:type="IAnjutaSymbolField"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="async-result" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GObject.Object"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <enumeration name="SymbolQueryDb"
                 glib:type-name="IAnjutaSymbolQueryDb"
                 glib:get-type="ianjuta_symbol_query_db_get_type"
                 c:type="IAnjutaSymbolQueryDb">
      <doc xml:whitespace="preserve">Sets the database to use for the query. System database is where
all system library symbols are found. While project database is where
currently open project's symbols are found.</doc>
      <member name="db_project"
              value="0"
              c:identifier="IANJUTA_SYMBOL_QUERY_DB_PROJECT"
              glib:nick="db-project"/>
      <member name="db_system"
              value="1"
              c:identifier="IANJUTA_SYMBOL_QUERY_DB_SYSTEM"
              glib:nick="db-system"/>
    </enumeration>
    <enumeration name="SymbolQueryFileScope"
                 glib:type-name="IAnjutaSymbolQueryFileScope"
                 glib:get-type="ianjuta_symbol_query_file_scope_get_type"
                 c:type="IAnjutaSymbolQueryFileScope">
      <doc xml:whitespace="preserve">Defines file scope of symbols to query.</doc>
      <member name="search_fs_ignore"
              value="0"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_FS_IGNORE"
              glib:nick="search-fs-ignore"/>
      <member name="search_fs_public"
              value="1"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_FS_PUBLIC"
              glib:nick="search-fs-public"/>
      <member name="search_fs_private"
              value="2"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_FS_PRIVATE"
              glib:nick="search-fs-private"/>
    </enumeration>
    <record name="SymbolQueryIface"
            c:type="IAnjutaSymbolQueryIface"
            glib:is-gtype-struct-for="SymbolQuery">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="async_result">
        <callback name="async_result">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="result" transfer-ownership="none">
              <type name="GObject.Object" c:type="GObject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cancel">
        <callback name="cancel" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search" introspectable="0">
        <callback name="search" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="pattern" transfer-ownership="none">
              <doc xml:whitespace="preserve">Search pattern in compliance with SQL LIKE syntax</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_all" introspectable="0">
        <callback name="search_all" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_class_parents" introspectable="0">
        <callback name="search_class_parents" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="symbol" transfer-ownership="none">
              <doc xml:whitespace="preserve">The class symbol whose parents to get.</doc>
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_file" introspectable="0">
        <callback name="search_file" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="pattern" transfer-ownership="none">
              <doc xml:whitespace="preserve">Search pattern in compliance with SQL LIKE syntax</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">The file whose symbols are searched.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_id" introspectable="0">
        <callback name="search_id" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="symbol_id" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_in_scope" introspectable="0">
        <callback name="search_in_scope" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="pattern" transfer-ownership="none">
              <doc xml:whitespace="preserve">Search pattern in compliance with SQL LIKE syntax</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="scope" transfer-ownership="none">
              <doc xml:whitespace="preserve">The scope inside which symbols are searched.</doc>
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_members" introspectable="0">
        <callback name="search_members" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="symbol" transfer-ownership="none">
              <doc xml:whitespace="preserve">The symbol whose members to get.</doc>
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_parent_scope" introspectable="0">
        <callback name="search_parent_scope" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="symbol" transfer-ownership="none">
              <doc xml:whitespace="preserve">The symbol whose parent scope is to be found.</doc>
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_parent_scope_file" introspectable="0">
        <callback name="search_parent_scope_file"
                  introspectable="0"
                  throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="symbol" transfer-ownership="none">
              <doc xml:whitespace="preserve">The symbol whose parent scope is to be found.</doc>
              <type name="Symbol" c:type="IAnjutaSymbol*"/>
            </parameter>
            <parameter name="file_path" transfer-ownership="none">
              <doc xml:whitespace="preserve">The file where the parent scope is to be found.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_scope" introspectable="0">
        <callback name="search_scope" introspectable="0" throws="1">
          <return-value>
            <type name="Iterable" c:type="IAnjutaIterable*"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="file_path" transfer-ownership="none">
              <doc xml:whitespace="preserve">The file where the scope is.</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="line" transfer-ownership="none">
              <doc xml:whitespace="preserve">The line where the scope is.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_fields">
        <callback name="set_fields" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="n_fields" transfer-ownership="none">
              <doc xml:whitespace="preserve">Then number of fields to retrieve.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="fields" transfer-ownership="none">
              <doc xml:whitespace="preserve">The fields to retrieve in the query. The array length must be @n_fields.</doc>
              <type name="SymbolField" c:type="IAnjutaSymbolField*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_file_scope">
        <callback name="set_file_scope" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="filescope_search" transfer-ownership="none">
              <doc xml:whitespace="preserve">The filescope to search.</doc>
              <type name="SymbolQueryFileScope"
                    c:type="IAnjutaSymbolQueryFileScope"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_filters">
        <callback name="set_filters" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="filters" transfer-ownership="none">
              <doc xml:whitespace="preserve">The mode of query.</doc>
              <type name="SymbolType" c:type="IAnjutaSymbolType"/>
            </parameter>
            <parameter name="includes_types" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_group_by">
        <callback name="set_group_by" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="field" transfer-ownership="none">
              <doc xml:whitespace="preserve">The field to group results.</doc>
              <type name="SymbolField" c:type="IAnjutaSymbolField"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_limit">
        <callback name="set_limit" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="limit" transfer-ownership="none">
              <doc xml:whitespace="preserve">The limit of query.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_mode">
        <callback name="set_mode" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="mode" transfer-ownership="none">
              <doc xml:whitespace="preserve">The mode of query.</doc>
              <type name="SymbolQueryMode" c:type="IAnjutaSymbolQueryMode"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_offset">
        <callback name="set_offset" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="offset" transfer-ownership="none">
              <doc xml:whitespace="preserve">Offset of the resultset.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_order_by">
        <callback name="set_order_by" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="SymbolQuery" c:type="IAnjutaSymbolQuery*"/>
            </parameter>
            <parameter name="field" transfer-ownership="none">
              <doc xml:whitespace="preserve">The field to order the result.</doc>
              <type name="SymbolField" c:type="IAnjutaSymbolField"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="SymbolQueryMode"
                 glib:type-name="IAnjutaSymbolQueryMode"
                 glib:get-type="ianjuta_symbol_query_mode_get_type"
                 c:type="IAnjutaSymbolQueryMode">
      <doc xml:whitespace="preserve">This parameter determines the mode of query execution. By default,
IANJUTA_SYMBOL_QUERY_MODE_SYNC is selected.</doc>
      <member name="mode_sync"
              value="0"
              c:identifier="IANJUTA_SYMBOL_QUERY_MODE_SYNC"
              glib:nick="mode-sync"/>
      <member name="mode_async"
              value="1"
              c:identifier="IANJUTA_SYMBOL_QUERY_MODE_ASYNC"
              glib:nick="mode-async"/>
      <member name="mode_queued"
              value="2"
              c:identifier="IANJUTA_SYMBOL_QUERY_MODE_QUEUED"
              glib:nick="mode-queued"/>
    </enumeration>
    <enumeration name="SymbolQueryName"
                 glib:type-name="IAnjutaSymbolQueryName"
                 glib:get-type="ianjuta_symbol_query_name_get_type"
                 c:type="IAnjutaSymbolQueryName">
      <doc xml:whitespace="preserve">Names of query that defined what kind of query it is.</doc>
      <member name="search"
              value="0"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH"
              glib:nick="search"/>
      <member name="search_all"
              value="1"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_ALL"
              glib:nick="search-all"/>
      <member name="search_file"
              value="2"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_FILE"
              glib:nick="search-file"/>
      <member name="search_in_scope"
              value="3"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_IN_SCOPE"
              glib:nick="search-in-scope"/>
      <member name="search_id"
              value="4"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_ID"
              glib:nick="search-id"/>
      <member name="search_members"
              value="5"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_MEMBERS"
              glib:nick="search-members"/>
      <member name="search_class_parents"
              value="6"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_CLASS_PARENTS"
              glib:nick="search-class-parents"/>
      <member name="search_scope"
              value="7"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_SCOPE"
              glib:nick="search-scope"/>
      <member name="search_parent_scope"
              value="8"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_PARENT_SCOPE"
              glib:nick="search-parent-scope"/>
      <member name="search_parent_scope_file"
              value="9"
              c:identifier="IANJUTA_SYMBOL_QUERY_SEARCH_PARENT_SCOPE_FILE"
              glib:nick="search-parent-scope-file"/>
    </enumeration>
    <enumeration name="SymbolType"
                 glib:type-name="IAnjutaSymbolType"
                 glib:get-type="ianjuta_symbol_type_get_type"
                 c:type="IAnjutaSymbolType">
      <member name="type_none"
              value="0"
              c:identifier="IANJUTA_SYMBOL_TYPE_NONE"
              glib:nick="type-none"/>
      <member name="type_undef"
              value="1"
              c:identifier="IANJUTA_SYMBOL_TYPE_UNDEF"
              glib:nick="type-undef"/>
      <member name="type_class"
              value="2"
              c:identifier="IANJUTA_SYMBOL_TYPE_CLASS"
              glib:nick="type-class"/>
      <member name="type_enum"
              value="4"
              c:identifier="IANJUTA_SYMBOL_TYPE_ENUM"
              glib:nick="type-enum"/>
      <member name="type_enumerator"
              value="8"
              c:identifier="IANJUTA_SYMBOL_TYPE_ENUMERATOR"
              glib:nick="type-enumerator"/>
      <member name="type_field"
              value="16"
              c:identifier="IANJUTA_SYMBOL_TYPE_FIELD"
              glib:nick="type-field"/>
      <member name="type_function"
              value="32"
              c:identifier="IANJUTA_SYMBOL_TYPE_FUNCTION"
              glib:nick="type-function"/>
      <member name="type_interface"
              value="64"
              c:identifier="IANJUTA_SYMBOL_TYPE_INTERFACE"
              glib:nick="type-interface"/>
      <member name="type_member"
              value="128"
              c:identifier="IANJUTA_SYMBOL_TYPE_MEMBER"
              glib:nick="type-member"/>
      <member name="type_method"
              value="256"
              c:identifier="IANJUTA_SYMBOL_TYPE_METHOD"
              glib:nick="type-method"/>
      <member name="type_namespace"
              value="512"
              c:identifier="IANJUTA_SYMBOL_TYPE_NAMESPACE"
              glib:nick="type-namespace"/>
      <member name="type_package"
              value="1024"
              c:identifier="IANJUTA_SYMBOL_TYPE_PACKAGE"
              glib:nick="type-package"/>
      <member name="type_prototype"
              value="2048"
              c:identifier="IANJUTA_SYMBOL_TYPE_PROTOTYPE"
              glib:nick="type-prototype"/>
      <member name="type_struct"
              value="4096"
              c:identifier="IANJUTA_SYMBOL_TYPE_STRUCT"
              glib:nick="type-struct"/>
      <member name="type_typedef"
              value="8192"
              c:identifier="IANJUTA_SYMBOL_TYPE_TYPEDEF"
              glib:nick="type-typedef"/>
      <member name="type_union"
              value="16384"
              c:identifier="IANJUTA_SYMBOL_TYPE_UNION"
              glib:nick="type-union"/>
      <member name="type_variable"
              value="32768"
              c:identifier="IANJUTA_SYMBOL_TYPE_VARIABLE"
              glib:nick="type-variable"/>
      <member name="type_externvar"
              value="65536"
              c:identifier="IANJUTA_SYMBOL_TYPE_EXTERNVAR"
              glib:nick="type-externvar"/>
      <member name="type_macro"
              value="131072"
              c:identifier="IANJUTA_SYMBOL_TYPE_MACRO"
              glib:nick="type-macro"/>
      <member name="type_macro_with_arg"
              value="262144"
              c:identifier="IANJUTA_SYMBOL_TYPE_MACRO_WITH_ARG"
              glib:nick="type-macro-with-arg"/>
      <member name="type_file"
              value="524288"
              c:identifier="IANJUTA_SYMBOL_TYPE_FILE"
              glib:nick="type-file"/>
      <member name="type_other"
              value="1048576"
              c:identifier="IANJUTA_SYMBOL_TYPE_OTHER"
              glib:nick="type-other"/>
      <member name="type_scope_container"
              value="22086"
              c:identifier="IANJUTA_SYMBOL_TYPE_SCOPE_CONTAINER"
              glib:nick="type-scope-container"/>
      <member name="type_max"
              value="2097151"
              c:identifier="IANJUTA_SYMBOL_TYPE_MAX"
              glib:nick="type-max"/>
    </enumeration>
    <interface name="Terminal"
               c:symbol-prefix="terminal"
               c:type="IAnjutaTerminal"
               glib:type-name="IAnjutaTerminal"
               glib:get-type="ianjuta_terminal_get_type"
               glib:type-struct="TerminalIface">
      <function name="error_quark" c:identifier="ianjuta_terminal_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="child_exited">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pid" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="status" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="execute_command"
                      invoker="execute_command"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="pid_t"/>
        </return-value>
        <parameters>
          <parameter name="directory" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="command" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="environment" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="execute_command"
              c:identifier="ianjuta_terminal_execute_command"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="pid_t"/>
        </return-value>
        <parameters>
          <parameter name="directory" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="command" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="environment" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="child-exited" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <record name="TerminalIface"
            c:type="IAnjutaTerminalIface"
            glib:is-gtype-struct-for="Terminal">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="child_exited">
        <callback name="child_exited">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Terminal" c:type="IAnjutaTerminal*"/>
            </parameter>
            <parameter name="pid" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="status" transfer-ownership="none">
              <type name="gint" c:type="gint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="execute_command">
        <callback name="execute_command" throws="1">
          <return-value transfer-ownership="none">
            <type name="gint" c:type="pid_t"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Terminal" c:type="IAnjutaTerminal*"/>
            </parameter>
            <parameter name="directory" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="command" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="environment" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Todo"
               c:symbol-prefix="todo"
               c:type="IAnjutaTodo"
               glib:type-name="IAnjutaTodo"
               glib:get-type="ianjuta_todo_get_type"
               glib:type-struct="TodoIface">
      <function name="error_quark" c:identifier="ianjuta_todo_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="load" invoker="load" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="load" c:identifier="ianjuta_todo_load" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="TodoIface"
            c:type="IAnjutaTodoIface"
            glib:is-gtype-struct-for="Todo">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="load">
        <callback name="load" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Todo" c:type="IAnjutaTodo*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Vcs"
               c:symbol-prefix="vcs"
               c:type="IAnjutaVcs"
               glib:type-name="IAnjutaVcs"
               glib:get-type="ianjuta_vcs_get_type"
               glib:type-struct="VcsIface">
      <virtual-method name="add" invoker="add" throws="1">
        <doc xml:whitespace="preserve">Add files to the VCS repository.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="files" transfer-ownership="none">
            <doc xml:whitespace="preserve">List of List of files, represented as #Gfile objects, to add</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gio.File"/>
            </type>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="checkout" invoker="checkout" throws="1">
        <doc xml:whitespace="preserve">Check out a copy of a code repository.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="repository_location" transfer-ownership="none">
            <doc xml:whitespace="preserve">Location of repository to check out</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="dest" transfer-ownership="none">
            <doc xml:whitespace="preserve">Destination of checked out copy</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="cancel" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">An optional #GCancellable object to cancel the operation, or NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="diff" invoker="diff" introspectable="0" throws="1">
        <doc xml:whitespace="preserve">Generates a unified diff of the file represented by @file.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">File to diff</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <doc xml:whitespace="preserve">Callback to call when diff data becomes available</doc>
            <type name="VcsDiffCallback" c:type="IAnjutaVcsDiffCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <doc xml:whitespace="preserve">User data passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancel" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">An optional #GCancellable object to cancel the operation, or NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="query_status"
                      invoker="query_status"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Querys the status of files in the repository.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">File/directory to query</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <doc xml:whitespace="preserve">callback to call when data for a particular file is available</doc>
            <type name="VcsStatusCallback" c:type="IAnjutaVcsStatusCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="2">
            <doc xml:whitespace="preserve">User data passed to callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancel" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">An optional #GCancellable object to cancel the operation, or NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove" invoker="remove" throws="1">
        <doc xml:whitespace="preserve">Remove files from the VCS repository.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="files" transfer-ownership="none">
            <doc xml:whitespace="preserve">List of files, represented as #Gfile objects, to remove</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gio.File"/>
            </type>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="status_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="add" c:identifier="ianjuta_vcs_add" throws="1">
        <doc xml:whitespace="preserve">Add files to the VCS repository.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="files" transfer-ownership="none">
            <doc xml:whitespace="preserve">List of List of files, represented as #Gfile objects, to add</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gio.File"/>
            </type>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </method>
      <method name="checkout" c:identifier="ianjuta_vcs_checkout" throws="1">
        <doc xml:whitespace="preserve">Check out a copy of a code repository.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="repository_location" transfer-ownership="none">
            <doc xml:whitespace="preserve">Location of repository to check out</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="dest" transfer-ownership="none">
            <doc xml:whitespace="preserve">Destination of checked out copy</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="cancel" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">An optional #GCancellable object to cancel the operation, or NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </method>
      <method name="diff"
              c:identifier="ianjuta_vcs_diff"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Generates a unified diff of the file represented by @file.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">File to diff</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <doc xml:whitespace="preserve">Callback to call when diff data becomes available</doc>
            <type name="VcsDiffCallback" c:type="IAnjutaVcsDiffCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancel" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">An optional #GCancellable object to cancel the operation, or NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_status"
              c:identifier="ianjuta_vcs_query_status"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Querys the status of files in the repository.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">File/directory to query</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <doc xml:whitespace="preserve">callback to call when data for a particular file is available</doc>
            <type name="VcsStatusCallback" c:type="IAnjutaVcsStatusCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data passed to callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cancel" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">An optional #GCancellable object to cancel the operation, or NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="ianjuta_vcs_remove" throws="1">
        <doc xml:whitespace="preserve">Remove files from the VCS repository.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="files" transfer-ownership="none">
            <doc xml:whitespace="preserve">List of files, represented as #Gfile objects, to remove</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Gio.File"/>
            </type>
          </parameter>
          <parameter name="notify" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
            <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="status-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </interface>
    <callback name="VcsDiffCallback" c:type="IAnjutaVcsDiffCallback">
      <doc xml:whitespace="preserve">Called when diff data comes from ianjuta_vcs_diff.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <doc xml:whitespace="preserve">File being diffed</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
        <parameter name="diff" transfer-ownership="none">
          <doc xml:whitespace="preserve">Diff data</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <doc xml:whitespace="preserve">User data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="VcsError"
                 glib:type-name="IAnjutaVcsError"
                 glib:get-type="ianjuta_vcs_error_get_type"
                 c:type="IAnjutaVcsError">
      <doc xml:whitespace="preserve">These enumeration is used to specify errors.</doc>
      <member name="unkown_error"
              value="0"
              c:identifier="IANJUTA_VCS_UNKOWN_ERROR"
              glib:nick="unkown-error"/>
      <function name="quark" c:identifier="ianjuta_vcs_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="VcsIface"
            c:type="IAnjutaVcsIface"
            glib:is-gtype-struct-for="Vcs">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="status_changed">
        <callback name="status_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Vcs" c:type="IAnjutaVcs*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add">
        <callback name="add" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Vcs" c:type="IAnjutaVcs*"/>
            </parameter>
            <parameter name="files" transfer-ownership="none">
              <doc xml:whitespace="preserve">List of List of files, represented as #Gfile objects, to add</doc>
              <type name="GLib.List" c:type="GList*">
                <type name="Gio.File"/>
              </type>
            </parameter>
            <parameter name="notify" transfer-ownership="none">
              <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
              <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="checkout">
        <callback name="checkout" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Vcs" c:type="IAnjutaVcs*"/>
            </parameter>
            <parameter name="repository_location" transfer-ownership="none">
              <doc xml:whitespace="preserve">Location of repository to check out</doc>
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="dest" transfer-ownership="none">
              <doc xml:whitespace="preserve">Destination of checked out copy</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="cancel" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">An optional #GCancellable object to cancel the operation, or NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="notify" transfer-ownership="none">
              <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
              <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="diff" introspectable="0">
        <callback name="diff" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Vcs" c:type="IAnjutaVcs*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">File to diff</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <doc xml:whitespace="preserve">Callback to call when diff data becomes available</doc>
              <type name="VcsDiffCallback" c:type="IAnjutaVcsDiffCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <doc xml:whitespace="preserve">User data passed to @callback</doc>
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="cancel" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">An optional #GCancellable object to cancel the operation, or NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="notify" transfer-ownership="none">
              <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
              <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="query_status" introspectable="0">
        <callback name="query_status" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Vcs" c:type="IAnjutaVcs*"/>
            </parameter>
            <parameter name="file" transfer-ownership="none">
              <doc xml:whitespace="preserve">File/directory to query</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="3">
              <doc xml:whitespace="preserve">callback to call when data for a particular file is available</doc>
              <type name="VcsStatusCallback"
                    c:type="IAnjutaVcsStatusCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <doc xml:whitespace="preserve">User data passed to callback</doc>
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="cancel" transfer-ownership="none" allow-none="1">
              <doc xml:whitespace="preserve">An optional #GCancellable object to cancel the operation, or NULL</doc>
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="notify" transfer-ownership="none">
              <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
              <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove">
        <callback name="remove" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Vcs" c:type="IAnjutaVcs*"/>
            </parameter>
            <parameter name="files" transfer-ownership="none">
              <doc xml:whitespace="preserve">List of files, represented as #Gfile objects, to remove</doc>
              <type name="GLib.List" c:type="GList*">
                <type name="Gio.File"/>
              </type>
            </parameter>
            <parameter name="notify" transfer-ownership="none">
              <doc xml:whitespace="preserve">#AnjutaAsyncNotify object for finish notification and error reporting.</doc>
              <type name="Anjuta.AsyncNotify" c:type="AnjutaAsyncNotify*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="VcsStatusCallback" c:type="IAnjutaVcsStatusCallback">
      <doc xml:whitespace="preserve">Callback called for each status record returned by 
ianjuta_vcs_query_status.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <doc xml:whitespace="preserve">File representing the file for which status is given</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
        <parameter name="status" transfer-ownership="none">
          <doc xml:whitespace="preserve">#AnjutaVcsStatus for the file represented by @file.</doc>
          <type name="Anjuta.VcsStatus" c:type="AnjutaVcsStatus"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <doc xml:whitespace="preserve">User data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <interface name="Wizard"
               c:symbol-prefix="wizard"
               c:type="IAnjutaWizard"
               glib:type-name="IAnjutaWizard"
               glib:get-type="ianjuta_wizard_get_type"
               glib:type-struct="WizardIface">
      <function name="error_quark" c:identifier="ianjuta_wizard_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="activate" invoker="activate" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="activate"
              c:identifier="ianjuta_wizard_activate"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </interface>
    <record name="WizardIface"
            c:type="IAnjutaWizardIface"
            glib:is-gtype-struct-for="Wizard">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Wizard" c:type="IAnjutaWizard*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function name="buildable_error_quark"
              c:identifier="ianjuta_buildable_error_quark"
              moved-to="Buildable.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="builder_error_quark"
              c:identifier="ianjuta_builder_error_quark"
              moved-to="BuilderError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="debug_manager_error_quark"
              c:identifier="ianjuta_debug_manager_error_quark"
              moved-to="DebugManager.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="debugger_breakpoint_error_quark"
              c:identifier="ianjuta_debugger_breakpoint_error_quark"
              moved-to="DebuggerBreakpoint.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="debugger_error_quark"
              c:identifier="ianjuta_debugger_error_quark"
              moved-to="DebuggerError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="debugger_instruction_error_quark"
              c:identifier="ianjuta_debugger_instruction_error_quark"
              moved-to="DebuggerInstruction.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="debugger_memory_error_quark"
              c:identifier="ianjuta_debugger_memory_error_quark"
              moved-to="DebuggerMemory.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="debugger_register_error_quark"
              c:identifier="ianjuta_debugger_register_error_quark"
              moved-to="DebuggerRegister.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="debugger_variable_error_quark"
              c:identifier="ianjuta_debugger_variable_error_quark"
              moved-to="DebuggerVariable.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="document_error_quark"
              c:identifier="ianjuta_document_error_quark"
              moved-to="Document.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="document_manager_error_quark"
              c:identifier="ianjuta_document_manager_error_quark"
              moved-to="DocumentManagerError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_assist_error_quark"
              c:identifier="ianjuta_editor_assist_error_quark"
              moved-to="EditorAssist.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_cell_error_quark"
              c:identifier="ianjuta_editor_cell_error_quark"
              moved-to="EditorCell.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_cell_style_error_quark"
              c:identifier="ianjuta_editor_cell_style_error_quark"
              moved-to="EditorCellStyle.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_comment_error_quark"
              c:identifier="ianjuta_editor_comment_error_quark"
              moved-to="EditorComment.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_convert_error_quark"
              c:identifier="ianjuta_editor_convert_error_quark"
              moved-to="EditorConvert.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_error_quark"
              c:identifier="ianjuta_editor_error_quark"
              moved-to="EditorError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_factory_error_quark"
              c:identifier="ianjuta_editor_factory_error_quark"
              moved-to="EditorFactory.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_folds_error_quark"
              c:identifier="ianjuta_editor_folds_error_quark"
              moved-to="EditorFolds.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_glade_signal_error_quark"
              c:identifier="ianjuta_editor_glade_signal_error_quark"
              moved-to="EditorGladeSignal.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_goto_error_quark"
              c:identifier="ianjuta_editor_goto_error_quark"
              moved-to="EditorGoto.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_hover_error_quark"
              c:identifier="ianjuta_editor_hover_error_quark"
              moved-to="EditorHover.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_language_error_quark"
              c:identifier="ianjuta_editor_language_error_quark"
              moved-to="EditorLanguage.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_line_mode_error_quark"
              c:identifier="ianjuta_editor_line_mode_error_quark"
              moved-to="EditorLineMode.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_search_error_quark"
              c:identifier="ianjuta_editor_search_error_quark"
              moved-to="EditorSearch.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_selection_error_quark"
              c:identifier="ianjuta_editor_selection_error_quark"
              moved-to="EditorSelection.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_tip_error_quark"
              c:identifier="ianjuta_editor_tip_error_quark"
              moved-to="EditorTip.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_view_error_quark"
              c:identifier="ianjuta_editor_view_error_quark"
              moved-to="EditorView.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="editor_zoom_error_quark"
              c:identifier="ianjuta_editor_zoom_error_quark"
              moved-to="EditorZoom.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="environment_error_quark"
              c:identifier="ianjuta_environment_error_quark"
              moved-to="EnvironmentError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="file_error_quark"
              c:identifier="ianjuta_file_error_quark"
              moved-to="File.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="file_loader_error_quark"
              c:identifier="ianjuta_file_loader_error_quark"
              moved-to="FileLoader.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="file_manager_error_quark"
              c:identifier="ianjuta_file_manager_error_quark"
              moved-to="FileManager.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="file_savable_error_quark"
              c:identifier="ianjuta_file_savable_error_quark"
              moved-to="FileSavable.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="help_error_quark"
              c:identifier="ianjuta_help_error_quark"
              moved-to="Help.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="indenter_error_quark"
              c:identifier="ianjuta_indenter_error_quark"
              moved-to="Indenter.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="indicable_error_quark"
              c:identifier="ianjuta_indicable_error_quark"
              moved-to="Indicable.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="iterable_error_quark"
              c:identifier="ianjuta_iterable_error_quark"
              moved-to="Iterable.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="iterable_tree_error_quark"
              c:identifier="ianjuta_iterable_tree_error_quark"
              moved-to="IterableTree.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="language_error_quark"
              c:identifier="ianjuta_language_error_quark"
              moved-to="Language.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="loader_error_quark"
              c:identifier="ianjuta_loader_error_quark"
              moved-to="Loader.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="markable_error_quark"
              c:identifier="ianjuta_markable_error_quark"
              moved-to="MarkableError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="message_manager_error_quark"
              c:identifier="ianjuta_message_manager_error_quark"
              moved-to="MessageManagerError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="message_view_error_quark"
              c:identifier="ianjuta_message_view_error_quark"
              moved-to="MessageView.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="plugin_factory_error_quark"
              c:identifier="ianjuta_plugin_factory_error_quark"
              moved-to="PluginFactoryError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="preferences_error_quark"
              c:identifier="ianjuta_preferences_error_quark"
              moved-to="Preferences.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="print_error_quark"
              c:identifier="ianjuta_print_error_quark"
              moved-to="Print.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="project_backend_error_quark"
              c:identifier="ianjuta_project_backend_error_quark"
              moved-to="ProjectBackend.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="project_error_quark"
              c:identifier="ianjuta_project_error_quark"
              moved-to="ProjectError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="project_manager_error_quark"
              c:identifier="ianjuta_project_manager_error_quark"
              moved-to="ProjectManager.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="provider_error_quark"
              c:identifier="ianjuta_provider_error_quark"
              moved-to="Provider.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="snippets_manager_error_quark"
              c:identifier="ianjuta_snippets_manager_error_quark"
              moved-to="SnippetsManager.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="stream_error_quark"
              c:identifier="ianjuta_stream_error_quark"
              moved-to="Stream.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="stream_loader_error_quark"
              c:identifier="ianjuta_stream_loader_error_quark"
              moved-to="StreamLoader.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="stream_savable_error_quark"
              c:identifier="ianjuta_stream_savable_error_quark"
              moved-to="StreamSavable.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="symbol_error_quark"
              c:identifier="ianjuta_symbol_error_quark"
              moved-to="Symbol.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="symbol_manager_error_quark"
              c:identifier="ianjuta_symbol_manager_error_quark"
              moved-to="SymbolManager.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="symbol_query_error_quark"
              c:identifier="ianjuta_symbol_query_error_quark"
              moved-to="SymbolQuery.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="terminal_error_quark"
              c:identifier="ianjuta_terminal_error_quark"
              moved-to="Terminal.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="todo_error_quark"
              c:identifier="ianjuta_todo_error_quark"
              moved-to="Todo.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="vcs_error_quark"
              c:identifier="ianjuta_vcs_error_quark"
              moved-to="VcsError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="wizard_error_quark"
              c:identifier="ianjuta_wizard_error_quark"
              moved-to="Wizard.error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
