<?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="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/libanjuta.h"/>
  <namespace name="Anjuta"
             version="3.0"
             shared-library="libanjuta-3.so.0.0"
             c:identifier-prefixes="Anjuta"
             c:symbol-prefixes="anjuta">
    <alias name="GluePlugin" c:type="AnjutaGluePlugin">
      <type name="GObject.TypeModule" c:type="GTypeModule"/>
    </alias>
    <class name="AsyncCommand"
           c:symbol-prefix="async_command"
           c:type="AnjutaAsyncCommand"
           parent="Command"
           glib:type-name="AnjutaAsyncCommand"
           glib:get-type="anjuta_async_command_get_type"
           glib:type-struct="AsyncCommandClass">
      <function name="get_error_message"
                c:identifier="anjuta_async_command_get_error_message">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">The error message the async command resulted in. The caller should free the string</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="command" transfer-ownership="none">
            <doc xml:whitespace="preserve">AnjutaAsyncCommand object</doc>
            <type name="Command" c:type="AnjutaCommand*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_error_message"
                c:identifier="anjuta_async_command_set_error_message">
        <doc xml:whitespace="preserve">Set the error message this async command resulted in</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="command" transfer-ownership="none">
            <doc xml:whitespace="preserve">AnjutaAsyncCommand object</doc>
            <type name="Command" c:type="AnjutaCommand*"/>
          </parameter>
          <parameter name="error_message" transfer-ownership="none">
            <doc xml:whitespace="preserve">The error message that should be used</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="lock" c:identifier="anjuta_async_command_lock">
        <doc xml:whitespace="preserve">Locks the command's built-in mutex.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unlock" c:identifier="anjuta_async_command_unlock">
        <doc xml:whitespace="preserve">Unlocks the command's built-in mutex.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <field name="parent_instance">
        <type name="Command" c:type="AnjutaCommand"/>
      </field>
      <field name="priv">
        <type name="AsyncCommandPriv" c:type="AnjutaAsyncCommandPriv*"/>
      </field>
    </class>
    <record name="AsyncCommandClass"
            c:type="AnjutaAsyncCommandClass"
            glib:is-gtype-struct-for="AsyncCommand">
      <field name="parent_class">
        <type name="CommandClass" c:type="AnjutaCommandClass"/>
      </field>
    </record>
    <record name="AsyncCommandPriv"
            c:type="AnjutaAsyncCommandPriv"
            disguised="1">
    </record>
    <class name="AsyncNotify"
           c:symbol-prefix="async_notify"
           c:type="AnjutaAsyncNotify"
           parent="GObject.Object"
           glib:type-name="AnjutaAsyncNotify"
           glib:get-type="anjuta_async_notify_get_type"
           glib:type-struct="AsyncNotifyClass">
      <constructor name="new" c:identifier="anjuta_async_notify_new">
        <doc xml:whitespace="preserve">Creates a new #AnjutaAsyncNotify object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #AnjutaAsyncNotify instance</doc>
          <type name="AsyncNotify" c:type="AnjutaAsyncNotify*"/>
        </return-value>
      </constructor>
      <virtual-method name="finished">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_error"
              c:identifier="anjuta_async_notify_get_error"
              throws="1">
        <doc xml:whitespace="preserve">this object was passed. If no error is set, @error is set to NULL.

Gets the error set on @self.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="notify_finished"
              c:identifier="anjuta_async_notify_notify_finished">
        <doc xml:whitespace="preserve">Emits the finished signal. This method should only be used by 
interface methods themselves, not by clients.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_error" c:identifier="anjuta_async_notify_set_error">
        <doc xml:whitespace="preserve">Sets the error for an interface call. This method should only be used by 
interface implementations themselves, not by clients.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:whitespace="preserve">Error to set</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="AsyncNotifyPriv" c:type="AnjutaAsyncNotifyPriv*"/>
      </field>
      <glib:signal name="finished">
        <doc xml:whitespace="preserve">Notifies clients that the requested task has finished.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="AsyncNotifyClass"
            c:type="AnjutaAsyncNotifyClass"
            glib:is-gtype-struct-for="AsyncNotify">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="finished">
        <callback name="finished">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="AsyncNotify" c:type="AnjutaAsyncNotify*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="AsyncNotifyPriv"
            c:type="AnjutaAsyncNotifyPriv"
            disguised="1">
    </record>
    <class name="Autogen"
           c:symbol-prefix="autogen"
           c:type="AnjutaAutogen"
           parent="GObject.Object"
           glib:type-name="AnjutaAutogen"
           glib:get-type="anjuta_autogen_get_type"
           glib:type-struct="AutogenClass">
      <doc xml:whitespace="preserve">A GObject wrapper for running GNU autogen.</doc>
      <constructor name="new" c:identifier="anjuta_autogen_new">
        <doc xml:whitespace="preserve">Create a new autogen object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A new #AnjutaAutogen object. Free it using g_object_unref.</doc>
          <type name="Autogen" c:type="AnjutaAutogen*"/>
        </return-value>
      </constructor>
      <method name="clear_library_path"
              c:identifier="anjuta_autogen_clear_library_path">
        <doc xml:whitespace="preserve">Remove all library pathes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="execute" c:identifier="anjuta_autogen_execute" throws="1">
        <doc xml:whitespace="preserve">Asynchronously execute autogen to generate the output, calling @func when the
process is completed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the file has been processed without error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     allow-none="1"
                     scope="async"
                     closure="1">
            <doc xml:whitespace="preserve">A function called when autogen is terminated</doc>
            <type name="AutogenFunc" c:type="AnjutaAutogenFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">User data to pass to @func, or %NULL</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_library_paths"
              c:identifier="anjuta_autogen_get_library_paths">
        <doc xml:whitespace="preserve">Get the list of all directories searched for files included in the autogen
templates.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A list of directories. The content and the list itself are owned by the #AnjutaAutogen object and should not be modified or freed.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </method>
      <method name="set_input_file"
              c:identifier="anjuta_autogen_set_input_file">
        <doc xml:whitespace="preserve">Read an autogen template file, optionally adding autogen markers.

To be recognized as an autogen template, the first line has to contain:
- the start marker
- "autogen5 template"
- the end marker

These markers are a custom sequence of up to 7 characters delimiting
the start and the end of autogen variables and macros.

This function can add this line using the value of @start_marker and
@end_marker. If this line is already present in the file,
@start_marker and @end_marker must be %NULL.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the file has been read without error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the input template file</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="start_marker"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">start marker string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="end_marker"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">end marker string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_library_path"
              c:identifier="anjuta_autogen_set_library_path">
        <doc xml:whitespace="preserve">Add a new directory in the list of autogen libraries path.

Autogen can include files. These included file will be searched by default
in the same directory than the template file. This functions allows you to
add other directories.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="directory" transfer-ownership="none">
            <doc xml:whitespace="preserve">A path containing autogen library.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_output_callback"
              c:identifier="anjuta_autogen_set_output_callback">
        <doc xml:whitespace="preserve">Define that autogen output should be send to a function as soon as it arrives.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if there is no error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <doc xml:whitespace="preserve">Function call each time we get new data from autogen</doc>
            <type name="AutogenOutputFunc" c:type="AnjutaAutogenOutputFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">User data to pass to @func, or %NULL</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy" transfer-ownership="none" scope="async">
            <doc xml:whitespace="preserve">Function call when the process is complete to free user data</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_output_file"
              c:identifier="anjuta_autogen_set_output_file">
        <doc xml:whitespace="preserve">Define the name of the generated file.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the file has been set without error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the generated file</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_definition_file"
              c:identifier="anjuta_autogen_write_definition_file"
              throws="1">
        <doc xml:whitespace="preserve">Write the autogen definition file. The definition file defined variables
those will be used, typically replaced, in the template files.

The hash table keys are the names of the variables. The name can include an
index in square bracket, by example "members[0]". All values are strings but
but they could include children using braces, by example
"{count=2; list="aa bb"}".

The file is created in a temporary directory and removed when the object
is destroyed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the file has been written without error,</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="values" transfer-ownership="none">
            <doc xml:whitespace="preserve">A hash table containing all definitions</doc>
            <type name="GLib.HashTable" c:type="GHashTable*">
              <type name="utf8"/>
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="AutogenClass"
            c:type="AnjutaAutogenClass"
            disguised="1"
            glib:is-gtype-struct-for="Autogen">
    </record>
    <callback name="AutogenFunc" c:type="AnjutaAutogenFunc">
      <doc xml:whitespace="preserve">This function is called when the autogen process is completed.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="autogen" transfer-ownership="none">
          <doc xml:whitespace="preserve">#AnjutaAutogen object.</doc>
          <type name="Autogen" c:type="AnjutaAutogen*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">user data passed to the callback.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="AutogenOutputFunc" c:type="AnjutaAutogenOutputFunc">
      <doc xml:whitespace="preserve">This function is called each time there is new data from autogen.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="output" transfer-ownership="none">
          <doc xml:whitespace="preserve">data generated by autogen.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">user data passed to the callback.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="CModule"
           c:symbol-prefix="c_module"
           c:type="AnjutaCModule"
           parent="GObject.TypeModule"
           glib:type-name="AnjutaCModule"
           glib:get-type="anjuta_c_module_get_type"
           glib:type-struct="CModuleClass">
      <implements name="GObject.TypePlugin"/>
      <constructor name="new" c:identifier="anjuta_c_module_new">
        <doc xml:whitespace="preserve">Create a new #AnjutaCModule object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #AnjutaCModule object.</doc>
          <type name="CModule" c:type="AnjutaCModule*"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <doc xml:whitespace="preserve">The full path of the module</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of the module</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_last_error"
              c:identifier="anjuta_c_module_get_last_error"
              throws="1">
        <doc xml:whitespace="preserve">Receives the error that occured when the module was loaded</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if there was an Error, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </class>
    <record name="CModuleClass"
            c:type="AnjutaCModuleClass"
            disguised="1"
            glib:is-gtype-struct-for="CModule">
    </record>
    <class name="CPluginFactory"
           c:symbol-prefix="c_plugin_factory"
           c:type="AnjutaCPluginFactory"
           parent="GObject.Object"
           glib:type-name="AnjutaCPluginFactory"
           glib:get-type="anjuta_c_plugin_factory_get_type"
           glib:type-struct="CPluginFactoryClass">
      <constructor name="new" c:identifier="anjuta_c_plugin_factory_new">
        <doc xml:whitespace="preserve">Create a new #AnjutaCPluginFactory object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #AnjutaCPluginFactory object.</doc>
          <type name="CPluginFactory" c:type="AnjutaCPluginFactory*"/>
        </return-value>
      </constructor>
      <method name="free" c:identifier="anjuta_c_plugin_factory_free">
        <doc xml:whitespace="preserve">Delete a #AnjutaCPluginFactory object.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </class>
    <record name="CPluginFactoryClass"
            c:type="AnjutaCPluginFactoryClass"
            disguised="1"
            glib:is-gtype-struct-for="CPluginFactory">
    </record>
    <class name="CellRendererCaptionedImage"
           c:symbol-prefix="cell_renderer_captioned_image"
           c:type="AnjutaCellRendererCaptionedImage"
           parent="Gtk.CellRenderer"
           glib:type-name="AnjutaCellRendererCaptionedImage"
           glib:get-type="anjuta_cell_renderer_captioned_image_get_type"
           glib:type-struct="CellRendererCaptionedImageClass">
      <constructor name="new"
                   c:identifier="anjuta_cell_renderer_captioned_image_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
        </return-value>
      </constructor>
      <property name="pixbuf" writable="1" transfer-ownership="none">
        <type name="GdkPixbuf.Pixbuf"/>
      </property>
      <property name="text" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent">
        <type name="Gtk.CellRenderer" c:type="GtkCellRenderer"/>
      </field>
      <field name="image">
        <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
      </field>
      <field name="caption">
        <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
      </field>
    </class>
    <record name="CellRendererCaptionedImageClass"
            c:type="AnjutaCellRendererCaptionedImageClass"
            glib:is-gtype-struct-for="CellRendererCaptionedImage">
      <field name="parent_class">
        <type name="Gtk.CellRendererClass" c:type="GtkCellRendererClass"/>
      </field>
    </record>
    <class name="ColumnTextView"
           c:symbol-prefix="column_text_view"
           c:type="AnjutaColumnTextView"
           parent="Gtk.VBox"
           glib:type-name="AnjutaColumnTextView"
           glib:get-type="anjuta_column_text_view_get_type"
           glib:type-struct="ColumnTextViewClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="anjuta_column_text_view_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="get_buffer"
              c:identifier="anjuta_column_text_view_get_buffer"
              introspectable="0">
        <return-value>
          <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
        </return-value>
      </method>
      <method name="get_text" c:identifier="anjuta_column_text_view_get_text">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <field name="parent_instance">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="ColumnTextViewPriv" c:type="AnjutaColumnTextViewPriv*"/>
      </field>
    </class>
    <record name="ColumnTextViewClass"
            c:type="AnjutaColumnTextViewClass"
            glib:is-gtype-struct-for="ColumnTextView">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <record name="ColumnTextViewPriv"
            c:type="AnjutaColumnTextViewPriv"
            disguised="1">
    </record>
    <class name="Command"
           c:symbol-prefix="command"
           c:type="AnjutaCommand"
           parent="GObject.Object"
           glib:type-name="AnjutaCommand"
           glib:get-type="anjuta_command_get_type"
           glib:type-struct="CommandClass">
      <virtual-method name="cancel" invoker="cancel">
        <doc xml:whitespace="preserve">Cancels a running command.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="command_finished">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="return_code" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="command_started">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="data_arrived">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_error_message" invoker="get_error_message">
        <doc xml:whitespace="preserve">Get the error message from the command, if there is one. This method is 
normally used from a ::command-finished handler to report errors to the user
when a command finishes.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Error message string that must be freed when no longer needed. If no error is set, return %NULL.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="notify_complete" invoker="notify_complete">
        <doc xml:whitespace="preserve">Used by base classes derived from #AnjutaCommand to emit the 
::command-finished signal. This method should not be used by client code or  
#AnjutaCommand objects that are not base classes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="return_code" transfer-ownership="none">
            <doc xml:whitespace="preserve">The returned code that is passed to the notify callback</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="notify_data_arrived" invoker="notify_data_arrived">
        <doc xml:whitespace="preserve">Used by base classes derived from #AnjutaCommand to emit the ::data-arrived
signal. This method should be used by both base command classes and
non-base classes as appropriate.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="notify_progress" invoker="notify_progress">
        <doc xml:whitespace="preserve">Emits the ::progress signal. Can be used by both base classes and 
commands as needed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:whitespace="preserve">The of the command that is passed to the notify callback</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="progress">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="progress" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="run">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set_error_message" invoker="set_error_message">
        <doc xml:whitespace="preserve">Command objects use this to set error messages when they encounter some kind
of failure.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error_message" transfer-ownership="none">
            <doc xml:whitespace="preserve">Error message.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="start" invoker="start">
        <doc xml:whitespace="preserve">Starts a command. Client code can handle data from the command by connecting
to the ::data-arrived signal. 

#AnjutaCommand subclasses should override this method to determine how they
call ::run, which actually does the command's legwork.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="start_automatic_monitor"
                      invoker="start_automatic_monitor">
        <doc xml:whitespace="preserve">Sets up any monitoring needed for commands that should start themselves 
automatically in response to some event.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if automatic starting is supported by the command and no errors were encountered; %FALSE if automatic starting is unsupported or on error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="stop_automatic_monitor"
                      invoker="stop_automatic_monitor">
        <doc xml:whitespace="preserve">Stops automatic monitoring for self executing commands. For commands that 
do not support self-starting, this function does nothing.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="cancel" c:identifier="anjuta_command_cancel">
        <doc xml:whitespace="preserve">Cancels a running command.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_error_message"
              c:identifier="anjuta_command_get_error_message">
        <doc xml:whitespace="preserve">Get the error message from the command, if there is one. This method is 
normally used from a ::command-finished handler to report errors to the user
when a command finishes.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Error message string that must be freed when no longer needed. If no error is set, return %NULL.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_running" c:identifier="anjuta_command_is_running">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the command is currently running; %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="notify_complete"
              c:identifier="anjuta_command_notify_complete">
        <doc xml:whitespace="preserve">Used by base classes derived from #AnjutaCommand to emit the 
::command-finished signal. This method should not be used by client code or  
#AnjutaCommand objects that are not base classes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="return_code" transfer-ownership="none">
            <doc xml:whitespace="preserve">The returned code that is passed to the notify callback</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_data_arrived"
              c:identifier="anjuta_command_notify_data_arrived">
        <doc xml:whitespace="preserve">Used by base classes derived from #AnjutaCommand to emit the ::data-arrived
signal. This method should be used by both base command classes and
non-base classes as appropriate.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="notify_progress"
              c:identifier="anjuta_command_notify_progress">
        <doc xml:whitespace="preserve">Emits the ::progress signal. Can be used by both base classes and 
commands as needed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:whitespace="preserve">The of the command that is passed to the notify callback</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_error_message"
              c:identifier="anjuta_command_set_error_message">
        <doc xml:whitespace="preserve">Command objects use this to set error messages when they encounter some kind
of failure.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error_message" transfer-ownership="none">
            <doc xml:whitespace="preserve">Error message.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start" c:identifier="anjuta_command_start">
        <doc xml:whitespace="preserve">Starts a command. Client code can handle data from the command by connecting
to the ::data-arrived signal. 

#AnjutaCommand subclasses should override this method to determine how they
call ::run, which actually does the command's legwork.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="start_automatic_monitor"
              c:identifier="anjuta_command_start_automatic_monitor">
        <doc xml:whitespace="preserve">Sets up any monitoring needed for commands that should start themselves 
automatically in response to some event.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if automatic starting is supported by the command and no errors were encountered; %FALSE if automatic starting is unsupported or on error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="stop_automatic_monitor"
              c:identifier="anjuta_command_stop_automatic_monitor">
        <doc xml:whitespace="preserve">Stops automatic monitoring for self executing commands. For commands that 
do not support self-starting, this function does nothing.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="CommandPriv" c:type="AnjutaCommandPriv*"/>
      </field>
      <glib:signal name="command-finished" when="first">
        <doc xml:whitespace="preserve">Indicates that the command has completed. Clients should at least handle
this signal to unref the command object.

&lt;note&gt;
 &lt;para&gt;
  Sublasses that override the method for this signal should chain up to
  the parent implementation to ensure proper handling of running/not 
  running states. 
&lt;/para&gt;
&lt;/note&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="return_code" transfer-ownership="none">
            <doc xml:whitespace="preserve">The return code of the finished commmand</doc>
            <type name="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="command-started" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="data-arrived" when="last">
        <doc xml:whitespace="preserve">Notifies clients that the command has processed data that is ready to 
be used.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="progress" when="first">
        <doc xml:whitespace="preserve">Notifies clients of changes in progress during command execution.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:whitespace="preserve">Fraction of the command's task that is complete, between 0.0 and 1.0, inclusive.</doc>
            <type name="gfloat"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <class name="CommandBar"
           c:symbol-prefix="command_bar"
           c:type="AnjutaCommandBar"
           parent="Gtk.Notebook"
           glib:type-name="AnjutaCommandBar"
           glib:get-type="anjuta_command_bar_get_type"
           glib:type-struct="CommandBarClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="anjuta_command_bar_new">
        <doc xml:whitespace="preserve">Creates a new AnjutaCommandBar.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A new AnjutaCommandBar</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_action_group"
              c:identifier="anjuta_command_bar_add_action_group">
        <doc xml:whitespace="preserve">Adds a group of entries to an AnjutaCommandBar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">A unique name for this group of entries</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">A list of entries to add</doc>
            <type name="CommandBarEntry"
                  c:type="const AnjutaCommandBarEntry*"/>
          </parameter>
          <parameter name="num_entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">The number of items pointed to by entries</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data to pass to the entry callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_action"
              c:identifier="anjuta_command_bar_get_action"
              introspectable="0">
        <doc xml:whitespace="preserve">Retrieves a #GtkAction object in the given group with the given name</doc>
        <return-value>
          <type name="Gtk.Action" c:type="GtkAction*"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of the #GtkActionGroup to look for the action in</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of the action</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_action_group"
              c:identifier="anjuta_command_bar_get_action_group"
              introspectable="0">
        <doc xml:whitespace="preserve">@self An AnjutaCommandBar
Returns the #GtkActionGroup with the given @group_name</doc>
        <return-value>
          <type name="Gtk.ActionGroup" c:type="GtkActionGroup*"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of the action group</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_action_group"
              c:identifier="anjuta_command_bar_remove_action_group">
        <doc xml:whitespace="preserve">Removes an action group from an AnjutaCommandBar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the action group to remove</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_action_group"
              c:identifier="anjuta_command_bar_show_action_group">
        <doc xml:whitespace="preserve">Causes the actions in the given group to become visible, replacing the 
previously visible group.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of the action group to show</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Gtk.Notebook" c:type="GtkNotebook"/>
      </field>
      <field name="priv">
        <type name="CommandBarPriv" c:type="AnjutaCommandBarPriv*"/>
      </field>
    </class>
    <record name="CommandBarClass"
            c:type="AnjutaCommandBarClass"
            glib:is-gtype-struct-for="CommandBar">
      <field name="parent_class">
        <type name="Gtk.NotebookClass" c:type="GtkNotebookClass"/>
      </field>
    </record>
    <record name="CommandBarEntry" c:type="AnjutaCommandBarEntry">
      <doc xml:whitespace="preserve">AnjutaCommandBarEntry is used to add a set of frames and actions to a command
bar.</doc>
      <field name="type" writable="1">
        <type name="CommandBarEntryType" c:type="AnjutaCommandBarEntryType"/>
      </field>
      <field name="action_name" writable="1">
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="label" writable="1">
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="tooltip" writable="1">
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="stock_icon" writable="1">
        <type name="utf8" c:type="const gchar*"/>
      </field>
      <field name="callback" writable="1">
        <type name="GObject.Callback" c:type="GCallback"/>
      </field>
    </record>
    <enumeration name="CommandBarEntryType"
                 glib:type-name="AnjutaCommandBarEntryType"
                 glib:get-type="anjuta_command_bar_entry_type_get_type"
                 c:type="AnjutaCommandBarEntryType">
      <doc xml:whitespace="preserve">Specifies if the entry corresponds to a frame or a button.
Buttons are added to the last frame that appears before the button entry</doc>
      <member name="frame"
              value="0"
              c:identifier="ANJUTA_COMMAND_BAR_ENTRY_FRAME"
              glib:nick="frame"/>
      <member name="button"
              value="1"
              c:identifier="ANJUTA_COMMAND_BAR_ENTRY_BUTTON"
              glib:nick="button"/>
    </enumeration>
    <record name="CommandBarPriv" c:type="AnjutaCommandBarPriv" disguised="1">
    </record>
    <record name="CommandClass"
            c:type="AnjutaCommandClass"
            glib:is-gtype-struct-for="Command">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="run">
        <callback name="run">
          <return-value transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="start">
        <callback name="start">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cancel">
        <callback name="cancel">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_data_arrived">
        <callback name="notify_data_arrived">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_complete">
        <callback name="notify_complete">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
            <parameter name="return_code" transfer-ownership="none">
              <doc xml:whitespace="preserve">The returned code that is passed to the notify callback</doc>
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="notify_progress">
        <callback name="notify_progress">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
            <parameter name="progress" transfer-ownership="none">
              <doc xml:whitespace="preserve">The of the command that is passed to the notify callback</doc>
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_error_message">
        <callback name="set_error_message">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
            <parameter name="error_message" transfer-ownership="none">
              <doc xml:whitespace="preserve">Error message.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_error_message">
        <callback name="get_error_message">
          <return-value transfer-ownership="full">
            <doc xml:whitespace="preserve">Error message string that must be freed when no longer needed. If no error is set, return %NULL.</doc>
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="start_automatic_monitor">
        <callback name="start_automatic_monitor">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if automatic starting is supported by the command and no errors were encountered; %FALSE if automatic starting is unsupported or on error.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="stop_automatic_monitor">
        <callback name="stop_automatic_monitor">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="data_arrived">
        <callback name="data_arrived">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="command" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="command_started">
        <callback name="command_started">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="command" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="command_finished">
        <callback name="command_finished">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="command" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
            <parameter name="return_code" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="progress">
        <callback name="progress">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="command" transfer-ownership="none">
              <type name="Command" c:type="AnjutaCommand*"/>
            </parameter>
            <parameter name="progress" transfer-ownership="none">
              <type name="gfloat" c:type="gfloat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="CommandPriv" c:type="AnjutaCommandPriv" disguised="1">
    </record>
    <class name="CommandQueue"
           c:symbol-prefix="command_queue"
           c:type="AnjutaCommandQueue"
           parent="GObject.Object"
           glib:type-name="AnjutaCommandQueue"
           glib:get-type="anjuta_command_queue_get_type"
           glib:type-struct="CommandQueueClass">
      <constructor name="new" c:identifier="anjuta_command_queue_new">
        <return-value transfer-ownership="full">
          <type name="CommandQueue" c:type="AnjutaCommandQueue*"/>
        </return-value>
        <parameters>
          <parameter name="mode" transfer-ownership="none">
            <type name="CommandQueueExecuteMode"
                  c:type="AnjutaCommandQueueExecuteMode"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="finished">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="push" c:identifier="anjuta_command_queue_push">
        <doc xml:whitespace="preserve">Adds a command to the Queue and starts it if there are no other commands
waiting</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="command" transfer-ownership="none">
            <doc xml:whitespace="preserve">The command to add</doc>
            <type name="Command" c:type="AnjutaCommand*"/>
          </parameter>
        </parameters>
      </method>
      <method name="start" c:identifier="anjuta_command_queue_start">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="CommandQueuePriv" c:type="AnjutaCommandQueuePriv*"/>
      </field>
      <glib:signal name="finished" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="CommandQueueClass"
            c:type="AnjutaCommandQueueClass"
            glib:is-gtype-struct-for="CommandQueue">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="finished">
        <callback name="finished">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="queue" transfer-ownership="none">
              <type name="CommandQueue" c:type="AnjutaCommandQueue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="CommandQueueExecuteMode"
                 glib:type-name="AnjutaCommandQueueExecuteMode"
                 glib:get-type="anjuta_command_queue_execute_mode_get_type"
                 c:type="AnjutaCommandQueueExecuteMode">
      <member name="automatic"
              value="0"
              c:identifier="ANJUTA_COMMAND_QUEUE_EXECUTE_AUTOMATIC"
              glib:nick="automatic"/>
      <member name="manual"
              value="1"
              c:identifier="ANJUTA_COMMAND_QUEUE_EXECUTE_MANUAL"
              glib:nick="manual"/>
    </enumeration>
    <record name="CommandQueuePriv"
            c:type="AnjutaCommandQueuePriv"
            disguised="1">
    </record>
    <enumeration name="ConvertError"
                 glib:type-name="AnjutaConvertError"
                 glib:get-type="anjuta_convert_error_get_type"
                 c:type="AnjutaConvertError"
                 glib:error-domain="anjuta_convert_error">
      <doc xml:whitespace="preserve">Possibly errors that can occur during charset conversion</doc>
      <member name="failed"
              value="1100"
              c:identifier="ANJUTA_CONVERT_ERROR_AUTO_DETECTION_FAILED"
              glib:nick="failed"/>
      <function name="quark" c:identifier="anjuta_convert_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="Dock"
           c:symbol-prefix="dock"
           c:type="AnjutaDock"
           parent="Gtk.Container"
           glib:type-name="AnjutaDock"
           glib:get-type="anjuta_dock_get_type"
           glib:type-struct="DockClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="anjuta_dock_new">
        <doc xml:whitespace="preserve">Creates a new AnjutaDock.</doc>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_pane"
              c:identifier="anjuta_dock_add_pane"
              introspectable="0">
        <doc xml:whitespace="preserve">Adds a pane, with optional #AnjutaCommandBar entries, to an AnjutaDock. This
method adds a pane with no grip that cannot be closed, floating or iconified.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the pane was added, or %FALSE if a pane with the same name already exists in the dock</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pane_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">A unique name for this pane</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="pane_label" transfer-ownership="none">
            <doc xml:whitespace="preserve">Label to display in this pane's grip</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stock_icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stock icon to display in this pane's grip</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="pane" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #AnjutaDockPane to add to the dock. The dock takes ownership of the pane object.</doc>
            <type name="DockPane" c:type="AnjutaDockPane*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GdlDockPlacement value indicating where the pane should be placed</doc>
            <type c:type="GdlDockPlacement"/>
          </parameter>
          <parameter name="entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaCommandBar entries for this pane. Can be %NULL</doc>
            <type name="CommandBarEntry" c:type="AnjutaCommandBarEntry*"/>
          </parameter>
          <parameter name="num_entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">The number of entries pointed to by entries, or 0.</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data to pass to the entry callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_pane_full"
              c:identifier="anjuta_dock_add_pane_full"
              introspectable="0">
        <doc xml:whitespace="preserve">Does the same thing as anjuta_dock_add_pane, but allows GDL dock behavior 
flags to be specified.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the pane was added, or %FALSE if a pane with the same name already exists in the dock</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pane_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">A unique name for this pane</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="pane_label" transfer-ownership="none">
            <doc xml:whitespace="preserve">Label to display in this pane's grip</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stock_icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stock icon to display in this pane's grip</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="pane" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #AnjutaDockPane to add to the dock. The dock takes ownership of the pane object.</doc>
            <type name="DockPane" c:type="AnjutaDockPane*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GdlDockPlacement value indicating where the pane should be placed</doc>
            <type c:type="GdlDockPlacement"/>
          </parameter>
          <parameter name="entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaCommandBar entries for this pane. Can be %NULL</doc>
            <type name="CommandBarEntry" c:type="AnjutaCommandBarEntry*"/>
          </parameter>
          <parameter name="num_entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">The number of entries pointed to by entries, or 0.</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data to pass to the entry callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="behavior" transfer-ownership="none">
            <doc xml:whitespace="preserve">Any combination of #GdlDockItemBehavior flags</doc>
            <type c:type="GdlDockItemBehavior"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_command_bar"
              c:identifier="anjuta_dock_get_command_bar"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">the #AnjutaCommandBar associated with this dock or %NULL.</doc>
          <type name="CommandBar" c:type="AnjutaCommandBar*"/>
        </return-value>
      </method>
      <method name="hide_pane" c:identifier="anjuta_dock_hide_pane">
        <doc xml:whitespace="preserve">Makes the given pane invisible</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pane" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the pane to hide</doc>
            <type name="DockPane" c:type="AnjutaDockPane*"/>
          </parameter>
        </parameters>
      </method>
      <method name="present_pane" c:identifier="anjuta_dock_present_pane">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pane" transfer-ownership="none">
            <type name="DockPane" c:type="AnjutaDockPane*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_pane" c:identifier="anjuta_dock_remove_pane">
        <doc xml:whitespace="preserve">@self An AnjutaDock
Removes a pane from a dock</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pane" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the pane to remove</doc>
            <type name="DockPane" c:type="AnjutaDockPane*"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace_command_pane"
              c:identifier="anjuta_dock_replace_command_pane"
              introspectable="0">
        <doc xml:whitespace="preserve">Adds a pane, with optional #AnjutaCommandBar entries, to an AnjutaDock. This
method adds a pane with no grip that cannot be closed, floating or iconified.
If there was an old command pane, that pane is removed in favour of the new pane.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pane_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">A unique name for this pane</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="pane_label" transfer-ownership="none">
            <doc xml:whitespace="preserve">Label to display in this pane's grip</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stock_icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stock icon to display in this pane's grip</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="pane" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #AnjutaDockPane to add to the dock. The dock takes ownership of the pane object.</doc>
            <type name="DockPane" c:type="AnjutaDockPane*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GdlDockPlacement value indicating where the pane should be placed</doc>
            <type c:type="GdlDockPlacement"/>
          </parameter>
          <parameter name="entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaCommandBar entries for this pane. Can be %NULL</doc>
            <type name="CommandBarEntry" c:type="AnjutaCommandBarEntry*"/>
          </parameter>
          <parameter name="num_entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">The number of entries pointed to by entries, or 0.</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data to pass to the entry callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_command_bar"
              c:identifier="anjuta_dock_set_command_bar">
        <doc xml:whitespace="preserve">Associates an #AnjutaCommandBar with this dock. Command bars can be used to 
provide different sets of commands based on the currently visible pane.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="command_bar" transfer-ownership="none">
            <doc xml:whitespace="preserve">An #AnjutaCommandBar to associate with this dock</doc>
            <type name="CommandBar" c:type="AnjutaCommandBar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_pane" c:identifier="anjuta_dock_show_pane">
        <doc xml:whitespace="preserve">Presents the pane to the user by making it the currently active pane in its
switcher</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pane" transfer-ownership="none">
            <doc xml:whitespace="preserve">Pane to present</doc>
            <type name="DockPane" c:type="AnjutaDockPane*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance" introspectable="0">
        <type c:type="GdlDock"/>
      </field>
      <field name="priv">
        <type name="DockPriv" c:type="AnjutaDockPriv*"/>
      </field>
    </class>
    <record name="DockClass"
            c:type="AnjutaDockClass"
            glib:is-gtype-struct-for="Dock">
      <field name="parent_class" introspectable="0">
        <type c:type="GdlDockClass"/>
      </field>
    </record>
    <class name="DockPane"
           c:symbol-prefix="dock_pane"
           c:type="AnjutaDockPane"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="AnjutaDockPane"
           glib:get-type="anjuta_dock_pane_get_type"
           glib:type-struct="DockPaneClass">
      <virtual-method name="get_widget"
                      invoker="get_widget"
                      introspectable="0">
        <doc xml:whitespace="preserve">Returns the widget associated with the given pane. The returned widget is 
owned by the pane and should not be destroyed or modified.</doc>
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="multiple_selection_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="refresh" invoker="refresh">
        <doc xml:whitespace="preserve">Refreshes the given pane. Subclasses only need to override this method if 
needed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="single_selection_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_plugin"
              c:identifier="anjuta_dock_pane_get_plugin"
              introspectable="0">
        <doc xml:whitespace="preserve">Returns the plugin object associated with this pane.</doc>
        <return-value>
          <type name="Plugin" c:type="AnjutaPlugin*"/>
        </return-value>
      </method>
      <method name="get_widget"
              c:identifier="anjuta_dock_pane_get_widget"
              introspectable="0">
        <doc xml:whitespace="preserve">Returns the widget associated with the given pane. The returned widget is 
owned by the pane and should not be destroyed or modified.</doc>
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="notify_multiple_selection_changed"
              c:identifier="anjuta_dock_pane_notify_multiple_selection_changed">
        <doc xml:whitespace="preserve">Emits the multiple-selection-changed signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="notify_single_selection_changed"
              c:identifier="anjuta_dock_pane_notify_single_selection_changed">
        <doc xml:whitespace="preserve">Emits the single-selection-changed signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="refresh" c:identifier="anjuta_dock_pane_refresh">
        <doc xml:whitespace="preserve">Refreshes the given pane. Subclasses only need to override this method if 
needed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="plugin" writable="1" transfer-ownership="none">
        <type name="Plugin"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="DockPanePriv" c:type="AnjutaDockPanePriv*"/>
      </field>
      <glib:signal name="multiple-selection-changed" when="first">
        <doc xml:whitespace="preserve">This signal is emitted by pane subclasses to notify clients that the set
of selected items in the pane has changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="single-selection-changed" when="first">
        <doc xml:whitespace="preserve">This signal is emitted by pane subclasses to notify clients that
the user has selected an item. This signal should be used when users are
expected to only select one item at a time.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="DockPaneClass"
            c:type="AnjutaDockPaneClass"
            glib:is-gtype-struct-for="DockPane">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="refresh">
        <callback name="refresh">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="DockPane" c:type="AnjutaDockPane*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_widget" introspectable="0">
        <callback name="get_widget" introspectable="0">
          <return-value>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="DockPane" c:type="AnjutaDockPane*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="single_selection_changed">
        <callback name="single_selection_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="DockPane" c:type="AnjutaDockPane*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="multiple_selection_changed">
        <callback name="multiple_selection_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="DockPane" c:type="AnjutaDockPane*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DockPanePriv" c:type="AnjutaDockPanePriv" disguised="1">
    </record>
    <record name="DockPriv" c:type="AnjutaDockPriv" disguised="1">
    </record>
    <class name="DropEntry"
           c:symbol-prefix="drop_entry"
           c:type="AnjutaDropEntry"
           parent="Entry"
           glib:type-name="AnjutaDropEntry"
           glib:get-type="anjuta_drop_entry_get_type"
           glib:type-struct="DropEntryClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Editable"/>
      <constructor name="new" c:identifier="anjuta_drop_entry_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <field name="parent_instance">
        <type name="Entry" c:type="AnjutaEntry"/>
      </field>
    </class>
    <record name="DropEntryClass"
            c:type="AnjutaDropEntryClass"
            glib:is-gtype-struct-for="DropEntry">
      <field name="parent_class">
        <type name="EntryClass" c:type="AnjutaEntryClass"/>
      </field>
    </record>
    <record name="Encoding"
            c:type="AnjutaEncoding"
            glib:type-name="AnjutaEncoding"
            glib:get-type="anjuta_encoding_get_type"
            c:symbol-prefix="encoding">
      <method name="copy" c:identifier="anjuta_encoding_copy">
        <doc xml:whitespace="preserve">Makes a copy of the given encoding.
This function is used by language bindings.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #AnjutaEncoding.</doc>
          <type name="Encoding" c:type="AnjutaEncoding*"/>
        </return-value>
      </method>
      <method name="free" c:identifier="anjuta_encoding_free">
        <doc xml:whitespace="preserve">Frees the resources allocated by the given encoding.
This function is used by language bindings.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_charset" c:identifier="anjuta_encoding_get_charset">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="get_name" c:identifier="anjuta_encoding_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="to_string" c:identifier="anjuta_encoding_to_string">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <function name="get_current" c:identifier="anjuta_encoding_get_current">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const AnjutaEncoding*"/>
        </return-value>
      </function>
      <function name="get_from_charset"
                c:identifier="anjuta_encoding_get_from_charset">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const AnjutaEncoding*"/>
        </return-value>
        <parameters>
          <parameter name="charset" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_from_index"
                c:identifier="anjuta_encoding_get_from_index">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const AnjutaEncoding*"/>
        </return-value>
        <parameters>
          <parameter name="index" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_utf8" c:identifier="anjuta_encoding_get_utf8">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const AnjutaEncoding*"/>
        </return-value>
      </function>
    </record>
    <class name="Entry"
           c:symbol-prefix="entry"
           c:type="AnjutaEntry"
           parent="Gtk.Entry"
           glib:type-name="AnjutaEntry"
           glib:get-type="anjuta_entry_get_type"
           glib:type-struct="EntryClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Editable"/>
      <constructor name="new" c:identifier="anjuta_entry_new">
        <doc xml:whitespace="preserve">Creates a new AnjutaEntry.</doc>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="dup_text" c:identifier="anjuta_entry_dup_text">
        <doc xml:whitespace="preserve">Returns a copy of the contents of the entry. If the entry is empty, the 
returned string will be empty. The returned string must be freed when no
longer needed.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_text" c:identifier="anjuta_entry_get_text">
        <doc xml:whitespace="preserve">Returns the contents of the entry. If the entry is empty, the help text will
be displayed and an empty string will be returned.</doc>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="is_showing_help_text"
              c:identifier="anjuta_entry_is_showing_help_text">
        <doc xml:whitespace="preserve">Returns whether the entry is showing its help text. In practice, if this
method returns %TRUE, it means that the user has not entered anything.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_text" c:identifier="anjuta_entry_set_text">
        <doc xml:whitespace="preserve">Sets the text on the entry, showing the help text if the text is empty.</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">The new text</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="help-text" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Entry" c:type="GtkEntry"/>
      </field>
      <field name="priv">
        <type name="EntryPriv" c:type="AnjutaEntryPriv*"/>
      </field>
    </class>
    <record name="EntryClass"
            c:type="AnjutaEntryClass"
            glib:is-gtype-struct-for="Entry">
      <field name="parent_class">
        <type name="Gtk.EntryClass" c:type="GtkEntryClass"/>
      </field>
    </record>
    <record name="EntryPriv" c:type="AnjutaEntryPriv" disguised="1">
    </record>
    <class name="EnvironmentEditor"
           c:symbol-prefix="environment_editor"
           c:type="AnjutaEnvironmentEditor"
           parent="Gtk.Bin"
           glib:type-name="AnjutaEnvironmentEditor"
           glib:get-type="anjuta_environment_editor_get_type"
           glib:type-struct="EnvironmentEditorClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="anjuta_environment_editor_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_all_variables"
              c:identifier="anjuta_environment_editor_get_all_variables"
              introspectable="0">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
      </method>
      <method name="get_modified_variables"
              c:identifier="anjuta_environment_editor_get_modified_variables"
              introspectable="0">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
      </method>
      <method name="set_variable"
              c:identifier="anjuta_environment_editor_set_variable">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="variable" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <glib:signal name="changed" when="last">
        <doc xml:whitespace="preserve">The ::changed signal is emitted when an environment variable
is changed (include deleted variables)</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="EnvironmentEditorClass"
            c:type="AnjutaEnvironmentEditorClass"
            glib:is-gtype-struct-for="EnvironmentEditor">
      <field name="parent_class">
        <type name="Gtk.BinClass" c:type="GtkBinClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="EnvironmentEditor"
                    c:type="AnjutaEnvironmentEditor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="FileDropEntry"
           c:symbol-prefix="file_drop_entry"
           c:type="AnjutaFileDropEntry"
           parent="DropEntry"
           glib:type-name="AnjutaFileDropEntry"
           glib:get-type="anjuta_file_drop_entry_get_type"
           glib:type-struct="FileDropEntryClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.Editable"/>
      <constructor name="new" c:identifier="anjuta_file_drop_entry_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="set_relative_path"
              c:identifier="anjuta_file_drop_entry_set_relative_path">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="DropEntry" c:type="AnjutaDropEntry"/>
      </field>
      <field name="priv">
        <type name="FileDropEntryPriv" c:type="AnjutaFileDropEntryPriv*"/>
      </field>
    </class>
    <record name="FileDropEntryClass"
            c:type="AnjutaFileDropEntryClass"
            glib:is-gtype-struct-for="FileDropEntry">
      <field name="parent_class">
        <type name="DropEntryClass" c:type="AnjutaDropEntryClass"/>
      </field>
    </record>
    <record name="FileDropEntryPriv"
            c:type="AnjutaFileDropEntryPriv"
            disguised="1">
    </record>
    <class name="FileList"
           c:symbol-prefix="file_list"
           c:type="AnjutaFileList"
           parent="Gtk.VBox"
           glib:type-name="AnjutaFileList"
           glib:get-type="anjuta_file_list_get_type"
           glib:type-struct="FileListClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="anjuta_file_list_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="clear" c:identifier="anjuta_file_list_clear">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_paths"
              c:identifier="anjuta_file_list_get_paths"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="set_relative_path"
              c:identifier="anjuta_file_list_set_relative_path">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="relative-path" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="show-add-button" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="FileListPriv" c:type="AnjutaFileListPriv*"/>
      </field>
    </class>
    <record name="FileListClass"
            c:type="AnjutaFileListClass"
            glib:is-gtype-struct-for="FileList">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <record name="FileListPriv" c:type="AnjutaFileListPriv" disguised="1">
    </record>
    <record name="LanguageProposalData"
            c:type="AnjutaLanguageProposalData"
            glib:type-name="AnjutaLanguageProposalData"
            glib:get-type="anjuta_language_proposal_data_get_type"
            c:symbol-prefix="language_proposal_data">
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="info" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="is_func" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="has_para" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="type" introspectable="0" writable="1">
        <type c:type="IAnjutaSymbolType"/>
      </field>
      <constructor name="new" c:identifier="anjuta_language_proposal_data_new">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Creates a new AnjutaLanguageProposalData object</doc>
          <type name="LanguageProposalData"
                c:type="AnjutaLanguageProposalData*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the object</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="free" c:identifier="anjuta_language_proposal_data_free">
        <doc xml:whitespace="preserve">Free the given proposal data</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <class name="LanguageProvider"
           c:symbol-prefix="language_provider"
           c:type="AnjutaLanguageProvider"
           parent="GObject.Object"
           glib:type-name="AnjutaLanguageProvider"
           glib:get-type="anjuta_language_provider_get_type"
           glib:type-struct="LanguageProviderClass">
      <method name="activate" c:identifier="anjuta_language_provider_activate">
        <doc xml:whitespace="preserve">Complete the function name</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iprov" transfer-ownership="none">
            <doc xml:whitespace="preserve">IAnjutaProvider object</doc>
            <type name="GObject.Object" c:type="IAnjutaProvider*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">the cursor</doc>
            <type name="GObject.Object" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:whitespace="preserve">the ProposalData</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_calltip_context"
              c:identifier="anjuta_language_provider_get_calltip_context">
        <doc xml:whitespace="preserve">Searches for a calltip context</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">name of the method to show a calltip for or NULL</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="itip" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether a tooltip is crrently shown</doc>
            <type name="GObject.Object" c:type="IAnjutaEditorTip*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">current cursor position</doc>
            <type name="GObject.Object" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="scope_context_ch" transfer-ownership="none">
            <doc xml:whitespace="preserve">language-specific context characters the end is marked with a '0' character</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pre_word"
              c:identifier="anjuta_language_provider_get_pre_word">
        <doc xml:whitespace="preserve">Search for the current typed word</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">The current word (needs to be freed) or NULL if no word was found</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="editor" transfer-ownership="none">
            <doc xml:whitespace="preserve">IAnjutaEditor object</doc>
            <type name="GObject.Object" c:type="IAnjutaEditor*"/>
          </parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">current cursor position</doc>
            <type name="GObject.Object" c:type="IAnjutaIterable*"/>
          </parameter>
          <parameter name="start_iter" transfer-ownership="none">
            <doc xml:whitespace="preserve">return location for the start_iter (if a preword was found)</doc>
            <type name="GObject.Object" c:type="IAnjutaIterable**"/>
          </parameter>
          <parameter name="word_characters" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_start_iter"
              c:identifier="anjuta_language_provider_get_start_iter"
              introspectable="0">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the start iter</doc>
          <type c:type="IAnjutaIterable*"/>
        </return-value>
      </method>
      <method name="install" c:identifier="anjuta_language_provider_install">
        <doc xml:whitespace="preserve">Install the settings for AnjutaLanguageProvider</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ieditor" transfer-ownership="none">
            <doc xml:whitespace="preserve">IAnjutaEditor object</doc>
            <type name="GObject.Object" c:type="IAnjutaEditor*"/>
          </parameter>
          <parameter name="settings" transfer-ownership="none">
            <doc xml:whitespace="preserve">the settings</doc>
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
        </parameters>
      </method>
      <method name="populate" c:identifier="anjuta_language_provider_populate">
        <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.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iprov" transfer-ownership="none">
            <doc xml:whitespace="preserve">IAnjutaProvider object</doc>
            <type name="GObject.Object" c:type="IAnjutaProvider*"/>
          </parameter>
          <parameter name="cursor" transfer-ownership="none">
            <doc xml:whitespace="preserve">the text iter where the provider should be populated</doc>
            <type name="GObject.Object" c:type="IAnjutaIterable*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="LanguageProviderPriv"
              c:type="AnjutaLanguageProviderPriv*"/>
      </field>
    </class>
    <record name="LanguageProviderClass"
            c:type="AnjutaLanguageProviderClass"
            glib:is-gtype-struct-for="LanguageProvider">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="LanguageProviderPriv"
            c:type="AnjutaLanguageProviderPriv"
            disguised="1">
    </record>
    <class name="Launcher"
           c:symbol-prefix="launcher"
           c:type="AnjutaLauncher"
           parent="GObject.Object"
           glib:type-name="AnjutaLauncher"
           glib:get-type="anjuta_launcher_get_type"
           glib:type-struct="LauncherClass">
      <constructor name="new" c:identifier="anjuta_launcher_new">
        <doc xml:whitespace="preserve">Sets if input (those given in STDIN) should enabled or disabled. By default,
it is disabled.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new instance of #AnjutaLancher class.</doc>
          <type name="Launcher" c:type="AnjutaLauncher*"/>
        </return-value>
      </constructor>
      <virtual-method name="busy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="busy_flag" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="child_exited">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child_pid" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="exit_status" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="time_taken_in_seconds" transfer-ownership="none">
            <type name="gulong" c:type="gulong"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="execute"
              c:identifier="anjuta_launcher_execute"
              introspectable="0">
        <doc xml:whitespace="preserve">Executes a command in the launcher. Both outputs (STDOUT and STDERR) are
delivered to the above callback. The data are delivered as they arrive
from the process and could be of any lenght. If the process asks for
passwords, the user will be automatically prompted with a dialog to enter
it. Please note that not all formats of the password are recognized. Those
with the standard 'assword:' substring in the prompt should work well.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if successfully launched, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="command_str" transfer-ownership="none">
            <doc xml:whitespace="preserve">The command to execute.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="2">
            <doc xml:whitespace="preserve">The callback for delivering output from the process.</doc>
            <type name="LauncherOutputCallback"
                  c:type="AnjutaLauncherOutputCallback"/>
          </parameter>
          <parameter name="callback_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">Callback data for the above callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="execute_v"
              c:identifier="anjuta_launcher_execute_v"
              introspectable="0">
        <doc xml:whitespace="preserve">The first of the @args is the command itself. The rest are sent to the
as it's arguments. This function works similar to anjuta_launcher_execute().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if successfully launched, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="dir" transfer-ownership="none">
            <doc xml:whitespace="preserve">Working directory or NULL.</doc>
            <type name="utf8" c:type="gchar* const"/>
          </parameter>
          <parameter name="argv" transfer-ownership="none">
            <doc xml:whitespace="preserve">Command args.</doc>
            <type name="utf8" c:type="gchar* const"/>
          </parameter>
          <parameter name="envp" transfer-ownership="none">
            <doc xml:whitespace="preserve">Additional environment variable.</doc>
            <type name="utf8" c:type="gchar* const"/>
          </parameter>
          <parameter name="callback" transfer-ownership="none" closure="4">
            <doc xml:whitespace="preserve">The callback for delivering output from the process.</doc>
            <type name="LauncherOutputCallback"
                  c:type="AnjutaLauncherOutputCallback"/>
          </parameter>
          <parameter name="callback_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">Callback data for the above callback.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child_pid"
              c:identifier="anjuta_launcher_get_child_pid">
        <doc xml:whitespace="preserve">Gets the Process ID of the child being executed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Process ID of the child.</doc>
          <type name="gint" c:type="pid_t"/>
        </return-value>
      </method>
      <method name="is_busy" c:identifier="anjuta_launcher_is_busy">
        <doc xml:whitespace="preserve">Tells if the laucher is currently executing any command.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if launcher is busy, otherwisee FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="reset" c:identifier="anjuta_launcher_reset">
        <doc xml:whitespace="preserve">Resets the launcher and kills (SIGTERM) current process, if it is still
executing.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="send_ptyin" c:identifier="anjuta_launcher_send_ptyin">
        <doc xml:whitespace="preserve">Sends a string to TTY input of the process currently being executed.
Mostly useful for entering passwords and other inputs which are directly
read from TTY input of the process.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="input_str" transfer-ownership="none">
            <doc xml:whitespace="preserve">The string to send to PTY of the process.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_stdin" c:identifier="anjuta_launcher_send_stdin">
        <doc xml:whitespace="preserve">Sends a EOF to Standard input of the process currently being executed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="input_str" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_stdin_eof"
              c:identifier="anjuta_launcher_send_stdin_eof">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_buffered_output"
              c:identifier="anjuta_launcher_set_buffered_output">
        <doc xml:whitespace="preserve">Sets if output should buffered or not. By default, it is buffered.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Previous flag value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="buffered" transfer-ownership="none">
            <doc xml:whitespace="preserve">buffer output.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_check_passwd_prompt"
              c:identifier="anjuta_launcher_set_check_passwd_prompt">
        <doc xml:whitespace="preserve">Set if output is checked for a password prompti. A special dialog box
is use to enter it in this case. By default, this behavior is enabled.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Previous flag value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="check_passwd" transfer-ownership="none">
            <doc xml:whitespace="preserve">check for password.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_encoding" c:identifier="anjuta_launcher_set_encoding">
        <doc xml:whitespace="preserve">Sets the character set to use for Input/Output with the process.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="charset" transfer-ownership="none">
            <doc xml:whitespace="preserve">Character set to use for Input/Output with the process.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_terminal_echo"
              c:identifier="anjuta_launcher_set_terminal_echo">
        <doc xml:whitespace="preserve">Sets if input (those given in STDIN) should enabled or disabled. By default,
it is disabled.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Previous flag value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="echo_on" transfer-ownership="none">
            <doc xml:whitespace="preserve">Echo ON flag.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_terminate_on_exit"
              c:identifier="anjuta_launcher_set_terminate_on_exit">
        <doc xml:whitespace="preserve">When this flag is set, al i/o channels are closed and the child-exit
signal is emitted as soon as the child exit. By default, or when this
flag is clear, the launcher object wait until the i/o channels are
closed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Previous flag value</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="terminate_on_exit" transfer-ownership="none">
            <doc xml:whitespace="preserve">terminate on exit flag</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="signal" c:identifier="anjuta_launcher_signal">
        <doc xml:whitespace="preserve">Sends a kernel signal to the process that is being executed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sig" transfer-ownership="none">
            <doc xml:whitespace="preserve">kernel signal ID (e.g. SIGTERM).</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="LauncherPriv" c:type="AnjutaLauncherPriv*"/>
      </field>
      <glib:signal name="busy" when="first">
        <doc xml:whitespace="preserve">Emitted when a child starts after a call to one execute function
(busy is TRUE) or when a child exits and all i/o channels are
closed (busy is FALSE).</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="busy" transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE is a child is currently running</doc>
            <type name="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="child-exited" when="first">
        <doc xml:whitespace="preserve">Emitted when the child has exited and all i/o channels have
been closed. If the terminate on exit flag is set, the i/o
channels are automatically closed when the child exit.
You need to use WEXITSTATUS and friend to get the child exit
code from the status returned.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="child_pid" transfer-ownership="none">
            <doc xml:whitespace="preserve">process ID of the child</doc>
            <type name="gint"/>
          </parameter>
          <parameter name="status" transfer-ownership="none">
            <doc xml:whitespace="preserve">status as returned by waitpid function</doc>
            <type name="gint"/>
          </parameter>
          <parameter name="time" transfer-ownership="none">
            <doc xml:whitespace="preserve">time in seconds taken by the child</doc>
            <type name="gulong"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="LauncherClass"
            c:type="AnjutaLauncherClass"
            glib:is-gtype-struct-for="Launcher">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </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="launcher" transfer-ownership="none">
              <type name="Launcher" c:type="AnjutaLauncher*"/>
            </parameter>
            <parameter name="child_pid" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="exit_status" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="time_taken_in_seconds" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="busy">
        <callback name="busy">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="launcher" transfer-ownership="none">
              <type name="Launcher" c:type="AnjutaLauncher*"/>
            </parameter>
            <parameter name="busy_flag" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="LauncherOutputCallback"
              c:type="AnjutaLauncherOutputCallback">
      <doc xml:whitespace="preserve">This callback is called when new characters arrive from the launcher
execution.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="launcher" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #AnjutaLauncher object</doc>
          <type name="Launcher" c:type="AnjutaLauncher*"/>
        </parameter>
        <parameter name="output_type" transfer-ownership="none">
          <doc xml:whitespace="preserve">Type of the output</doc>
          <type name="LauncherOutputType" c:type="AnjutaLauncherOutputType"/>
        </parameter>
        <parameter name="chars" transfer-ownership="none">
          <doc xml:whitespace="preserve">Characters being outputed</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="3">
          <doc xml:whitespace="preserve">User data passed back to the user</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="LauncherOutputType"
                 glib:type-name="AnjutaLauncherOutputType"
                 glib:get-type="anjuta_launcher_output_type_get_type"
                 c:type="AnjutaLauncherOutputType">
      <member name="stdout"
              value="0"
              c:identifier="ANJUTA_LAUNCHER_OUTPUT_STDOUT"
              glib:nick="stdout"/>
      <member name="stderr"
              value="1"
              c:identifier="ANJUTA_LAUNCHER_OUTPUT_STDERR"
              glib:nick="stderr"/>
      <member name="pty"
              value="2"
              c:identifier="ANJUTA_LAUNCHER_OUTPUT_PTY"
              glib:nick="pty"/>
    </enumeration>
    <record name="LauncherPriv" c:type="AnjutaLauncherPriv" disguised="1">
    </record>
    <class name="PkgConfigChooser"
           c:symbol-prefix="pkg_config_chooser"
           c:type="AnjutaPkgConfigChooser"
           parent="Gtk.TreeView"
           glib:type-name="AnjutaPkgConfigChooser"
           glib:get-type="anjuta_pkg_config_chooser_get_type"
           glib:type-struct="PkgConfigChooserClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="anjuta_pkg_config_chooser_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="package_activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="package" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="package_deactivated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="package" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_active_packages"
              c:identifier="anjuta_pkg_config_chooser_get_active_packages"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_selected_package"
              c:identifier="anjuta_pkg_config_chooser_get_selected_package">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="set_active_packages"
              c:identifier="anjuta_pkg_config_chooser_set_active_packages"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="packages" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="show_active_column"
              c:identifier="anjuta_pkg_config_chooser_show_active_column">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="show_column" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_active_only"
              c:identifier="anjuta_pkg_config_chooser_show_active_only">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="show_selected" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Gtk.TreeView" c:type="GtkTreeView"/>
      </field>
      <field name="priv">
        <type name="PkgConfigChooserPrivate"
              c:type="AnjutaPkgConfigChooserPrivate*"/>
      </field>
      <glib:signal name="package-activated">
        <doc xml:whitespace="preserve">The ::package-activated signal is emitted when a package is activated in the list</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="package" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the package that was activated</doc>
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="package-deactivated">
        <doc xml:whitespace="preserve">The ::package-activated signal is emitted when a package is deactivated in the list</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="package" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the package that was deactivated</doc>
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="PkgConfigChooserClass"
            c:type="AnjutaPkgConfigChooserClass"
            glib:is-gtype-struct-for="PkgConfigChooser">
      <field name="parent_class">
        <type name="Gtk.TreeViewClass" c:type="GtkTreeViewClass"/>
      </field>
      <field name="package_activated">
        <callback name="package_activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="PkgConfigChooser" c:type="AnjutaPkgConfigChooser*"/>
            </parameter>
            <parameter name="package" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="package_deactivated">
        <callback name="package_deactivated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="PkgConfigChooser" c:type="AnjutaPkgConfigChooser*"/>
            </parameter>
            <parameter name="package" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="PkgConfigChooserPrivate"
            c:type="AnjutaPkgConfigChooserPrivate"
            disguised="1">
    </record>
    <class name="PkgScanner"
           c:symbol-prefix="pkg_scanner"
           c:type="AnjutaPkgScanner"
           parent="AsyncCommand"
           glib:type-name="AnjutaPkgScanner"
           glib:get-type="anjuta_pkg_scanner_get_type"
           glib:type-struct="PkgScannerClass">
      <constructor name="new" c:identifier="anjuta_pkg_scanner_new">
        <return-value transfer-ownership="full">
          <type name="Command" c:type="AnjutaCommand*"/>
        </return-value>
        <parameters>
          <parameter name="package" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="version" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_files"
              c:identifier="anjuta_pkg_scanner_get_files"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_package" c:identifier="anjuta_pkg_scanner_get_package">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="get_version" c:identifier="anjuta_pkg_scanner_get_version">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <property name="package"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="version"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="parent_instance">
        <type name="AsyncCommand" c:type="AnjutaAsyncCommand"/>
      </field>
      <field name="priv">
        <type name="PkgScannerPrivate" c:type="AnjutaPkgScannerPrivate*"/>
      </field>
    </class>
    <record name="PkgScannerClass"
            c:type="AnjutaPkgScannerClass"
            glib:is-gtype-struct-for="PkgScanner">
      <field name="parent_class">
        <type name="AsyncCommandClass" c:type="AnjutaAsyncCommandClass"/>
      </field>
    </record>
    <record name="PkgScannerPrivate"
            c:type="AnjutaPkgScannerPrivate"
            disguised="1">
    </record>
    <class name="Plugin"
           c:symbol-prefix="plugin"
           c:type="AnjutaPlugin"
           parent="GObject.Object"
           glib:type-name="AnjutaPlugin"
           glib:get-type="anjuta_plugin_get_type"
           glib:type-struct="PluginClass">
      <virtual-method name="activate" invoker="activate">
        <doc xml:whitespace="preserve">Activates the plugin by calling activate() virtual method. All plugins
should derive their classes from this virtual class and implement this
method.
If the plugin implements IAnjutaPreferences, it is prompted to install
it's preferences.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessfully activated, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:whitespace="preserve">Deactivates the plugin by calling deactivate() virtual method. All plugins
should derive their classes from this virtual class and implement this
method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessfully activated, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </virtual-method>
      <virtual-method name="deactivated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="activate" c:identifier="anjuta_plugin_activate">
        <doc xml:whitespace="preserve">Activates the plugin by calling activate() virtual method. All plugins
should derive their classes from this virtual class and implement this
method.
If the plugin implements IAnjutaPreferences, it is prompted to install
it's preferences.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessfully activated, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="add_watch" c:identifier="anjuta_plugin_add_watch">
        <doc xml:whitespace="preserve">Adds a watch for @name value. When the value is added in shell, the @added
callback will be called and when it is removed, the @removed callback will
be called. The returned ID is used to remove the watch later.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Watch ID.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the value to watch.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="added"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">Callback to call when the value is added.</doc>
            <type name="PluginValueAdded" c:type="AnjutaPluginValueAdded"/>
          </parameter>
          <parameter name="removed"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">Callback to call when the value is removed.</doc>
            <type name="PluginValueRemoved" c:type="AnjutaPluginValueRemoved"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data to pass to callbacks.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="deactivate" c:identifier="anjuta_plugin_deactivate">
        <doc xml:whitespace="preserve">Deactivates the plugin by calling deactivate() virtual method. All plugins
should derive their classes from this virtual class and implement this
method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessfully activated, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_shell"
              c:identifier="anjuta_plugin_get_shell"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaShell object associated with this plugin</doc>
          <type name="Shell" c:type="AnjutaShell*"/>
        </return-value>
      </method>
      <method name="is_active" c:identifier="anjuta_plugin_is_active">
        <doc xml:whitespace="preserve">Returns TRUE if the plugin has been activated.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if activated, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="remove_watch" c:identifier="anjuta_plugin_remove_watch">
        <doc xml:whitespace="preserve">Removes the watch represented by @id (which was returned by
anjuta_plugin_add_watch()).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Watch id to remove.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="send_remove" transfer-ownership="none">
            <doc xml:whitespace="preserve">If true, calls value_removed callback.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="shell"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">The #AnjutaShell object associated with this plugin</doc>
        <type name="Shell"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="shell">
        <type name="Shell" c:type="AnjutaShell*"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="PluginPrivate" c:type="AnjutaPluginPrivate*"/>
      </field>
      <glib:signal name="activated" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="deactivated" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="PluginClass"
            c:type="AnjutaPluginClass"
            glib:is-gtype-struct-for="Plugin">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="activated">
        <callback name="activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="plugin" transfer-ownership="none">
              <type name="Plugin" c:type="AnjutaPlugin*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivated">
        <callback name="deactivated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="plugin" transfer-ownership="none">
              <type name="Plugin" c:type="AnjutaPlugin*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="activate">
        <callback name="activate">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if sucessfully activated, FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="plugin" transfer-ownership="none">
              <type name="Plugin" c:type="AnjutaPlugin*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if sucessfully activated, FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="plugin" transfer-ownership="none">
              <type name="Plugin" c:type="AnjutaPlugin*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="PluginDescription"
            c:type="AnjutaPluginDescription"
            glib:type-name="AnjutaPluginDescription"
            glib:get-type="anjuta_plugin_description_get_type"
            c:symbol-prefix="plugin_description">
      <constructor name="new"
                   c:identifier="anjuta_plugin_description_new"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_string"
                   c:identifier="anjuta_plugin_description_new_from_string"
                   throws="1">
        <doc xml:whitespace="preserve">Parses the given plugin description data (usally read from the plugin
description file and creates an instance of #AnjutaPluginDescription.
The format of the content string is similar to .ini format.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a new #AnjutaPluginDescription object</doc>
          <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <doc xml:whitespace="preserve">The data to parse. The format of the data is .ini style.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy" c:identifier="anjuta_plugin_description_copy">
        <return-value transfer-ownership="full">
          <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
        </return-value>
      </method>
      <method name="foreach_key"
              c:identifier="anjuta_plugin_description_foreach_key"
              introspectable="0">
        <doc xml:whitespace="preserve">Calls @func for each of the keys in the given section. @include_localized,
if set to TRUE will make it call @func for the localized keys also, otherwise
only one call is made for the key in current locale.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="section_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="include_localized" transfer-ownership="none">
            <doc xml:whitespace="preserve">Whether each localized key should be called separately.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" closure="3">
            <doc xml:whitespace="preserve">The callback function.</doc>
            <type name="PluginDescriptionLineFunc"
                  c:type="AnjutaPluginDescriptionLineFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data to pass to @func.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach_section"
              c:identifier="anjuta_plugin_description_foreach_section"
              introspectable="0">
        <doc xml:whitespace="preserve">Calls @func for each of the sections in the description.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <doc xml:whitespace="preserve">Callback function.</doc>
            <type name="PluginDescriptionSectionFunc"
                  c:type="AnjutaPluginDescriptionSectionFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data to pass to @func.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="anjuta_plugin_description_free">
        <doc xml:whitespace="preserve">Frees the #AnjutaPluginDescription instance.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_boolean"
              c:identifier="anjuta_plugin_description_get_boolean">
        <doc xml:whitespace="preserve">Returns the value of key as boolean in the given section.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="keyname" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <doc xml:whitespace="preserve">Pointer to value to store retured value.</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_integer"
              c:identifier="anjuta_plugin_description_get_integer">
        <doc xml:whitespace="preserve">Returns the value of key as integer in the given section.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="keyname" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <doc xml:whitespace="preserve">Pointer to value to store retured value.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_locale_string"
              c:identifier="anjuta_plugin_description_get_locale_string">
        <doc xml:whitespace="preserve">Returns the value of key in the given section in current locale.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="keyname" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <doc xml:whitespace="preserve">Pointer to value to store retured value.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_raw" c:identifier="anjuta_plugin_description_get_raw">
        <doc xml:whitespace="preserve">Retrieves the value of a key (in the given section) for the given locale.
The value returned in @val must be freed after use.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="section_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="keyname" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the key.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="locale" transfer-ownership="none">
            <doc xml:whitespace="preserve">The locale for which the value is to be retrieved.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <doc xml:whitespace="preserve">Pointer to the variable to store the string value.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_string"
              c:identifier="anjuta_plugin_description_get_string">
        <doc xml:whitespace="preserve">Returns the value of key in the given section.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="keyname" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <doc xml:whitespace="preserve">Pointer to value to store retured value.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_string"
              c:identifier="anjuta_plugin_description_to_string">
        <doc xml:whitespace="preserve">Converts the description detains into string format, usually for
saving it in a file.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">The string representation of the description. The returned values must be freed after use.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
    </record>
    <callback name="PluginDescriptionLineFunc"
              c:type="AnjutaPluginDescriptionLineFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="df" transfer-ownership="none">
          <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="locale" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="PluginDescriptionParseError"
                 glib:type-name="AnjutaPluginDescriptionParseError"
                 glib:get-type="anjuta_plugin_description_parse_error_get_type"
                 c:type="AnjutaPluginDescriptionParseError"
                 glib:error-domain="g_desktop_parse_error">
      <doc xml:whitespace="preserve">Possible errors when parsing a plugin file</doc>
      <member name="syntax"
              value="0"
              c:identifier="ANJUTA_PLUGIN_DESCRIPTION_PARSE_ERROR_INVALID_SYNTAX"
              glib:nick="syntax"/>
      <member name="escapes"
              value="1"
              c:identifier="ANJUTA_PLUGIN_DESCRIPTION_PARSE_ERROR_INVALID_ESCAPES"
              glib:nick="escapes"/>
      <member name="chars"
              value="2"
              c:identifier="ANJUTA_PLUGIN_DESCRIPTION_PARSE_ERROR_INVALID_CHARS"
              glib:nick="chars"/>
      <function name="quark"
                c:identifier="anjuta_plugin_description_parse_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <callback name="PluginDescriptionSectionFunc"
              c:type="AnjutaPluginDescriptionSectionFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="df" transfer-ownership="none">
          <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="PluginHandle"
           c:symbol-prefix="plugin_handle"
           c:type="AnjutaPluginHandle"
           parent="GObject.Object"
           glib:type-name="AnjutaPluginHandle"
           glib:get-type="anjuta_plugin_handle_get_type"
           glib:type-struct="PluginHandleClass">
      <constructor name="new" c:identifier="anjuta_plugin_handle_new">
        <return-value transfer-ownership="full">
          <type name="PluginHandle" c:type="AnjutaPluginHandle*"/>
        </return-value>
        <parameters>
          <parameter name="plugin_desc_path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_about" c:identifier="anjuta_plugin_handle_get_about">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
      </method>
      <method name="get_can_load"
              c:identifier="anjuta_plugin_handle_get_can_load">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_checked"
              c:identifier="anjuta_plugin_handle_get_checked">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_dependencies"
              c:identifier="anjuta_plugin_handle_get_dependencies"
              introspectable="0">
        <return-value>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_dependency_names"
              c:identifier="anjuta_plugin_handle_get_dependency_names"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_dependents"
              c:identifier="anjuta_plugin_handle_get_dependents"
              introspectable="0">
        <return-value>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_description"
              c:identifier="anjuta_plugin_handle_get_description">
        <return-value transfer-ownership="full">
          <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
        </return-value>
      </method>
      <method name="get_icon_path"
              c:identifier="anjuta_plugin_handle_get_icon_path">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
      </method>
      <method name="get_id" c:identifier="anjuta_plugin_handle_get_id">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
      </method>
      <method name="get_interfaces"
              c:identifier="anjuta_plugin_handle_get_interfaces"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_language"
              c:identifier="anjuta_plugin_handle_get_language">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
      </method>
      <method name="get_name" c:identifier="anjuta_plugin_handle_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
      </method>
      <method name="get_path" c:identifier="anjuta_plugin_handle_get_path">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
      </method>
      <method name="get_resident"
              c:identifier="anjuta_plugin_handle_get_resident">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_resolve_pass"
              c:identifier="anjuta_plugin_handle_get_resolve_pass">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_user_activatable"
              c:identifier="anjuta_plugin_handle_get_user_activatable">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="set_can_load"
              c:identifier="anjuta_plugin_handle_set_can_load">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="can_load" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_checked"
              c:identifier="anjuta_plugin_handle_set_checked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="checked" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_resolve_pass"
              c:identifier="anjuta_plugin_handle_set_resolve_pass">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="resolve_pass" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="unresolve_dependencies"
              c:identifier="anjuta_plugin_handle_unresolve_dependencies">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="about" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="can-load" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="checked" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="dependencies" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="dependency-names" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="dependents" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="description" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="icon-path" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="id" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="interfaces" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="language" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="name" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="path" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="resident" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="resolve-pass" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="user-activatable" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="PluginHandlePriv" c:type="AnjutaPluginHandlePriv*"/>
      </field>
    </class>
    <record name="PluginHandleClass"
            c:type="AnjutaPluginHandleClass"
            glib:is-gtype-struct-for="PluginHandle">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="PluginHandlePriv"
            c:type="AnjutaPluginHandlePriv"
            disguised="1">
    </record>
    <class name="PluginManager"
           c:symbol-prefix="plugin_manager"
           c:type="AnjutaPluginManager"
           parent="GObject.Object"
           glib:type-name="AnjutaPluginManager"
           glib:get-type="anjuta_plugin_manager_get_type"
           glib:type-struct="PluginManagerClass">
      <constructor name="new"
                   c:identifier="anjuta_plugin_manager_new"
                   introspectable="0">
        <return-value transfer-ownership="full">
          <type name="PluginManager" c:type="AnjutaPluginManager*"/>
        </return-value>
        <parameters>
          <parameter name="shell" transfer-ownership="none">
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
          <parameter name="status" transfer-ownership="none">
            <type name="Status" c:type="AnjutaStatus*"/>
          </parameter>
          <parameter name="plugin_search_paths" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="plugin_activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="plugin_desc" transfer-ownership="none">
            <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
          </parameter>
          <parameter name="plugin" transfer-ownership="none">
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="plugin_deactivated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="plugin_desc" transfer-ownership="none">
            <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
          </parameter>
          <parameter name="plugin" transfer-ownership="none">
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate_plugins"
              c:identifier="anjuta_plugin_manager_activate_plugins"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="plugin_descs" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_plugin_objects"
              c:identifier="anjuta_plugin_manager_get_active_plugin_objects"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_active_plugins"
              c:identifier="anjuta_plugin_manager_get_active_plugins"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_plugin"
              c:identifier="anjuta_plugin_manager_get_plugin"
              introspectable="0">
        <doc xml:whitespace="preserve">Searches the currently available plugins to find the one which
implements the given interface as primary interface and returns it. If
the plugin is not yet loaded, it will be loaded and activated.
It only searches
from the pool of plugin objects loaded in this shell and can only search
by primary interface. If there are more objects implementing this primary
interface, user might be prompted to select one from them (and might give
the option to use it as default for future queries). A typical usage of this
function is:
&lt;programlisting&gt;
GObject *docman =
    anjuta_plugin_manager_get_plugin (plugin_manager, "IAnjutaDocumentManager", error);
&lt;/programlisting&gt;
Notice that this function takes the interface name string as string, unlike
anjuta_plugins_get_interface() which takes the type directly.
If no plugin implementing this interface can be found, returns NULL.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The plugin object (subclass of #AnjutaPlugin) which implements the given interface or NULL. See #AnjutaPlugin for more detail on interfaces implemented by plugins.</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="iface_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The interface implemented by the object to be found</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_plugin_by_id"
              c:identifier="anjuta_plugin_manager_get_plugin_by_id"
              introspectable="0">
        <return-value>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="plugin_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_plugins_page"
              c:identifier="anjuta_plugin_manager_get_plugins_page"
              introspectable="0">
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="get_remembered_plugins"
              c:identifier="anjuta_plugin_manager_get_remembered_plugins">
        <doc xml:whitespace="preserve">Get the list of plugins loaded when there is a choice between several
ones without asking the user.

The list format is returned as a string with the format detailed in 
anjuta_plugin_manager_set_remembered_plugins().</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a newly-allocated string that must be freed with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_remembered_plugins_page"
              c:identifier="anjuta_plugin_manager_get_remembered_plugins_page"
              introspectable="0">
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="is_active_plugin"
              c:identifier="anjuta_plugin_manager_is_active_plugin">
        <doc xml:whitespace="preserve">Searches if a currently loaded plugins implements
the given interface.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">True is the plugin is currently loaded.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iface_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The interface implemented by the object to be found</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_query"
              c:identifier="anjuta_plugin_manager_list_query"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="section_names" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="attribute_names" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="attribute_values" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="query"
              c:identifier="anjuta_plugin_manager_query"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="section_names" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="attribute_names" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="attribute_values" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="select"
              c:identifier="anjuta_plugin_manager_select"
              introspectable="0">
        <return-value transfer-ownership="full">
          <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="plugin_descriptions" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="select_and_activate"
              c:identifier="anjuta_plugin_manager_select_and_activate"
              introspectable="0">
        <return-value>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="plugin_descriptions" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_remembered_plugins"
              c:identifier="anjuta_plugin_manager_set_remembered_plugins">
        <doc xml:whitespace="preserve">Set the list of plugins loaded when there is a choice between several
ones without asking the user.
The list is a string composed of elements separated by ';'. Each element
is defined with "key=value", where key is the list of possible plugins and
the value is the choosen plugin.

By the example the following element
&lt;programlisting&gt;
  anjuta-symbol-browser:SymbolBrowserPlugin,anjuta-symbol-db:SymbolDBPlugin,=anjuta-symbol-db:SymbolDBPlugin;
&lt;/programlisting&gt;
means if Anjuta has to choose between SymbolBrowserPlugin and
SymbolDBPlugin, it will choose SymbolDBPlugin.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="remembered_plugins" transfer-ownership="none">
            <doc xml:whitespace="preserve">A list of prefered plugins</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unload_all_plugins"
              c:identifier="anjuta_plugin_manager_unload_all_plugins">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unload_plugin"
              c:identifier="anjuta_plugin_manager_unload_plugin">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="plugin" transfer-ownership="none">
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unload_plugin_by_id"
              c:identifier="anjuta_plugin_manager_unload_plugin_by_id">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="plugin_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="activated-plugins" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="available-plugins" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="profiles" transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="shell"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="GObject.Object"/>
      </property>
      <property name="status"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="Status"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="PluginManagerPriv" c:type="AnjutaPluginManagerPriv*"/>
      </field>
      <glib:signal name="plugin-activated" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="Plugin"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="plugin-deactivated" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="Plugin"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="PluginManagerClass"
            c:type="AnjutaPluginManagerClass"
            glib:is-gtype-struct-for="PluginManager">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="plugin_activated">
        <callback name="plugin_activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="PluginManager" c:type="AnjutaPluginManager*"/>
            </parameter>
            <parameter name="plugin_desc" transfer-ownership="none">
              <type name="PluginDescription"
                    c:type="AnjutaPluginDescription*"/>
            </parameter>
            <parameter name="plugin" transfer-ownership="none">
              <type name="GObject.Object" c:type="GObject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="plugin_deactivated">
        <callback name="plugin_deactivated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="PluginManager" c:type="AnjutaPluginManager*"/>
            </parameter>
            <parameter name="plugin_desc" transfer-ownership="none">
              <type name="PluginDescription"
                    c:type="AnjutaPluginDescription*"/>
            </parameter>
            <parameter name="plugin" transfer-ownership="none">
              <type name="GObject.Object" c:type="GObject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="PluginManagerError"
                 glib:type-name="AnjutaPluginManagerError"
                 glib:get-type="anjuta_plugin_manager_error_get_type"
                 c:type="AnjutaPluginManagerError"
                 glib:error-domain="anjuta-plugin-manager-quark">
      <member name="missing_factory"
              value="0"
              c:identifier="ANJUTA_PLUGIN_MANAGER_MISSING_FACTORY"
              glib:nick="missing-factory"/>
      <member name="error_unknown"
              value="1"
              c:identifier="ANJUTA_PLUGIN_MANAGER_ERROR_UNKNOWN"
              glib:nick="error-unknown"/>
      <function name="quark" c:identifier="anjuta_plugin_manager_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="PluginManagerPriv"
            c:type="AnjutaPluginManagerPriv"
            disguised="1">
    </record>
    <record name="PluginPrivate" c:type="AnjutaPluginPrivate" disguised="1">
    </record>
    <callback name="PluginValueAdded" c:type="AnjutaPluginValueAdded">
      <doc xml:whitespace="preserve">The callback to pass to anjuta_plugin_add_watch(). When a @name value
is added to shell by another plugin, this callback will be called.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="plugin" transfer-ownership="none">
          <doc xml:whitespace="preserve">The #AnjutaPlugin based plugin</doc>
          <type name="Plugin" c:type="AnjutaPlugin*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:whitespace="preserve">name of value being added.</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:whitespace="preserve">value of value being added.</doc>
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="3">
          <doc xml:whitespace="preserve">User data set during anjuta_plugin_add_watch()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="PluginValueRemoved" c:type="AnjutaPluginValueRemoved">
      <doc xml:whitespace="preserve">The callback to pass to anjuta_plugin_add_watch(). When the @name value
is removed from the shell (by the plugin exporting this value), this
callback will be called.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="plugin" transfer-ownership="none">
          <doc xml:whitespace="preserve">The #AnjutaPlugin based plugin</doc>
          <type name="Plugin" c:type="AnjutaPlugin*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:whitespace="preserve">name of value being added.</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <doc xml:whitespace="preserve">User data set during anjuta_plugin_add_watch()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="Preferences"
           c:symbol-prefix="preferences"
           c:type="AnjutaPreferences"
           parent="GObject.Object"
           glib:type-name="AnjutaPreferences"
           glib:get-type="anjuta_preferences_get_type"
           glib:type-struct="PreferencesClass">
      <constructor name="new" c:identifier="anjuta_preferences_new">
        <doc xml:whitespace="preserve">Creates a new #AnjutaPreferences object</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #AnjutaPreferences object.</doc>
          <type name="Preferences" c:type="AnjutaPreferences*"/>
        </return-value>
        <parameters>
          <parameter name="plugin_manager" transfer-ownership="none">
            <doc xml:whitespace="preserve">#AnjutaPluginManager to be used</doc>
            <type name="PluginManager" c:type="AnjutaPluginManager*"/>
          </parameter>
          <parameter name="common_schema_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Common schema id used for key starting with .</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="default"
                c:identifier="anjuta_preferences_default"
                introspectable="0">
        <doc xml:whitespace="preserve">Get the default instace of anjuta preferences</doc>
        <return-value>
          <doc xml:whitespace="preserve">A #AnjutaPreferences object.</doc>
          <type name="Preferences" c:type="AnjutaPreferences*"/>
        </return-value>
      </function>
      <method name="add_from_builder"
              c:identifier="anjuta_preferences_add_from_builder">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="builder" transfer-ownership="none">
            <type name="Gtk.Builder" c:type="GtkBuilder*"/>
          </parameter>
          <parameter name="settings" transfer-ownership="none">
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
          <parameter name="glade_widget_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="stitle" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="icon_filename" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_dialog"
              c:identifier="anjuta_preferences_get_dialog"
              introspectable="0">
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="is_dialog_created"
              c:identifier="anjuta_preferences_is_dialog_created">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="register_all_properties_from_builder_xml"
              c:identifier="anjuta_preferences_register_all_properties_from_builder_xml">
        <doc xml:whitespace="preserve">This will register all the properties names of the format described above
without considering the UI. Useful if you have the widgets shown elsewhere
but you want them to be part of preferences system.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="builder" transfer-ownership="none">
            <doc xml:whitespace="preserve">GtkBuilder object containing the properties widgets.</doc>
            <type name="Gtk.Builder" c:type="GtkBuilder*"/>
          </parameter>
          <parameter name="settings" transfer-ownership="none">
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:whitespace="preserve">Parent widget in the builder object</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="register_property"
              c:identifier="anjuta_preferences_register_property">
        <doc xml:whitespace="preserve">This registers only one widget. The widget could be shown elsewhere.
The widget needs to fulfill the properties described in
#anjuta_preferences_add_page documentation.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if sucessful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="settings" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GSettings object associated with that property</doc>
            <type name="Gio.Settings" c:type="GSettings*"/>
          </parameter>
          <parameter name="object" transfer-ownership="none">
            <doc xml:whitespace="preserve">Widget to register</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_page" c:identifier="anjuta_preferences_remove_page">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="page_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="PreferencesPriv" c:type="AnjutaPreferencesPriv*"/>
      </field>
    </class>
    <callback name="PreferencesCallback" c:type="AnjutaPreferencesCallback">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="pr" transfer-ownership="none">
          <type name="Preferences" c:type="AnjutaPreferences*"/>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="PreferencesClass"
            c:type="AnjutaPreferencesClass"
            glib:is-gtype-struct-for="Preferences">
      <field name="parent">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="PreferencesDialog"
           c:symbol-prefix="preferences_dialog"
           c:type="AnjutaPreferencesDialog"
           parent="Gtk.Dialog"
           glib:type-name="AnjutaPreferencesDialog"
           glib:get-type="anjuta_preferences_dialog_get_type"
           glib:type-struct="PreferencesDialogClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="anjuta_preferences_dialog_new">
        <doc xml:whitespace="preserve">Creates a new #AnjutaPreferencesDialog object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #AnjutaPreferencesDialog object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add_page"
              c:identifier="anjuta_preferences_dialog_add_page">
        <doc xml:whitespace="preserve">Adds a widget page in preferences dialog. Name and icon appears
on the left icon list where differnt pages are selected.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the preferences page.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">Title of the page</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Icon file name.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="page" transfer-ownership="none">
            <doc xml:whitespace="preserve">page widget.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_page"
              c:identifier="anjuta_preferences_dialog_remove_page">
        <doc xml:whitespace="preserve">Removes a preferences page.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the preferences page.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
      <field name="priv">
        <type name="PreferencesDialogPrivate"
              c:type="AnjutaPreferencesDialogPrivate*"/>
      </field>
    </class>
    <record name="PreferencesDialogClass"
            c:type="AnjutaPreferencesDialogClass"
            glib:is-gtype-struct-for="PreferencesDialog">
      <field name="parent">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
    </record>
    <record name="PreferencesDialogPrivate"
            c:type="AnjutaPreferencesDialogPrivate"
            disguised="1">
    </record>
    <record name="PreferencesPriv"
            c:type="AnjutaPreferencesPriv"
            disguised="1">
    </record>
    <class name="Profile"
           c:symbol-prefix="profile"
           c:type="AnjutaProfile"
           parent="GObject.Object"
           glib:type-name="AnjutaProfile"
           glib:get-type="anjuta_profile_get_type"
           glib:type-struct="ProfileClass">
      <doc xml:whitespace="preserve">Stores a plugin list.</doc>
      <constructor name="new" c:identifier="anjuta_profile_new">
        <doc xml:whitespace="preserve">Create a new profile.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new #AnjutaProfile object.</doc>
          <type name="Profile" c:type="AnjutaProfile*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new profile name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="plugin_manager" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #AnjutaPluginManager used by this profile.</doc>
            <type name="PluginManager" c:type="AnjutaPluginManager*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="changed" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="plugins" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="plugin_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="plugin" transfer-ownership="none">
            <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="plugin_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="plugin" transfer-ownership="none">
            <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_plugin" c:identifier="anjuta_profile_add_plugin">
        <doc xml:whitespace="preserve">Add one plugin into the profile plugin list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="plugin" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #AnjutaPluginDescription.</doc>
            <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_plugins_from_xml"
              c:identifier="anjuta_profile_add_plugins_from_xml"
              throws="1">
        <doc xml:whitespace="preserve">Add all plugins inscribed in the xml file into the profile plugin list.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE on success, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="profile_xml_file" transfer-ownership="none">
            <doc xml:whitespace="preserve">xml file containing plugin list.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="exclude_from_sync" transfer-ownership="none">
            <doc xml:whitespace="preserve">TRUE if these plugins shouldn't be saved in user session.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="anjuta_profile_get_name">
        <doc xml:whitespace="preserve">Get the profile name.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the profile name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="get_plugins"
              c:identifier="anjuta_profile_get_plugins"
              introspectable="0">
        <doc xml:whitespace="preserve">Get the profile current plugins list.</doc>
        <return-value>
          <doc xml:whitespace="preserve">the plugins list.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="has_plugin" c:identifier="anjuta_profile_has_plugin">
        <doc xml:whitespace="preserve">Check if a plugin is included in the profile plugin list.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE if the plugin is included in the list.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="plugin" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #AnjutaPluginDescription</doc>
            <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_plugin" c:identifier="anjuta_profile_remove_plugin">
        <doc xml:whitespace="preserve">Remove one plugin from the profile plugin list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="plugin" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #AnjutaPluginDescription.</doc>
            <type name="PluginDescription" c:type="AnjutaPluginDescription*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sync_file" c:identifier="anjuta_profile_set_sync_file">
        <doc xml:whitespace="preserve">Define the file used to save plugins list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sync_file" transfer-ownership="none">
            <doc xml:whitespace="preserve">file used to save profile.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="sync" c:identifier="anjuta_profile_sync" throws="1">
        <doc xml:whitespace="preserve">Save the current plugins list in the xml file set with anjuta_profile_set_sync_file().</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE on success, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <property name="plugin-manager"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="PluginManager"/>
      </property>
      <property name="plugins"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gpointer"/>
      </property>
      <property name="profile-name"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="sync-file"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="Gio.File"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ProfilePriv" c:type="AnjutaProfilePriv*"/>
      </field>
      <glib:signal name="changed" when="first">
        <doc xml:whitespace="preserve">Emitted when a plugin is added or removed from the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="plugin_list" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new plugins list.</doc>
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="plugin-added" when="first">
        <doc xml:whitespace="preserve">Emitted when a plugin is added in the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="plugin" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new plugin as a #AnjutaPluginDescription.</doc>
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="plugin-removed" when="first">
        <doc xml:whitespace="preserve">Emitted when a plugin is removed from the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="plugin" transfer-ownership="none">
            <doc xml:whitespace="preserve">the removed plugin as a #AnjutaPluginDescription.</doc>
            <type name="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ProfileClass"
            c:type="AnjutaProfileClass"
            glib:is-gtype-struct-for="Profile">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="plugin_added">
        <callback name="plugin_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Profile" c:type="AnjutaProfile*"/>
            </parameter>
            <parameter name="plugin" transfer-ownership="none">
              <type name="PluginDescription"
                    c:type="AnjutaPluginDescription*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="plugin_removed">
        <callback name="plugin_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Profile" c:type="AnjutaProfile*"/>
            </parameter>
            <parameter name="plugin" transfer-ownership="none">
              <type name="PluginDescription"
                    c:type="AnjutaPluginDescription*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="changed" introspectable="0">
        <callback name="changed" introspectable="0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Profile" c:type="AnjutaProfile*"/>
            </parameter>
            <parameter name="plugins" transfer-ownership="none">
              <type name="GLib.List" c:type="GList*">
                <type name="gpointer" c:type="gpointer"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ProfileError"
                 glib:type-name="AnjutaProfileError"
                 glib:get-type="anjuta_profile_error_get_type"
                 c:type="AnjutaProfileError"
                 glib:error-domain="anjuta-profile-quark">
      <doc xml:whitespace="preserve">Error codes returned by anjuta profile functions.</doc>
      <member name="read_failed"
              value="0"
              c:identifier="ANJUTA_PROFILE_ERROR_URI_READ_FAILED"
              glib:nick="read-failed"/>
      <member name="write_failed"
              value="1"
              c:identifier="ANJUTA_PROFILE_ERROR_URI_WRITE_FAILED"
              glib:nick="write-failed"/>
      <function name="quark" c:identifier="anjuta_profile_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="ProfileManager"
           c:symbol-prefix="profile_manager"
           c:type="AnjutaProfileManager"
           parent="GObject.Object"
           glib:type-name="AnjutaProfileManager"
           glib:get-type="anjuta_profile_manager_get_type"
           glib:type-struct="ProfileManagerClass">
      <doc xml:whitespace="preserve">Stores stack of #AnjutaProfile.</doc>
      <constructor name="new" c:identifier="anjuta_profile_manager_new">
        <doc xml:whitespace="preserve">Create a new profile manager.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the new #AnjutaProfileManager object.</doc>
          <type name="ProfileManager" c:type="AnjutaProfileManager*"/>
        </return-value>
        <parameters>
          <parameter name="plugin_manager" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #AnjutaPluginManager used by all profiles.</doc>
            <type name="PluginManager" c:type="AnjutaPluginManager*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="profile_descoped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="profile" transfer-ownership="none">
            <type name="Profile" c:type="AnjutaProfile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="profile_popped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="profile" transfer-ownership="none">
            <type name="Profile" c:type="AnjutaProfile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="profile_pushed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="profile" transfer-ownership="none">
            <type name="Profile" c:type="AnjutaProfile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="profile_scoped">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="profile" transfer-ownership="none">
            <type name="Profile" c:type="AnjutaProfile*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="freeze" c:identifier="anjuta_profile_manager_freeze">
        <doc xml:whitespace="preserve">Freeze the plugin manager. In this state, plugins can be added and removed
from the stack without triggering any change in the current profile. It is
possible to freeze the manager several times but it will be back in its normal
state only after as much call of anjuta_profile_manager_thaw().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_current"
              c:identifier="anjuta_profile_manager_get_current"
              introspectable="0">
        <doc xml:whitespace="preserve">Return the current profile.</doc>
        <return-value>
          <doc xml:whitespace="preserve">a #AnjutaProfile object or NULL if the profile stack is empty.</doc>
          <type name="Profile" c:type="AnjutaProfile*"/>
        </return-value>
      </method>
      <method name="pop" c:identifier="anjuta_profile_manager_pop" throws="1">
        <doc xml:whitespace="preserve">Remove a profile from the profile manager stack. If the manager is not
frozen, only the current profile can be removed. It will be unloaded and
the previous profile will be loaded.
If the manager is frozen, the current profile or the last pushed profile
can be removed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE on success, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="profile_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the profile to remove.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push"
              c:identifier="anjuta_profile_manager_push"
              throws="1">
        <doc xml:whitespace="preserve">Add a new profile at the top of the profile manager stack. If the profile
manager is not frozen, this new profile will be loaded immediatly and
become the current profile.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE on success, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new #AnjutaProfile.</doc>
            <type name="Profile" c:type="AnjutaProfile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thaw"
              c:identifier="anjuta_profile_manager_thaw"
              throws="1">
        <doc xml:whitespace="preserve">Put back the plugin manager in its normal mode after calling
anjuta_profile_manager_freeze(). It will load a new profile if one has been
added while the manager was frozen.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE on success, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <property name="plugin-manager"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="PluginManager"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ProfileManagerPriv" c:type="AnjutaProfileManagerPriv*"/>
      </field>
      <glib:signal name="profile-descoped" when="first">
        <doc xml:whitespace="preserve">Emitted when a profile will be unloaded.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">the old unloaded #AnjutaProfile.</doc>
            <type name="Profile"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="profile-popped" when="first">
        <doc xml:whitespace="preserve">Emitted when a profile is removed from the stack. If the profile manager
is not frozen, the current profile will be unloaded and the previous one
will be loaded.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">the current removed #AnjutaProfile.</doc>
            <type name="Profile"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="profile-pushed" when="first">
        <doc xml:whitespace="preserve">Emitted when a profile is added in the stack. If the profile manager is
not frozen, the current profile will be unloaded and the new one
will be loaded.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">the new #AnjutaProfile added.</doc>
            <type name="Profile"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="profile-scoped" when="first">
        <doc xml:whitespace="preserve">Emitted when a new profile is loaded.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">the current loaded #AnjutaProfile.</doc>
            <type name="Profile"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ProfileManagerClass"
            c:type="AnjutaProfileManagerClass"
            glib:is-gtype-struct-for="ProfileManager">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="profile_pushed">
        <callback name="profile_pushed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ProfileManager" c:type="AnjutaProfileManager*"/>
            </parameter>
            <parameter name="profile" transfer-ownership="none">
              <type name="Profile" c:type="AnjutaProfile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="profile_popped">
        <callback name="profile_popped">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ProfileManager" c:type="AnjutaProfileManager*"/>
            </parameter>
            <parameter name="profile" transfer-ownership="none">
              <type name="Profile" c:type="AnjutaProfile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="profile_descoped">
        <callback name="profile_descoped">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ProfileManager" c:type="AnjutaProfileManager*"/>
            </parameter>
            <parameter name="profile" transfer-ownership="none">
              <type name="Profile" c:type="AnjutaProfile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="profile_scoped">
        <callback name="profile_scoped">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ProfileManager" c:type="AnjutaProfileManager*"/>
            </parameter>
            <parameter name="profile" transfer-ownership="none">
              <type name="Profile" c:type="AnjutaProfile*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ProfileManagerPriv"
            c:type="AnjutaProfileManagerPriv"
            disguised="1">
    </record>
    <record name="ProfilePriv" c:type="AnjutaProfilePriv" disguised="1">
    </record>
    <class name="ProjectNode"
           c:symbol-prefix="project_node"
           c:type="AnjutaProjectNode"
           parent="GObject.InitiallyUnowned"
           glib:type-name="AnjutaProjectNode"
           glib:get-type="anjuta_project_node_get_type"
           glib:type-struct="ProjectNodeClass">
      <doc xml:whitespace="preserve">The #AnjutaProjectNode struct contains private data only, and should
accessed using the functions below.</doc>
      <method name="append" c:identifier="anjuta_project_node_append">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="check" c:identifier="anjuta_project_node_check">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="children_foreach"
              c:identifier="anjuta_project_node_children_foreach">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <type name="ProjectNodeForeachFunc"
                  c:type="AnjutaProjectNodeForeachFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="children_traverse"
              c:identifier="anjuta_project_node_children_traverse">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <type name="ProjectNodeTraverseFunc"
                  c:type="AnjutaProjectNodeTraverseFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_state"
              c:identifier="anjuta_project_node_clear_state">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="ProjectNodeState" c:type="AnjutaProjectNodeState"/>
          </parameter>
        </parameters>
      </method>
      <method name="dump" c:identifier="anjuta_project_node_dump">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="first_child"
              c:identifier="anjuta_project_node_first_child">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
      </method>
      <method name="foreach" c:identifier="anjuta_project_node_foreach">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="order" transfer-ownership="none">
            <type name="GLib.TraverseType" c:type="GTraverseType"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="2">
            <type name="ProjectNodeForeachFunc"
                  c:type="AnjutaProjectNodeForeachFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_file" c:identifier="anjuta_project_node_get_file">
        <return-value transfer-ownership="none">
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </method>
      <method name="get_full_type"
              c:identifier="anjuta_project_node_get_full_type">
        <return-value transfer-ownership="none">
          <type name="ProjectNodeType" c:type="AnjutaProjectNodeType"/>
        </return-value>
      </method>
      <method name="get_group_from_file"
              c:identifier="anjuta_project_node_get_group_from_file">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="directory" transfer-ownership="none">
            <doc xml:whitespace="preserve">Directory to search in</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_map_property"
              c:identifier="anjuta_project_node_get_map_property">
        <return-value transfer-ownership="full">
          <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="anjuta_project_node_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="get_node_type"
              c:identifier="anjuta_project_node_get_node_type">
        <return-value transfer-ownership="none">
          <type name="ProjectNodeType" c:type="AnjutaProjectNodeType"/>
        </return-value>
      </method>
      <method name="get_properties"
              c:identifier="anjuta_project_node_get_properties">
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="ProjectProperty"/>
          </type>
        </return-value>
      </method>
      <method name="get_properties_info"
              c:identifier="anjuta_project_node_get_properties_info">
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="ProjectPropertyInfo"/>
          </type>
        </return-value>
      </method>
      <method name="get_property"
              c:identifier="anjuta_project_node_get_property">
        <return-value transfer-ownership="none">
          <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property identifier</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_property_info"
              c:identifier="anjuta_project_node_get_property_info">
        <return-value transfer-ownership="none">
          <type name="ProjectPropertyInfo"
                c:type="AnjutaProjectPropertyInfo*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property identifier</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_source_from_file"
              c:identifier="anjuta_project_node_get_source_from_file">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">The file to query the source for</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="anjuta_project_node_get_state">
        <return-value transfer-ownership="none">
          <type name="ProjectNodeState" c:type="AnjutaProjectNodeState"/>
        </return-value>
      </method>
      <method name="insert_after"
              c:identifier="anjuta_project_node_insert_after">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="sibling" transfer-ownership="none" allow-none="1">
            <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_before"
              c:identifier="anjuta_project_node_insert_before">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="sibling" transfer-ownership="none" allow-none="1">
            <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_property"
              c:identifier="anjuta_project_node_insert_property">
        <return-value transfer-ownership="none">
          <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
        </return-value>
        <parameters>
          <parameter name="info" transfer-ownership="none">
            <type name="ProjectPropertyInfo"
                  c:type="AnjutaProjectPropertyInfo*"/>
          </parameter>
          <parameter name="property" transfer-ownership="full">
            <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_property_info"
              c:identifier="anjuta_project_node_insert_property_info">
        <return-value transfer-ownership="none">
          <type name="ProjectPropertyInfo"
                c:type="AnjutaProjectPropertyInfo*"/>
        </return-value>
        <parameters>
          <parameter name="info" transfer-ownership="none">
            <type name="ProjectPropertyInfo"
                  c:type="AnjutaProjectPropertyInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="last_child" c:identifier="anjuta_project_node_last_child">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
      </method>
      <method name="next_sibling"
              c:identifier="anjuta_project_node_next_sibling">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
      </method>
      <method name="nth_child" c:identifier="anjuta_project_node_nth_child">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="n" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="parent" c:identifier="anjuta_project_node_parent">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
      </method>
      <method name="parent_type"
              c:identifier="anjuta_project_node_parent_type">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="ProjectNodeType" c:type="AnjutaProjectNodeType"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend" c:identifier="anjuta_project_node_prepend">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prev_sibling"
              c:identifier="anjuta_project_node_prev_sibling">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
      </method>
      <method name="remove" c:identifier="anjuta_project_node_remove">
        <return-value transfer-ownership="full">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
      </method>
      <method name="remove_property"
              c:identifier="anjuta_project_node_remove_property">
        <return-value transfer-ownership="full">
          <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
        </return-value>
        <parameters>
          <parameter name="property" transfer-ownership="none">
            <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
          </parameter>
        </parameters>
      </method>
      <method name="root" c:identifier="anjuta_project_node_root">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
      </method>
      <method name="set_state" c:identifier="anjuta_project_node_set_state">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="ProjectNodeState" c:type="AnjutaProjectNodeState"/>
          </parameter>
        </parameters>
      </method>
      <method name="traverse" c:identifier="anjuta_project_node_traverse">
        <return-value transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </return-value>
        <parameters>
          <parameter name="order" transfer-ownership="none">
            <type name="GLib.TraverseType" c:type="GTraverseType"/>
          </parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="2">
            <type name="ProjectNodeTraverseFunc"
                  c:type="AnjutaProjectNodeTraverseFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <property name="file" writable="1" transfer-ownership="none">
        <type name="Gio.File"/>
      </property>
      <property name="name" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="state" writable="1" transfer-ownership="none">
        <type name="ProjectNodeState"/>
      </property>
      <property name="type" writable="1" transfer-ownership="none">
        <type name="ProjectNodeType"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
      <field name="next" readable="0" private="1">
        <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
      </field>
      <field name="prev" readable="0" private="1">
        <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
      </field>
      <field name="parent" readable="0" private="1">
        <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
      </field>
      <field name="children" readable="0" private="1">
        <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
      </field>
      <field name="type" readable="0" private="1">
        <type name="ProjectNodeType" c:type="AnjutaProjectNodeType"/>
      </field>
      <field name="state" readable="0" private="1">
        <type name="ProjectNodeState" c:type="AnjutaProjectNodeState"/>
      </field>
      <field name="properties_info" readable="0" private="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="properties" readable="0" private="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="file" readable="0" private="1">
        <type name="Gio.File" c:type="GFile*"/>
      </field>
      <field name="name" readable="0" private="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <glib:signal name="loaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="updated" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gpointer"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ProjectNodeClass"
            c:type="AnjutaProjectNodeClass"
            glib:is-gtype-struct-for="ProjectNode">
      <field name="parent_class">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="updated">
        <callback name="updated">
          <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>
        </callback>
      </field>
      <field name="loaded">
        <callback name="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>
        </callback>
      </field>
    </record>
    <callback name="ProjectNodeForeachFunc"
              c:type="AnjutaProjectNodeForeachFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none" closure="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ProjectNodeInfo"
            c:type="AnjutaProjectNodeInfo"
            glib:type-name="AnjutaProjectNodeInfo"
            glib:get-type="anjuta_project_node_info_get_type"
            c:symbol-prefix="project_node_info">
      <field name="type" writable="1">
        <type name="ProjectNodeType" c:type="AnjutaProjectNodeType"/>
      </field>
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="mime_type" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="property_help_id" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <constructor name="new" c:identifier="anjuta_project_node_info_new">
        <return-value transfer-ownership="full">
          <type name="ProjectNodeInfo" c:type="AnjutaProjectNodeInfo*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="ProjectNodeType" c:type="AnjutaProjectNodeType"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy" c:identifier="anjuta_project_node_info_copy">
        <return-value transfer-ownership="full">
          <type name="ProjectNodeInfo" c:type="AnjutaProjectNodeInfo*"/>
        </return-value>
      </method>
      <method name="free" c:identifier="anjuta_project_node_info_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="mime" c:identifier="anjuta_project_node_info_mime">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="name" c:identifier="anjuta_project_node_info_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="property_help_id"
              c:identifier="anjuta_project_node_info_property_help_id">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="type" c:identifier="anjuta_project_node_info_type">
        <return-value transfer-ownership="none">
          <type name="ProjectNodeType" c:type="AnjutaProjectNodeType"/>
        </return-value>
      </method>
    </record>
    <bitfield name="ProjectNodeState"
              glib:type-name="AnjutaProjectNodeState"
              glib:get-type="anjuta_project_node_state_get_type"
              c:type="AnjutaProjectNodeState">
      <member name="ok"
              value="0"
              c:identifier="ANJUTA_PROJECT_OK"
              glib:nick="ok"/>
      <member name="modified"
              value="1"
              c:identifier="ANJUTA_PROJECT_MODIFIED"
              glib:nick="modified"/>
      <member name="incomplete"
              value="2"
              c:identifier="ANJUTA_PROJECT_INCOMPLETE"
              glib:nick="incomplete"/>
      <member name="loading"
              value="4"
              c:identifier="ANJUTA_PROJECT_LOADING"
              glib:nick="loading"/>
      <member name="removed"
              value="8"
              c:identifier="ANJUTA_PROJECT_REMOVED"
              glib:nick="removed"/>
      <member name="can_add_group"
              value="256"
              c:identifier="ANJUTA_PROJECT_CAN_ADD_GROUP"
              glib:nick="can-add-group"/>
      <member name="can_add_target"
              value="512"
              c:identifier="ANJUTA_PROJECT_CAN_ADD_TARGET"
              glib:nick="can-add-target"/>
      <member name="can_add_source"
              value="1024"
              c:identifier="ANJUTA_PROJECT_CAN_ADD_SOURCE"
              glib:nick="can-add-source"/>
      <member name="can_add_module"
              value="2048"
              c:identifier="ANJUTA_PROJECT_CAN_ADD_MODULE"
              glib:nick="can-add-module"/>
      <member name="can_add_package"
              value="4096"
              c:identifier="ANJUTA_PROJECT_CAN_ADD_PACKAGE"
              glib:nick="can-add-package"/>
      <member name="can_remove"
              value="65536"
              c:identifier="ANJUTA_PROJECT_CAN_REMOVE"
              glib:nick="can-remove"/>
      <member name="can_save"
              value="131072"
              c:identifier="ANJUTA_PROJECT_CAN_SAVE"
              glib:nick="can-save"/>
      <member name="remove_file"
              value="262144"
              c:identifier="ANJUTA_PROJECT_REMOVE_FILE"
              glib:nick="remove-file"/>
    </bitfield>
    <callback name="ProjectNodeTraverseFunc"
              c:type="AnjutaProjectNodeTraverseFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <bitfield name="ProjectNodeType"
              glib:type-name="AnjutaProjectNodeType"
              glib:get-type="anjuta_project_node_type_get_type"
              c:type="AnjutaProjectNodeType">
      <member name="unknown"
              value="0"
              c:identifier="ANJUTA_PROJECT_UNKNOWN"
              glib:nick="unknown"/>
      <member name="sharedlib"
              value="1"
              c:identifier="ANJUTA_PROJECT_SHAREDLIB"
              glib:nick="sharedlib"/>
      <member name="staticlib"
              value="2"
              c:identifier="ANJUTA_PROJECT_STATICLIB"
              glib:nick="staticlib"/>
      <member name="program"
              value="3"
              c:identifier="ANJUTA_PROJECT_PROGRAM"
              glib:nick="program"/>
      <member name="python"
              value="4"
              c:identifier="ANJUTA_PROJECT_PYTHON"
              glib:nick="python"/>
      <member name="java"
              value="5"
              c:identifier="ANJUTA_PROJECT_JAVA"
              glib:nick="java"/>
      <member name="lisp"
              value="6"
              c:identifier="ANJUTA_PROJECT_LISP"
              glib:nick="lisp"/>
      <member name="header"
              value="7"
              c:identifier="ANJUTA_PROJECT_HEADER"
              glib:nick="header"/>
      <member name="man"
              value="8"
              c:identifier="ANJUTA_PROJECT_MAN"
              glib:nick="man"/>
      <member name="info"
              value="9"
              c:identifier="ANJUTA_PROJECT_INFO"
              glib:nick="info"/>
      <member name="generic"
              value="10"
              c:identifier="ANJUTA_PROJECT_GENERIC"
              glib:nick="generic"/>
      <member name="data"
              value="11"
              c:identifier="ANJUTA_PROJECT_DATA"
              glib:nick="data"/>
      <member name="extra"
              value="12"
              c:identifier="ANJUTA_PROJECT_EXTRA"
              glib:nick="extra"/>
      <member name="intltool"
              value="13"
              c:identifier="ANJUTA_PROJECT_INTLTOOL"
              glib:nick="intltool"/>
      <member name="configure"
              value="14"
              c:identifier="ANJUTA_PROJECT_CONFIGURE"
              glib:nick="configure"/>
      <member name="idl"
              value="15"
              c:identifier="ANJUTA_PROJECT_IDL"
              glib:nick="idl"/>
      <member name="mkenums"
              value="16"
              c:identifier="ANJUTA_PROJECT_MKENUMS"
              glib:nick="mkenums"/>
      <member name="genmarshal"
              value="17"
              c:identifier="ANJUTA_PROJECT_GENMARSHAL"
              glib:nick="genmarshal"/>
      <member name="script"
              value="18"
              c:identifier="ANJUTA_PROJECT_SCRIPT"
              glib:nick="script"/>
      <member name="root_group"
              value="19"
              c:identifier="ANJUTA_PROJECT_ROOT_GROUP"
              glib:nick="root-group"/>
      <member name="lt_module"
              value="20"
              c:identifier="ANJUTA_PROJECT_LT_MODULE"
              glib:nick="lt-module"/>
      <member name="proxy"
              value="65536"
              c:identifier="ANJUTA_PROJECT_PROXY"
              glib:nick="proxy"/>
      <member name="project"
              value="131072"
              c:identifier="ANJUTA_PROJECT_PROJECT"
              glib:nick="project"/>
      <member name="primary"
              value="262144"
              c:identifier="ANJUTA_PROJECT_PRIMARY"
              glib:nick="primary"/>
      <member name="executable"
              value="524288"
              c:identifier="ANJUTA_PROJECT_EXECUTABLE"
              glib:nick="executable"/>
      <member name="read_only"
              value="1048576"
              c:identifier="ANJUTA_PROJECT_READ_ONLY"
              glib:nick="read-only"/>
      <member name="frame"
              value="2097152"
              c:identifier="ANJUTA_PROJECT_FRAME"
              glib:nick="frame"/>
      <member name="id_mask"
              value="65535"
              c:identifier="ANJUTA_PROJECT_ID_MASK"
              glib:nick="id-mask"/>
      <member name="flag_mask"
              value="16711680"
              c:identifier="ANJUTA_PROJECT_FLAG_MASK"
              glib:nick="flag-mask"/>
      <member name="type_mask"
              value="4278190080"
              c:identifier="ANJUTA_PROJECT_TYPE_MASK"
              glib:nick="type-mask"/>
      <member name="root"
              value="16777216"
              c:identifier="ANJUTA_PROJECT_ROOT"
              glib:nick="root"/>
      <member name="group"
              value="33554432"
              c:identifier="ANJUTA_PROJECT_GROUP"
              glib:nick="group"/>
      <member name="target"
              value="50331648"
              c:identifier="ANJUTA_PROJECT_TARGET"
              glib:nick="target"/>
      <member name="source"
              value="67108864"
              c:identifier="ANJUTA_PROJECT_SOURCE"
              glib:nick="source"/>
      <member name="module"
              value="83886080"
              c:identifier="ANJUTA_PROJECT_MODULE"
              glib:nick="module"/>
      <member name="package"
              value="100663296"
              c:identifier="ANJUTA_PROJECT_PACKAGE"
              glib:nick="package"/>
      <member name="variable"
              value="117440512"
              c:identifier="ANJUTA_PROJECT_VARIABLE"
              glib:nick="variable"/>
      <member name="object"
              value="134217728"
              c:identifier="ANJUTA_PROJECT_OBJECT"
              glib:nick="object"/>
    </bitfield>
    <record name="ProjectProperty"
            c:type="AnjutaProjectProperty"
            glib:type-name="AnjutaProjectProperty"
            glib:get-type="anjuta_project_property_get_type"
            c:symbol-prefix="project_property">
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="value" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="info" writable="1">
        <type name="ProjectPropertyInfo" c:type="AnjutaProjectPropertyInfo*"/>
      </field>
      <field name="user_data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <constructor name="new" c:identifier="anjuta_project_property_new">
        <return-value transfer-ownership="full">
          <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Value</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Optional name used by map properties</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="full" allow-none="1">
            <doc xml:whitespace="preserve">Optional user data</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy" c:identifier="anjuta_project_property_copy">
        <return-value transfer-ownership="full">
          <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
        </return-value>
      </method>
      <method name="free" c:identifier="anjuta_project_property_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <bitfield name="ProjectPropertyFlags"
              glib:type-name="AnjutaProjectPropertyFlags"
              glib:get-type="anjuta_project_property_flags_get_type"
              c:type="AnjutaProjectPropertyFlags">
      <member name="read_only"
              value="1"
              c:identifier="ANJUTA_PROJECT_PROPERTY_READ_ONLY"
              glib:nick="read-only"/>
      <member name="read_write"
              value="2"
              c:identifier="ANJUTA_PROJECT_PROPERTY_READ_WRITE"
              glib:nick="read-write"/>
      <member name="hidden"
              value="4"
              c:identifier="ANJUTA_PROJECT_PROPERTY_HIDDEN"
              glib:nick="hidden"/>
      <member name="static"
              value="8"
              c:identifier="ANJUTA_PROJECT_PROPERTY_STATIC"
              glib:nick="static"/>
    </bitfield>
    <record name="ProjectPropertyInfo"
            c:type="AnjutaProjectPropertyInfo"
            glib:type-name="AnjutaProjectPropertyInfo"
            glib:get-type="anjuta_project_property_info_get_type"
            c:symbol-prefix="project_property_info">
      <field name="id" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="type" writable="1">
        <type name="ProjectValueType" c:type="AnjutaProjectValueType"/>
      </field>
      <field name="flags" writable="1">
        <type name="ProjectPropertyFlags" c:type="AnjutaProjectPropertyFlags"/>
      </field>
      <field name="description" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="default_value" writable="1">
        <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
      </field>
      <field name="user_data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <constructor name="new" c:identifier="anjuta_project_property_info_new">
        <return-value transfer-ownership="full">
          <type name="ProjectPropertyInfo"
                c:type="AnjutaProjectPropertyInfo*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property identifier</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Translatable property name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property value type</doc>
            <type name="ProjectValueType" c:type="AnjutaProjectValueType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property flags</doc>
            <type name="ProjectPropertyFlags"
                  c:type="AnjutaProjectPropertyFlags"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:whitespace="preserve">Property description</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="default_value" transfer-ownership="full">
            <doc xml:whitespace="preserve">Default property value</doc>
            <type name="ProjectProperty" c:type="AnjutaProjectProperty*"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="full" allow-none="1">
            <doc xml:whitespace="preserve">Optional user data</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy" c:identifier="anjuta_project_property_info_copy">
        <return-value transfer-ownership="full">
          <type name="ProjectPropertyInfo"
                c:type="AnjutaProjectPropertyInfo*"/>
        </return-value>
      </method>
      <method name="free" c:identifier="anjuta_project_property_info_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <enumeration name="ProjectValueType"
                 glib:type-name="AnjutaProjectValueType"
                 glib:get-type="anjuta_project_value_type_get_type"
                 c:type="AnjutaProjectValueType">
      <member name="string"
              value="1"
              c:identifier="ANJUTA_PROJECT_PROPERTY_STRING"
              glib:nick="string"/>
      <member name="list"
              value="2"
              c:identifier="ANJUTA_PROJECT_PROPERTY_LIST"
              glib:nick="list"/>
      <member name="boolean"
              value="3"
              c:identifier="ANJUTA_PROJECT_PROPERTY_BOOLEAN"
              glib:nick="boolean"/>
      <member name="map"
              value="4"
              c:identifier="ANJUTA_PROJECT_PROPERTY_MAP"
              glib:nick="map"/>
    </enumeration>
    <record name="Property" c:type="AnjutaProperty" disguised="1">
      <method name="get_widget"
              c:identifier="anjuta_property_get_widget"
              introspectable="0">
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
    </record>
    <class name="SavePrompt"
           c:symbol-prefix="save_prompt"
           c:type="AnjutaSavePrompt"
           parent="Gtk.MessageDialog"
           glib:type-name="AnjutaSavePrompt"
           glib:get-type="anjuta_save_prompt_get_type"
           glib:type-struct="SavePromptClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="anjuta_save_prompt_new">
        <return-value transfer-ownership="none">
          <type name="SavePrompt" c:type="AnjutaSavePrompt*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_item"
              c:identifier="anjuta_save_prompt_add_item"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="item_detail" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="item_save_func"
                     transfer-ownership="none"
                     closure="4">
            <type name="SavePromptSaveFunc" c:type="AnjutaSavePromptSaveFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_items_count"
              c:identifier="anjuta_save_prompt_get_items_count">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <field name="parent">
        <type name="Gtk.MessageDialog" c:type="GtkMessageDialog"/>
      </field>
      <field name="priv">
        <type name="SavePromptPrivate" c:type="AnjutaSavePromptPrivate*"/>
      </field>
    </class>
    <record name="SavePromptClass"
            c:type="AnjutaSavePromptClass"
            glib:is-gtype-struct-for="SavePrompt">
      <field name="parent_class">
        <type name="Gtk.MessageDialogClass" c:type="GtkMessageDialogClass"/>
      </field>
    </record>
    <record name="SavePromptPrivate"
            c:type="AnjutaSavePromptPrivate"
            disguised="1">
    </record>
    <callback name="SavePromptSaveFunc" c:type="AnjutaSavePromptSaveFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="save_prompt" transfer-ownership="none">
          <type name="SavePrompt" c:type="AnjutaSavePrompt*"/>
        </parameter>
        <parameter name="item" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <class name="Serializer"
           c:symbol-prefix="serializer"
           c:type="AnjutaSerializer"
           parent="GObject.Object"
           glib:type-name="AnjutaSerializer"
           glib:get-type="anjuta_serializer_get_type"
           glib:type-struct="SerializerClass">
      <constructor name="new" c:identifier="anjuta_serializer_new">
        <return-value transfer-ownership="full">
          <type name="Serializer" c:type="AnjutaSerializer*"/>
        </return-value>
        <parameters>
          <parameter name="filepath" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="SerializerMode" c:type="AnjutaSerializerMode"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="read_float" c:identifier="anjuta_serializer_read_float">
        <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="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_int" c:identifier="anjuta_serializer_read_int">
        <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="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_string" c:identifier="anjuta_serializer_read_string">
        <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="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="replace" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_float" c:identifier="anjuta_serializer_write_float">
        <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="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_int" c:identifier="anjuta_serializer_write_int">
        <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="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_string"
              c:identifier="anjuta_serializer_write_string">
        <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="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="filepath"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="mode"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="SerializerMode"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="SerializerPrivate" c:type="AnjutaSerializerPrivate*"/>
      </field>
    </class>
    <record name="SerializerClass"
            c:type="AnjutaSerializerClass"
            glib:is-gtype-struct-for="Serializer">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="SerializerMode"
                 glib:type-name="AnjutaSerializerMode"
                 glib:get-type="anjuta_serializer_mode_get_type"
                 c:type="AnjutaSerializerMode">
      <member name="read"
              value="0"
              c:identifier="ANJUTA_SERIALIZER_READ"
              glib:nick="read"/>
      <member name="write"
              value="1"
              c:identifier="ANJUTA_SERIALIZER_WRITE"
              glib:nick="write"/>
    </enumeration>
    <record name="SerializerPrivate"
            c:type="AnjutaSerializerPrivate"
            disguised="1">
    </record>
    <class name="Session"
           c:symbol-prefix="session"
           c:type="AnjutaSession"
           parent="GObject.Object"
           glib:type-name="AnjutaSession"
           glib:get-type="anjuta_session_get_type"
           glib:type-struct="SessionClass">
      <constructor name="new" c:identifier="anjuta_session_new">
        <doc xml:whitespace="preserve">Created a new session object. @session_directory is the directory
where session information will be stored or loaded in case of existing
session.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">an #AnjutaSession Object</doc>
          <type name="Session" c:type="AnjutaSession*"/>
        </return-value>
        <parameters>
          <parameter name="session_directory" transfer-ownership="none">
            <doc xml:whitespace="preserve">Directory where session is loaded from/saved to.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="clear" c:identifier="anjuta_session_clear">
        <doc xml:whitespace="preserve">Clears the session.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="clear_section" c:identifier="anjuta_session_clear_section">
        <doc xml:whitespace="preserve">Clears the given section in session object.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section to clear.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_file_from_relative_uri"
              c:identifier="anjuta_session_get_file_from_relative_uri"
              introspectable="0">
        <doc xml:whitespace="preserve">Return a GFile corresponding to the URI and and optional fragment,
normally read from a session key.
The path is expected to be relative to the session directory but it works
with an absolute URI, in this case it returns the same file than
g_file_new_for_uri.
It is useful to keep only relative file paths in a session file to be able
to copy the whole project without breaking references.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A new GFile that has to be freed with g_object_unref().</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">a relative URI from a key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="fragment" transfer-ownership="none">
            <doc xml:whitespace="preserve">fragment part of the URI if existing, cal be NULL</doc>
            <type name="utf8" c:type="const gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_float" c:identifier="anjuta_session_get_float">
        <doc xml:whitespace="preserve">Get a float @value of @key in given @section.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Key value</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_int" c:identifier="anjuta_session_get_int">
        <doc xml:whitespace="preserve">Get an integer @value of @key in given @section.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Key value</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_relative_uri_from_file"
              c:identifier="anjuta_session_get_relative_uri_from_file">
        <doc xml:whitespace="preserve">Return an URI relative to the session directory file with an optional
fragment.
It is useful to keep only relative file paths in a session file to be able
to copy the whole project without breaking references.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A string that has to be freed with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <doc xml:whitespace="preserve">a GFile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="fragment" transfer-ownership="none">
            <doc xml:whitespace="preserve">an optional fragment</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_session_directory"
              c:identifier="anjuta_session_get_session_directory">
        <doc xml:whitespace="preserve">Returns the directory corresponding to this session object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">session directory</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="get_session_filename"
              c:identifier="anjuta_session_get_session_filename">
        <doc xml:whitespace="preserve">Gets the session filename corresponding to this session object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">session (absolute) filename</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_string" c:identifier="anjuta_session_get_string">
        <doc xml:whitespace="preserve">Get a string @value of @key in given @section.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">Key value</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_string_list"
              c:identifier="anjuta_session_get_string_list"
              introspectable="0">
        <doc xml:whitespace="preserve">Get a list of strings @value of @key in given @section.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Key value</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_float" c:identifier="anjuta_session_set_float">
        <doc xml:whitespace="preserve">Set a float @value to @key in given @section.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key value</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_int" c:identifier="anjuta_session_set_int">
        <doc xml:whitespace="preserve">Set an integer @value to @key in given @section.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key value</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string" c:identifier="anjuta_session_set_string">
        <doc xml:whitespace="preserve">Set a string @value to @key in given @section.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key value</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string_list"
              c:identifier="anjuta_session_set_string_list"
              introspectable="0">
        <doc xml:whitespace="preserve">Set a list of strings @value to @key in given @section.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="section" transfer-ownership="none">
            <doc xml:whitespace="preserve">Section.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Key value</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="sync" c:identifier="anjuta_session_sync">
        <doc xml:whitespace="preserve">Synchronizes session object with session file</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="SessionPriv" c:type="AnjutaSessionPriv*"/>
      </field>
    </class>
    <record name="SessionClass"
            c:type="AnjutaSessionClass"
            glib:is-gtype-struct-for="Session">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="SessionPhase"
                 glib:type-name="AnjutaSessionPhase"
                 glib:get-type="anjuta_session_phase_get_type"
                 c:type="AnjutaSessionPhase">
      <member name="start"
              value="0"
              c:identifier="ANJUTA_SESSION_PHASE_START"
              glib:nick="start"/>
      <member name="first"
              value="1"
              c:identifier="ANJUTA_SESSION_PHASE_FIRST"
              glib:nick="first"/>
      <member name="normal"
              value="2"
              c:identifier="ANJUTA_SESSION_PHASE_NORMAL"
              glib:nick="normal"/>
      <member name="last"
              value="3"
              c:identifier="ANJUTA_SESSION_PHASE_LAST"
              glib:nick="last"/>
      <member name="end"
              value="4"
              c:identifier="ANJUTA_SESSION_PHASE_END"
              glib:nick="end"/>
    </enumeration>
    <record name="SessionPriv" c:type="AnjutaSessionPriv" disguised="1">
    </record>
    <interface name="Shell"
               c:symbol-prefix="shell"
               c:type="AnjutaShell"
               glib:type-name="AnjutaShell"
               glib:get-type="anjuta_shell_get_type"
               glib:type-struct="ShellIface">
      <virtual-method name="add_value" invoker="add_value" throws="1">
        <doc xml:whitespace="preserve">Sets a value in the shell with the given name. Any previous value will
be overridden. "value_added" signal will be emitted. Objects connecting
to this signal can then update their data according to the new value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the value</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Value to add</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_widget_custom"
                      invoker="add_widget_custom"
                      throws="1">
        <doc xml:whitespace="preserve">Adds @widget in the shell. The @placement tells where the widget should
appear, but generally it will be overridden by the container
(dock, notebook, GtkContainer etc.) saved layout.

Using this method you can pass a custom widget as label.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">Then widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the widget. None translated string used to identify it in the shell.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">title of the widget (translated)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="stock_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Icon stock ID. Could be null.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:whitespace="preserve">Label widget to use</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">Placement of the widget in shell.</doc>
            <type name="ShellPlacement" c:type="AnjutaShellPlacement"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="add_widget_full"
                      invoker="add_widget_full"
                      throws="1">
        <doc xml:whitespace="preserve">Adds @widget in the shell. The @placement tells where the widget should
appear, but generally it will be overridden by the container
(dock, notebook, GtkContainer etc.) saved layout.

Normally just use anjuta_shell_add_widget() because you do not
use locking.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">Then widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the widget. None translated string used to identify it in the shell.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">Translated string which is displayed along side the widget when required (eg. as window title or notebook tab label).</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="stock_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Icon stock ID. Could be null.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">Placement of the widget in shell.</doc>
            <type name="ShellPlacement" c:type="AnjutaShellPlacement"/>
          </parameter>
          <parameter name="locked" transfer-ownership="none">
            <doc xml:whitespace="preserve">Whether to lock that widget (do not use this, it's only useful to some stock plugins</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="exiting">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_object" invoker="get_object" throws="1">
        <doc xml:whitespace="preserve">Searches the currently available plugins to find the one which
implements the given interface as primary interface and returns it. If
the plugin is not yet loaded, it will be loaded and activated.
The returned object is garanteed to be an implementor of the
interface (as exported by the plugin metafile). It only searches
from the pool of plugin objects loaded in this shell and can only search
by primary interface. If there are more objects implementing this primary
interface, user might be prompted to select one from them (and might give
the option to use it as default for future queries). A typical usage of this
function is:
&lt;programlisting&gt;
GObject *docman =
    anjuta_plugins_get_object (shell, "IAnjutaDocumentManager", error);
&lt;/programlisting&gt;
Notice that this function takes the interface name string as string, unlike
anjuta_plugins_get_interface() which takes the type directly.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A plugin object implementing the primary interface or NULL.</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="iface_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The interface implemented by the object to be found</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_plugin_manager"
                      invoker="get_plugin_manager"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaPluginManager object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaPluginManager object.</doc>
          <type name="PluginManager" c:type="AnjutaPluginManager*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_preferences"
                      invoker="get_preferences"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaPreferences object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaPreferences object.</doc>
          <type name="Preferences" c:type="AnjutaPreferences*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_profile_manager"
                      invoker="get_profile_manager"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaProfileManager object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaProfileManager object.</doc>
          <type name="ProfileManager" c:type="AnjutaProfileManager*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_status"
                      invoker="get_status"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaStatus object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaStatus object.</doc>
          <type name="Status" c:type="AnjutaStatus*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_ui"
                      invoker="get_ui"
                      introspectable="0"
                      throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaUI object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaUI object.</doc>
          <type name="UI" c:type="AnjutaUI*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="get_value" invoker="get_value" throws="1">
        <doc xml:whitespace="preserve">Gets a value from the shell with the given name. The value will be set
in the passed value pointer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the value to get</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Value to get</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hide_dockable_widget"
                      invoker="hide_dockable_widget"
                      throws="1">
        <doc xml:whitespace="preserve">If the widget is dockable, it hides it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkWidget to hide.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="iconify_dockable_widget"
                      invoker="iconify_dockable_widget"
                      throws="1">
        <doc xml:whitespace="preserve">If the widget is dockable, it iconifies it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkWidget to iconify.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="load_session">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="phase" transfer-ownership="none">
            <type name="SessionPhase" c:type="AnjutaSessionPhase"/>
          </parameter>
          <parameter name="session" transfer-ownership="none">
            <type name="Session" c:type="AnjutaSession*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="maximize_widget"
                      invoker="maximize_widget"
                      throws="1">
        <doc xml:whitespace="preserve">Maximizes a widget so it will occupy all the possible space.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the widget to be maximized.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="present_widget"
                      invoker="present_widget"
                      throws="1">
        <doc xml:whitespace="preserve">Make sure the widget is visible to user. If the widget is hidden, it will
be shown. If it is not visible to user, it will be made visible.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">The widget to present</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_value" invoker="remove_value" throws="1">
        <doc xml:whitespace="preserve">Removes a value from the shell with the given name. "value_removed" signal
will be emitted. Objects connecting to this signal can then update their
data/internal-state accordingly.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the value to remove</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_widget" invoker="remove_widget" throws="1">
        <doc xml:whitespace="preserve">Removes the widget from shell. The widget should have been added before
with #anjuta_shell_add_widget.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">The widget to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_prompt">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="save_prompt" transfer-ownership="none">
            <type name="SavePrompt" c:type="AnjutaSavePrompt*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_session">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="phase" transfer-ownership="none">
            <type name="SessionPhase" c:type="AnjutaSessionPhase"/>
          </parameter>
          <parameter name="session" transfer-ownership="none">
            <type name="Session" c:type="AnjutaSession*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saving_pop" invoker="saving_pop">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="saving_push" invoker="saving_push">
        <doc xml:whitespace="preserve">Decrease the count of files that need to be saved</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="show_dockable_widget"
                      invoker="show_dockable_widget"
                      throws="1">
        <doc xml:whitespace="preserve">If the widget was hidden or iconified, it will make it visible.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkWidget to show.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unmaximize" invoker="unmaximize" throws="1">
        <doc xml:whitespace="preserve">Unmaximizes the UI which was previously maximized by 
#anjuta_shell_maximize_widget</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="value_added">
        <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="char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="value_removed">
        <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="char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add" c:identifier="anjuta_shell_add" introspectable="0">
        <doc xml:whitespace="preserve">Adds a list of values in the shell. The list should be NULL terminated
and should be in the order - name1, type1, value1, name2, type2, value2,
..., NULL. "value_added" signal will be emitted for each of the value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="first_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="first_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value type</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="add_valist"
              c:identifier="anjuta_shell_add_valist"
              introspectable="0">
        <doc xml:whitespace="preserve">Adds a valist of values in the shell. The valist should be in the order -
value1, name2, type2, value2,... "value_added" signal will be emitted
for each of the value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="first_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="first_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value type</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value, Second value name, Second value type ....</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_value"
              c:identifier="anjuta_shell_add_value"
              throws="1">
        <doc xml:whitespace="preserve">Sets a value in the shell with the given name. Any previous value will
be overridden. "value_added" signal will be emitted. Objects connecting
to this signal can then update their data according to the new value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the value</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Value to add</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_widget"
              c:identifier="anjuta_shell_add_widget"
              throws="1">
        <doc xml:whitespace="preserve">Adds @widget in the shell. The @placement tells where the widget should
appear, but generally it will be overridden by the container
(dock, notebook, GtkContainer etc.) saved layout.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">Then widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the widget. None translated string used to identify it in the shell.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">Translated string which is displayed along side the widget when required (eg. as window title or notebook tab label).</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="stock_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Icon stock ID. Could be null.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">Placement of the widget in shell.</doc>
            <type name="ShellPlacement" c:type="AnjutaShellPlacement"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_widget_custom"
              c:identifier="anjuta_shell_add_widget_custom"
              throws="1">
        <doc xml:whitespace="preserve">Adds @widget in the shell. The @placement tells where the widget should
appear, but generally it will be overridden by the container
(dock, notebook, GtkContainer etc.) saved layout.

Using this method you can pass a custom widget as label.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">Then widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the widget. None translated string used to identify it in the shell.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">title of the widget (translated)</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="stock_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Icon stock ID. Could be null.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:whitespace="preserve">Label widget to use</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">Placement of the widget in shell.</doc>
            <type name="ShellPlacement" c:type="AnjutaShellPlacement"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_widget_full"
              c:identifier="anjuta_shell_add_widget_full"
              throws="1">
        <doc xml:whitespace="preserve">Adds @widget in the shell. The @placement tells where the widget should
appear, but generally it will be overridden by the container
(dock, notebook, GtkContainer etc.) saved layout.

Normally just use anjuta_shell_add_widget() because you do not
use locking.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">Then widget to add</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the widget. None translated string used to identify it in the shell.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <doc xml:whitespace="preserve">Translated string which is displayed along side the widget when required (eg. as window title or notebook tab label).</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="stock_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Icon stock ID. Could be null.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">Placement of the widget in shell.</doc>
            <type name="ShellPlacement" c:type="AnjutaShellPlacement"/>
          </parameter>
          <parameter name="locked" transfer-ownership="none">
            <doc xml:whitespace="preserve">Whether to lock that widget (do not use this, it's only useful to some stock plugins</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="freeze" c:identifier="anjuta_shell_freeze" throws="1">
        <doc xml:whitespace="preserve">Freezes addition of any UI elements (widgets) in the shell. All widget
additions are queued for later additions when freeze count reaches 0.
Any number of this function can be called and each call will increase
the freeze count. anjuta_shell_thaw() will reduce the freeze count by
1 and real thawing happens when the count reaches 0.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get" c:identifier="anjuta_shell_get" introspectable="0">
        <doc xml:whitespace="preserve">Gets a list of values in the shell. The list should be NULL terminated
and should be in the order - name1, type1, value1, name2, type2, value2,
..., NULL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="first_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="first_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value type</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="get_object"
              c:identifier="anjuta_shell_get_object"
              throws="1">
        <doc xml:whitespace="preserve">Searches the currently available plugins to find the one which
implements the given interface as primary interface and returns it. If
the plugin is not yet loaded, it will be loaded and activated.
The returned object is garanteed to be an implementor of the
interface (as exported by the plugin metafile). It only searches
from the pool of plugin objects loaded in this shell and can only search
by primary interface. If there are more objects implementing this primary
interface, user might be prompted to select one from them (and might give
the option to use it as default for future queries). A typical usage of this
function is:
&lt;programlisting&gt;
GObject *docman =
    anjuta_plugins_get_object (shell, "IAnjutaDocumentManager", error);
&lt;/programlisting&gt;
Notice that this function takes the interface name string as string, unlike
anjuta_plugins_get_interface() which takes the type directly.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A plugin object implementing the primary interface or NULL.</doc>
          <type name="GObject.Object" c:type="GObject*"/>
        </return-value>
        <parameters>
          <parameter name="iface_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The interface implemented by the object to be found</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_plugin_manager"
              c:identifier="anjuta_shell_get_plugin_manager"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaPluginManager object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaPluginManager object.</doc>
          <type name="PluginManager" c:type="AnjutaPluginManager*"/>
        </return-value>
      </method>
      <method name="get_preferences"
              c:identifier="anjuta_shell_get_preferences"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaPreferences object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaPreferences object.</doc>
          <type name="Preferences" c:type="AnjutaPreferences*"/>
        </return-value>
      </method>
      <method name="get_profile_manager"
              c:identifier="anjuta_shell_get_profile_manager"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaProfileManager object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaProfileManager object.</doc>
          <type name="ProfileManager" c:type="AnjutaProfileManager*"/>
        </return-value>
      </method>
      <method name="get_status"
              c:identifier="anjuta_shell_get_status"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaStatus object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaStatus object.</doc>
          <type name="Status" c:type="AnjutaStatus*"/>
        </return-value>
      </method>
      <method name="get_ui"
              c:identifier="anjuta_shell_get_ui"
              introspectable="0"
              throws="1">
        <doc xml:whitespace="preserve">Retrieves the #AnjutaUI object associated with the shell.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #AnjutaUI object.</doc>
          <type name="UI" c:type="AnjutaUI*"/>
        </return-value>
      </method>
      <method name="get_valist"
              c:identifier="anjuta_shell_get_valist"
              introspectable="0">
        <doc xml:whitespace="preserve">Gets a valist of values from the shell. The valist should be in the order -
value1, name2, type2, value2,...</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="first_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value name</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="first_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value type</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:whitespace="preserve">First value holder, Second value name, Second value type ....</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value"
              c:identifier="anjuta_shell_get_value"
              throws="1">
        <doc xml:whitespace="preserve">Gets a value from the shell with the given name. The value will be set
in the passed value pointer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the value to get</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:whitespace="preserve">Value to get</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="hide_dockable_widget"
              c:identifier="anjuta_shell_hide_dockable_widget"
              throws="1">
        <doc xml:whitespace="preserve">If the widget is dockable, it hides it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkWidget to hide.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="iconify_dockable_widget"
              c:identifier="anjuta_shell_iconify_dockable_widget"
              throws="1">
        <doc xml:whitespace="preserve">If the widget is dockable, it iconifies it.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkWidget to iconify.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="maximize_widget"
              c:identifier="anjuta_shell_maximize_widget"
              throws="1">
        <doc xml:whitespace="preserve">Maximizes a widget so it will occupy all the possible space.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the widget to be maximized.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="notify_exit"
              c:identifier="anjuta_shell_notify_exit"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="present_widget"
              c:identifier="anjuta_shell_present_widget"
              throws="1">
        <doc xml:whitespace="preserve">Make sure the widget is visible to user. If the widget is hidden, it will
be shown. If it is not visible to user, it will be made visible.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">The widget to present</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_value"
              c:identifier="anjuta_shell_remove_value"
              throws="1">
        <doc xml:whitespace="preserve">Removes a value from the shell with the given name. "value_removed" signal
will be emitted. Objects connecting to this signal can then update their
data/internal-state accordingly.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the value to remove</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_widget"
              c:identifier="anjuta_shell_remove_widget"
              throws="1">
        <doc xml:whitespace="preserve">Removes the widget from shell. The widget should have been added before
with #anjuta_shell_add_widget.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">The widget to remove</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_prompt"
              c:identifier="anjuta_shell_save_prompt"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="prompt" transfer-ownership="none">
            <type name="SavePrompt" c:type="AnjutaSavePrompt*"/>
          </parameter>
        </parameters>
      </method>
      <method name="saving_pop" c:identifier="anjuta_shell_saving_pop">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="saving_push" c:identifier="anjuta_shell_saving_push">
        <doc xml:whitespace="preserve">Decrease the count of files that need to be saved</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="session_load"
              c:identifier="anjuta_shell_session_load"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="session_directory" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="session_save"
              c:identifier="anjuta_shell_session_save"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="session_directory" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_dockable_widget"
              c:identifier="anjuta_shell_show_dockable_widget"
              throws="1">
        <doc xml:whitespace="preserve">If the widget was hidden or iconified, it will make it visible.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkWidget to show.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thaw" c:identifier="anjuta_shell_thaw" throws="1">
        <doc xml:whitespace="preserve">Reduces the freeze count by one and performs pending widget additions
when the count reaches 0.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unmaximize"
              c:identifier="anjuta_shell_unmaximize"
              throws="1">
        <doc xml:whitespace="preserve">Unmaximizes the UI which was previously maximized by 
#anjuta_shell_maximize_widget</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <glib:signal name="exiting" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="load-session" 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="GObject.Object"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="save-prompt" 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>
      <glib:signal name="save-session" 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="GObject.Object"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="value-added" 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="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="value-removed" 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>
    <enumeration name="ShellError"
                 glib:type-name="AnjutaShellError"
                 glib:get-type="anjuta_shell_error_get_type"
                 c:type="AnjutaShellError"
                 glib:error-domain="anjuta-shell-quark">
      <member name="exist"
              value="0"
              c:identifier="ANJUTA_SHELL_ERROR_DOESNT_EXIST"
              glib:nick="exist"/>
      <function name="quark" c:identifier="anjuta_shell_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="ShellIface"
            c:type="AnjutaShellIface"
            glib:is-gtype-struct-for="Shell">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="value_added">
        <callback name="value_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="char*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="value_removed">
        <callback name="value_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_session">
        <callback name="save_session">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="phase" transfer-ownership="none">
              <type name="SessionPhase" c:type="AnjutaSessionPhase"/>
            </parameter>
            <parameter name="session" transfer-ownership="none">
              <type name="Session" c:type="AnjutaSession*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="load_session">
        <callback name="load_session">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="phase" transfer-ownership="none">
              <type name="SessionPhase" c:type="AnjutaSessionPhase"/>
            </parameter>
            <parameter name="session" transfer-ownership="none">
              <type name="Session" c:type="AnjutaSession*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_prompt">
        <callback name="save_prompt">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="save_prompt" transfer-ownership="none">
              <type name="SavePrompt" c:type="AnjutaSavePrompt*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="exiting">
        <callback name="exiting">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_status" introspectable="0">
        <callback name="get_status" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">The #AnjutaStatus object.</doc>
            <type name="Status" c:type="AnjutaStatus*"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_ui" introspectable="0">
        <callback name="get_ui" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">The #AnjutaUI object.</doc>
            <type name="UI" c:type="AnjutaUI*"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_preferences" introspectable="0">
        <callback name="get_preferences" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">The #AnjutaPreferences object.</doc>
            <type name="Preferences" c:type="AnjutaPreferences*"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_plugin_manager" introspectable="0">
        <callback name="get_plugin_manager" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">The #AnjutaPluginManager object.</doc>
            <type name="PluginManager" c:type="AnjutaPluginManager*"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_profile_manager" introspectable="0">
        <callback name="get_profile_manager" introspectable="0" throws="1">
          <return-value>
            <doc xml:whitespace="preserve">The #AnjutaProfileManager object.</doc>
            <type name="ProfileManager" c:type="AnjutaProfileManager*"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_widget_full">
        <callback name="add_widget_full" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <doc xml:whitespace="preserve">Then widget to add</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the widget. None translated string used to identify it in the shell.</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
            <parameter name="title" transfer-ownership="none">
              <doc xml:whitespace="preserve">Translated string which is displayed along side the widget when required (eg. as window title or notebook tab label).</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
            <parameter name="stock_id" transfer-ownership="none">
              <doc xml:whitespace="preserve">Icon stock ID. Could be null.</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
            <parameter name="placement" transfer-ownership="none">
              <doc xml:whitespace="preserve">Placement of the widget in shell.</doc>
              <type name="ShellPlacement" c:type="AnjutaShellPlacement"/>
            </parameter>
            <parameter name="locked" transfer-ownership="none">
              <doc xml:whitespace="preserve">Whether to lock that widget (do not use this, it's only useful to some stock plugins</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_widget_custom">
        <callback name="add_widget_custom" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <doc xml:whitespace="preserve">Then widget to add</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the widget. None translated string used to identify it in the shell.</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
            <parameter name="title" transfer-ownership="none">
              <doc xml:whitespace="preserve">title of the widget (translated)</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
            <parameter name="stock_id" transfer-ownership="none">
              <doc xml:whitespace="preserve">Icon stock ID. Could be null.</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
            <parameter name="label" transfer-ownership="none">
              <doc xml:whitespace="preserve">Label widget to use</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
            <parameter name="placement" transfer-ownership="none">
              <doc xml:whitespace="preserve">Placement of the widget in shell.</doc>
              <type name="ShellPlacement" c:type="AnjutaShellPlacement"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_widget">
        <callback name="remove_widget" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <doc xml:whitespace="preserve">The widget to remove</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="present_widget">
        <callback name="present_widget" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <doc xml:whitespace="preserve">The widget to present</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="iconify_dockable_widget">
        <callback name="iconify_dockable_widget" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <doc xml:whitespace="preserve">a #GtkWidget to iconify.</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hide_dockable_widget">
        <callback name="hide_dockable_widget" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <doc xml:whitespace="preserve">a #GtkWidget to hide.</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="show_dockable_widget">
        <callback name="show_dockable_widget" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="widget" transfer-ownership="none">
              <doc xml:whitespace="preserve">a #GtkWidget to show.</doc>
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="maximize_widget">
        <callback name="maximize_widget" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="widget_name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the widget to be maximized.</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unmaximize">
        <callback name="unmaximize" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_value">
        <callback name="add_value" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the value</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <doc xml:whitespace="preserve">Value to add</doc>
              <type name="GObject.Value" c:type="const GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_value">
        <callback name="get_value" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the value to get</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
            <parameter name="value" transfer-ownership="none">
              <doc xml:whitespace="preserve">Value to get</doc>
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_value">
        <callback name="remove_value" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <doc xml:whitespace="preserve">Name of the value to remove</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="saving_push">
        <callback name="saving_push">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="saving_pop">
        <callback name="saving_pop">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_object">
        <callback name="get_object" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">A plugin object implementing the primary interface or NULL.</doc>
            <type name="GObject.Object" c:type="GObject*"/>
          </return-value>
          <parameters>
            <parameter name="shell" transfer-ownership="none">
              <type name="Shell" c:type="AnjutaShell*"/>
            </parameter>
            <parameter name="iface_name" transfer-ownership="none">
              <doc xml:whitespace="preserve">The interface implemented by the object to be found</doc>
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ShellPlacement"
                 glib:type-name="AnjutaShellPlacement"
                 glib:get-type="anjuta_shell_placement_get_type"
                 c:type="AnjutaShellPlacement">
      <member name="none"
              value="0"
              c:identifier="ANJUTA_SHELL_PLACEMENT_NONE"
              glib:nick="none"/>
      <member name="top"
              value="1"
              c:identifier="ANJUTA_SHELL_PLACEMENT_TOP"
              glib:nick="top"/>
      <member name="bottom"
              value="2"
              c:identifier="ANJUTA_SHELL_PLACEMENT_BOTTOM"
              glib:nick="bottom"/>
      <member name="right"
              value="3"
              c:identifier="ANJUTA_SHELL_PLACEMENT_RIGHT"
              glib:nick="right"/>
      <member name="left"
              value="4"
              c:identifier="ANJUTA_SHELL_PLACEMENT_LEFT"
              glib:nick="left"/>
      <member name="center"
              value="5"
              c:identifier="ANJUTA_SHELL_PLACEMENT_CENTER"
              glib:nick="center"/>
      <member name="floating"
              value="6"
              c:identifier="ANJUTA_SHELL_PLACEMENT_FLOATING"
              glib:nick="floating"/>
    </enumeration>
    <class name="Status"
           c:symbol-prefix="status"
           c:type="AnjutaStatus"
           parent="Gtk.HBox"
           glib:type-name="AnjutaStatus"
           glib:get-type="anjuta_status_get_type"
           glib:type-struct="StatusClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="anjuta_status_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="busy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="" c:identifier="anjuta_status" introspectable="0">
        <doc xml:whitespace="preserve">Display message in status until timeout (seconds)</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mesg" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="timeout" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_widget" c:identifier="anjuta_status_add_widget">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="widget" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="busy_pop" c:identifier="anjuta_status_busy_pop">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="busy_push" c:identifier="anjuta_status_busy_push">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="clear_stack" c:identifier="anjuta_status_clear_stack">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="disable_splash"
              c:identifier="anjuta_status_disable_splash">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="disable_splash" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="pop" c:identifier="anjuta_status_pop">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="progress_add_ticks"
              c:identifier="anjuta_status_progress_add_ticks">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ticks" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="progress_increment_ticks"
              c:identifier="anjuta_status_progress_increment_ticks">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ticks" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="progress_pulse"
              c:identifier="anjuta_status_progress_pulse">
        <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="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="progress_reset"
              c:identifier="anjuta_status_progress_reset">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="progress_tick" c:identifier="anjuta_status_progress_tick">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="icon" transfer-ownership="none">
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push" c:identifier="anjuta_status_push" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mesg" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="set" c:identifier="anjuta_status_set" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mesg" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="set_default"
              c:identifier="anjuta_status_set_default"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_format" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="set_splash" c:identifier="anjuta_status_set_splash">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="splash_file" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="splash_progress_position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title" c:identifier="anjuta_status_set_title">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title_window"
              c:identifier="anjuta_status_set_title_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="StatusPriv" c:type="AnjutaStatusPriv*"/>
      </field>
      <glib:signal name="busy" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="StatusClass"
            c:type="AnjutaStatusClass"
            glib:is-gtype-struct-for="Status">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="busy">
        <callback name="busy">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="status" transfer-ownership="none">
              <type name="Status" c:type="AnjutaStatus*"/>
            </parameter>
            <parameter name="state" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="StatusPriv" c:type="AnjutaStatusPriv" disguised="1">
    </record>
    <class name="SyncCommand"
           c:symbol-prefix="sync_command"
           c:type="AnjutaSyncCommand"
           parent="Command"
           glib:type-name="AnjutaSyncCommand"
           glib:get-type="anjuta_sync_command_get_type"
           glib:type-struct="SyncCommandClass">
      <field name="parent_instance">
        <type name="Command" c:type="AnjutaCommand"/>
      </field>
    </class>
    <record name="SyncCommandClass"
            c:type="AnjutaSyncCommandClass"
            glib:is-gtype-struct-for="SyncCommand">
      <field name="parent_class">
        <type name="CommandClass" c:type="AnjutaCommandClass"/>
      </field>
    </record>
    <class name="Tabber"
           c:symbol-prefix="tabber"
           c:type="AnjutaTabber"
           parent="Gtk.Container"
           glib:type-name="AnjutaTabber"
           glib:get-type="anjuta_tabber_get_type"
           glib:type-struct="TabberClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="anjuta_tabber_new">
        <doc xml:whitespace="preserve">Creates a new AnjutaTabber widget</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">newly created AnjutaTabber widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="notebook" transfer-ownership="none">
            <doc xml:whitespace="preserve">the GtkNotebook the tabber should be associated with</doc>
            <type name="Gtk.Notebook" c:type="GtkNotebook*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_tab" c:identifier="anjuta_tabber_add_tab">
        <doc xml:whitespace="preserve">Adds a tab to the AnjutaTabber widget</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tab_label" transfer-ownership="none">
            <doc xml:whitespace="preserve">widget used as tab label</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="notebook"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="GObject.Object"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Container" c:type="GtkContainer"/>
      </field>
      <field name="priv">
        <type name="TabberPriv" c:type="AnjutaTabberPriv*"/>
      </field>
    </class>
    <record name="TabberClass"
            c:type="AnjutaTabberClass"
            glib:is-gtype-struct-for="Tabber">
      <field name="parent_class">
        <type name="Gtk.ContainerClass" c:type="GtkContainerClass"/>
      </field>
    </record>
    <record name="TabberPriv" c:type="AnjutaTabberPriv" disguised="1">
    </record>
    <record name="Token" c:type="AnjutaToken" disguised="1">
      <method name="append_child"
              c:identifier="anjuta_token_append_child"
              introspectable="0">
        <doc xml:whitespace="preserve">Insert all tokens in children as the last children of the given parent.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The first token append.</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="check" c:identifier="anjuta_token_check">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="clear_flags" c:identifier="anjuta_token_clear_flags">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="compare" c:identifier="anjuta_token_compare">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="tokenb" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="concat"
              c:identifier="anjuta_token_concat"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="cut" c:identifier="anjuta_token_cut" introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="pos" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_parent"
              c:identifier="anjuta_token_delete_parent"
              introspectable="0">
        <doc xml:whitespace="preserve">Delete only the parent token.</doc>
        <return-value>
          <doc xml:whitespace="preserve">the first children</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="dump" c:identifier="anjuta_token_dump">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="dump_link" c:identifier="anjuta_token_dump_link">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="evaluate" c:identifier="anjuta_token_evaluate">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="evaluate_name" c:identifier="anjuta_token_evaluate_name">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="find_type"
              c:identifier="anjuta_token_find_type"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="types" transfer-ownership="none">
            <type name="TokenType" c:type="AnjutaTokenType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="first_item"
              c:identifier="anjuta_token_first_item"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="first_word"
              c:identifier="anjuta_token_first_word"
              introspectable="0">
        <doc xml:whitespace="preserve">Get the first word of the list. A word is an item in the list which is not
a space or a separator.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A #AnjutaToken representing the first word or NULL.</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="foreach_content"
              c:identifier="anjuta_token_foreach_content"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="TokenForeachFunc" c:type="AnjutaTokenForeachFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach_post_order"
              c:identifier="anjuta_token_foreach_post_order"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="TokenForeachFunc" c:type="AnjutaTokenForeachFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach_token"
              c:identifier="anjuta_token_foreach_token"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="TokenForeachFunc" c:type="AnjutaTokenForeachFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="anjuta_token_free" introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="free_children"
              c:identifier="anjuta_token_free_children"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="get_flags" c:identifier="anjuta_token_get_flags">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_length" c:identifier="anjuta_token_get_length">
        <return-value transfer-ownership="none">
          <type name="gsize" c:type="gsize"/>
        </return-value>
      </method>
      <method name="get_string" c:identifier="anjuta_token_get_string">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
      </method>
      <method name="get_type" c:identifier="anjuta_token_get_type">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="insert_after"
              c:identifier="anjuta_token_insert_after"
              introspectable="0">
        <doc xml:whitespace="preserve">Insert all tokens after sibling.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The first token inserted.</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="token" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_before"
              c:identifier="anjuta_token_insert_before"
              introspectable="0">
        <doc xml:whitespace="preserve">Insert all tokens before sibling.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The first token inserted.</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="token" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_word_after"
              c:identifier="anjuta_token_insert_word_after"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="sibling" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
          <parameter name="baby" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_word_before"
              c:identifier="anjuta_token_insert_word_before"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="sibling" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
          <parameter name="baby" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="anjuta_token_is_empty">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="last" c:identifier="anjuta_token_last" introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="last_item"
              c:identifier="anjuta_token_last_item"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="list" c:identifier="anjuta_token_list" introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="merge"
              c:identifier="anjuta_token_merge"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="end" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="merge_children"
              c:identifier="anjuta_token_merge_children"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="end" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="merge_own_children"
              c:identifier="anjuta_token_merge_own_children"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="merge_previous"
              c:identifier="anjuta_token_merge_previous"
              introspectable="0">
        <doc xml:whitespace="preserve">If the list token is not already linked with first, it is inserted
just before first.
If the list token is already linked, it must be in the same list after
first token. It it possible to have several tokens beweent list and
first.</doc>
        <return-value>
          <doc xml:whitespace="preserve">the new list</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="end" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="next" c:identifier="anjuta_token_next" introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="next_after_children"
              c:identifier="anjuta_token_next_after_children"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="next_item"
              c:identifier="anjuta_token_next_item"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="next_word"
              c:identifier="anjuta_token_next_word"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="nth_word"
              c:identifier="anjuta_token_nth_word"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="n" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="parent"
              c:identifier="anjuta_token_parent"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="prepend_child"
              c:identifier="anjuta_token_prepend_child"
              introspectable="0">
        <doc xml:whitespace="preserve">Insert all tokens in children as the first children of the given parent.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The first token append.</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend_items"
              c:identifier="anjuta_token_prepend_items"
              introspectable="0">
        <doc xml:whitespace="preserve">Insert all tokens in item as item of the given list.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The first token append.</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #AnjutaToken object.</doc>
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="previous"
              c:identifier="anjuta_token_previous"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="previous_item"
              c:identifier="anjuta_token_previous_item"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="remove_item" c:identifier="anjuta_token_remove_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_list"
              c:identifier="anjuta_token_remove_list"
              introspectable="0">
        <doc xml:whitespace="preserve">Remove a complete list of token.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A #AnjutaToken representing the following token</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="remove_word"
              c:identifier="anjuta_token_remove_word"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="replace_nth_word"
              c:identifier="anjuta_token_replace_nth_word"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="n" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_flags" c:identifier="anjuta_token_set_flags">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_length" c:identifier="anjuta_token_set_length">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string" c:identifier="anjuta_token_set_string">
        <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="const char*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_type" c:identifier="anjuta_token_set_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="skip_comment"
              c:identifier="anjuta_token_skip_comment"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="split"
              c:identifier="anjuta_token_split"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="size" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <function name="insert_token_list"
                c:identifier="anjuta_token_insert_token_list"
                introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="after" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="list" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </function>
      <function name="new_static"
                c:identifier="anjuta_token_new_static"
                introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="TokenType" c:type="AnjutaTokenType"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_static_len"
                c:identifier="anjuta_token_new_static_len"
                introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="pos" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_string"
                c:identifier="anjuta_token_new_string"
                introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="TokenType" c:type="AnjutaTokenType"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_string_len"
                c:identifier="anjuta_token_new_string_len"
                introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="TokenType" c:type="AnjutaTokenType"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <class name="TokenFile"
           c:symbol-prefix="token_file"
           c:type="AnjutaTokenFile"
           parent="GObject.Object"
           glib:type-name="AnjutaTokenFile"
           glib:get-type="anjuta_token_file_get_type"
           glib:type-struct="TokenFileClass">
      <constructor name="new" c:identifier="anjuta_token_file_new">
        <return-value transfer-ownership="full">
          <type name="TokenFile" c:type="AnjutaTokenFile*"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="free" c:identifier="anjuta_token_file_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_content"
              c:identifier="anjuta_token_file_get_content"
              introspectable="0">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="get_file"
              c:identifier="anjuta_token_file_get_file"
              introspectable="0">
        <return-value>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </method>
      <method name="get_token_location"
              c:identifier="anjuta_token_file_get_token_location">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <type name="TokenFileLocation" c:type="AnjutaTokenFileLocation*"/>
          </parameter>
          <parameter name="token" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_token_position"
              c:identifier="anjuta_token_file_get_token_position">
        <doc xml:whitespace="preserve">Returns the position of the token in the file. This position is a number
which doesn't correspond to a line number or a character but respect the
order of token in the file.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The position of the token or 0 if the token is not in the file.</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <parameter name="token" transfer-ownership="none">
            <doc xml:whitespace="preserve">token</doc>
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_dirty" c:identifier="anjuta_token_file_is_dirty">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="load"
              c:identifier="anjuta_token_file_load"
              introspectable="0"
              throws="1">
        <return-value>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="move" c:identifier="anjuta_token_file_move">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="new_file" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save" c:identifier="anjuta_token_file_save" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="unload" c:identifier="anjuta_token_file_unload">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="update" c:identifier="anjuta_token_file_update">
        <doc xml:whitespace="preserve">Update the file with all changed token starting from @token. The function can
return an error if the token is not in the file.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE is the update is done without error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="token" transfer-ownership="none">
            <doc xml:whitespace="preserve">Token to update.</doc>
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="TokenFileClass"
            c:type="AnjutaTokenFileClass"
            disguised="1"
            glib:is-gtype-struct-for="TokenFile">
    </record>
    <record name="TokenFileLocation" c:type="AnjutaTokenFileLocation">
      <field name="filename" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="line" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="column" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
    </record>
    <callback name="TokenForeachFunc" c:type="AnjutaTokenForeachFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="token" transfer-ownership="none">
          <type name="Token" c:type="AnjutaToken*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="TokenStream" c:type="AnjutaTokenStream" disguised="1">
      <method name="append_token"
              c:identifier="anjuta_token_stream_append_token">
        <doc xml:whitespace="preserve">Append an already existing token in the output stream.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="token" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #AnjutaToken object.</doc>
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_current_directory"
              c:identifier="anjuta_token_stream_get_current_directory"
              introspectable="0">
        <doc xml:whitespace="preserve">Return the current directory.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The current directory.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </method>
      <method name="get_current_file"
              c:identifier="anjuta_token_stream_get_current_file"
              introspectable="0">
        <doc xml:whitespace="preserve">Return the current file.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The current file.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </method>
      <method name="get_parent"
              c:identifier="anjuta_token_stream_get_parent"
              introspectable="0">
        <doc xml:whitespace="preserve">Return the parent stream</doc>
        <return-value>
          <doc xml:whitespace="preserve">The parent stream or NULL if there is no parent.</doc>
          <type name="TokenStream" c:type="AnjutaTokenStream*"/>
        </return-value>
      </method>
      <method name="get_root"
              c:identifier="anjuta_token_stream_get_root"
              introspectable="0">
        <doc xml:whitespace="preserve">Return the root token for the output stream.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The output root token.</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
      </method>
      <method name="pop"
              c:identifier="anjuta_token_stream_pop"
              introspectable="0">
        <doc xml:whitespace="preserve">Destroy the stream object and return the parent stream if it exists.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The parent stream or NULL if there is no parent.</doc>
          <type name="TokenStream" c:type="AnjutaTokenStream*"/>
        </return-value>
      </method>
      <method name="push"
              c:identifier="anjuta_token_stream_push"
              introspectable="0">
        <doc xml:whitespace="preserve">Create a new stream from a list of tokens. If a parent stream is passed,
the new stream keep a link on it, so we can return it when the new stream
will be destroyed.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The newly created stream.</doc>
          <type name="TokenStream" c:type="AnjutaTokenStream*"/>
        </return-value>
        <parameters>
          <parameter name="root" transfer-ownership="none">
            <doc xml:whitespace="preserve">a token or NULL</doc>
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
          <parameter name="content" transfer-ownership="none">
            <doc xml:whitespace="preserve">a token list.</doc>
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read" c:identifier="anjuta_token_stream_read">
        <doc xml:whitespace="preserve">Read token from the input stream and write the content as a C string in the
buffer passed as argument.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The number of characters written in the buffer.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:whitespace="preserve">a character buffer to fill with token data.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="max_size" transfer-ownership="none">
            <doc xml:whitespace="preserve">the size of the buffer.</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="tokenize"
              c:identifier="anjuta_token_stream_tokenize"
              introspectable="0">
        <doc xml:whitespace="preserve">Create a token of type from the last length characters previously read and
append it in the output stream. The characters are not copied in the output
stream, the new token uses the same characters.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The created token.</doc>
          <type name="Token" c:type="AnjutaToken*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">a token type.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:whitespace="preserve">the token length in character.</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="TokenStyle" c:type="AnjutaTokenStyle" disguised="1">
      <method name="format" c:identifier="anjuta_token_style_format">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="anjuta_token_style_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="new_from_base"
              c:identifier="anjuta_token_style_new_from_base"
              introspectable="0">
        <return-value>
          <type name="TokenStyle" c:type="AnjutaTokenStyle*"/>
        </return-value>
      </method>
      <method name="update" c:identifier="anjuta_token_style_update">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <type name="Token" c:type="AnjutaToken*"/>
          </parameter>
        </parameters>
      </method>
      <function name="new"
                c:identifier="anjuta_token_style_new"
                introspectable="0">
        <return-value>
          <type name="TokenStyle" c:type="AnjutaTokenStyle*"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="next" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="eol" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="last" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="max_width" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <bitfield name="TokenType"
              glib:type-name="AnjutaTokenType"
              glib:get-type="anjuta_token_type_get_type"
              c:type="AnjutaTokenType">
      <member name="none"
              value="0"
              c:identifier="ANJUTA_TOKEN_NONE"
              glib:nick="none"/>
      <member name="eol"
              value="92"
              c:identifier="ANJUTA_TOKEN_EOL"
              glib:nick="eol"/>
      <member name="comma"
              value="44"
              c:identifier="ANJUTA_TOKEN_COMMA"
              glib:nick="comma"/>
      <member name="type"
              value="65535"
              c:identifier="ANJUTA_TOKEN_TYPE"
              glib:nick="type"/>
      <member name="first"
              value="16384"
              c:identifier="ANJUTA_TOKEN_FIRST"
              glib:nick="first"/>
      <member name="file"
              value="16385"
              c:identifier="ANJUTA_TOKEN_FILE"
              glib:nick="file"/>
      <member name="macro"
              value="16386"
              c:identifier="ANJUTA_TOKEN_MACRO"
              glib:nick="macro"/>
      <member name="content"
              value="16387"
              c:identifier="ANJUTA_TOKEN_CONTENT"
              glib:nick="content"/>
      <member name="argument"
              value="16388"
              c:identifier="ANJUTA_TOKEN_ARGUMENT"
              glib:nick="argument"/>
      <member name="value"
              value="16389"
              c:identifier="ANJUTA_TOKEN_VALUE"
              glib:nick="value"/>
      <member name="eov"
              value="16390"
              c:identifier="ANJUTA_TOKEN_EOV"
              glib:nick="eov"/>
      <member name="parsed"
              value="16391"
              c:identifier="ANJUTA_TOKEN_PARSED"
              glib:nick="parsed"/>
      <member name="keyword"
              value="16392"
              c:identifier="ANJUTA_TOKEN_KEYWORD"
              glib:nick="keyword"/>
      <member name="operator"
              value="16393"
              c:identifier="ANJUTA_TOKEN_OPERATOR"
              glib:nick="operator"/>
      <member name="name"
              value="16394"
              c:identifier="ANJUTA_TOKEN_NAME"
              glib:nick="name"/>
      <member name="variable"
              value="16395"
              c:identifier="ANJUTA_TOKEN_VARIABLE"
              glib:nick="variable"/>
      <member name="definition"
              value="16396"
              c:identifier="ANJUTA_TOKEN_DEFINITION"
              glib:nick="definition"/>
      <member name="statement"
              value="16397"
              c:identifier="ANJUTA_TOKEN_STATEMENT"
              glib:nick="statement"/>
      <member name="number"
              value="16398"
              c:identifier="ANJUTA_TOKEN_NUMBER"
              glib:nick="number"/>
      <member name="junk"
              value="16399"
              c:identifier="ANJUTA_TOKEN_JUNK"
              glib:nick="junk"/>
      <member name="comment"
              value="16400"
              c:identifier="ANJUTA_TOKEN_COMMENT"
              glib:nick="comment"/>
      <member name="open_quote"
              value="16401"
              c:identifier="ANJUTA_TOKEN_OPEN_QUOTE"
              glib:nick="open-quote"/>
      <member name="close_quote"
              value="16402"
              c:identifier="ANJUTA_TOKEN_CLOSE_QUOTE"
              glib:nick="close-quote"/>
      <member name="escape"
              value="16403"
              c:identifier="ANJUTA_TOKEN_ESCAPE"
              glib:nick="escape"/>
      <member name="function"
              value="16404"
              c:identifier="ANJUTA_TOKEN_FUNCTION"
              glib:nick="function"/>
      <member name="space"
              value="16405"
              c:identifier="ANJUTA_TOKEN_SPACE"
              glib:nick="space"/>
      <member name="start"
              value="16406"
              c:identifier="ANJUTA_TOKEN_START"
              glib:nick="start"/>
      <member name="next"
              value="16407"
              c:identifier="ANJUTA_TOKEN_NEXT"
              glib:nick="next"/>
      <member name="last"
              value="16408"
              c:identifier="ANJUTA_TOKEN_LAST"
              glib:nick="last"/>
      <member name="item"
              value="16409"
              c:identifier="ANJUTA_TOKEN_ITEM"
              glib:nick="item"/>
      <member name="string"
              value="16410"
              c:identifier="ANJUTA_TOKEN_STRING"
              glib:nick="string"/>
      <member name="error"
              value="16411"
              c:identifier="ANJUTA_TOKEN_ERROR"
              glib:nick="error"/>
      <member name="word"
              value="16412"
              c:identifier="ANJUTA_TOKEN_WORD"
              glib:nick="word"/>
      <member name="list"
              value="16413"
              c:identifier="ANJUTA_TOKEN_LIST"
              glib:nick="list"/>
      <member name="any"
              value="16414"
              c:identifier="ANJUTA_TOKEN_ANY"
              glib:nick="any"/>
      <member name="user"
              value="16415"
              c:identifier="ANJUTA_TOKEN_USER"
              glib:nick="user"/>
      <member name="flags"
              value="4294901760"
              c:identifier="ANJUTA_TOKEN_FLAGS"
              glib:nick="flags"/>
      <member name="public_flags"
              value="16711680"
              c:identifier="ANJUTA_TOKEN_PUBLIC_FLAGS"
              glib:nick="public-flags"/>
      <member name="irrelevant"
              value="65536"
              c:identifier="ANJUTA_TOKEN_IRRELEVANT"
              glib:nick="irrelevant"/>
      <member name="open"
              value="131072"
              c:identifier="ANJUTA_TOKEN_OPEN"
              glib:nick="open"/>
      <member name="close"
              value="262144"
              c:identifier="ANJUTA_TOKEN_CLOSE"
              glib:nick="close"/>
      <member name="significant"
              value="1048576"
              c:identifier="ANJUTA_TOKEN_SIGNIFICANT"
              glib:nick="significant"/>
      <member name="private_flags"
              value="4278190080"
              c:identifier="ANJUTA_TOKEN_PRIVATE_FLAGS"
              glib:nick="private-flags"/>
      <member name="case_insensitive"
              value="16777216"
              c:identifier="ANJUTA_TOKEN_CASE_INSENSITIVE"
              glib:nick="case-insensitive"/>
      <member name="static"
              value="33554432"
              c:identifier="ANJUTA_TOKEN_STATIC"
              glib:nick="static"/>
      <member name="removed"
              value="67108864"
              c:identifier="ANJUTA_TOKEN_REMOVED"
              glib:nick="removed"/>
      <member name="added"
              value="134217728"
              c:identifier="ANJUTA_TOKEN_ADDED"
              glib:nick="added"/>
    </bitfield>
    <class name="TreeComboBox"
           c:symbol-prefix="tree_combo_box"
           c:type="AnjutaTreeComboBox"
           parent="Gtk.ToggleButton"
           glib:type-name="AnjutaTreeComboBox"
           glib:get-type="anjuta_tree_combo_box_get_type"
           glib:type-struct="TreeComboBoxClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Activatable"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellLayout"/>
      <constructor name="new" c:identifier="anjuta_tree_combo_box_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="get_active_iter"
              c:identifier="anjuta_tree_combo_box_get_active_iter">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_model"
              c:identifier="anjuta_tree_combo_box_get_model"
              introspectable="0">
        <return-value>
          <type name="Gtk.TreeModel" c:type="GtkTreeModel*"/>
        </return-value>
      </method>
      <method name="set_active"
              c:identifier="anjuta_tree_combo_box_set_active">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="index" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_active_iter"
              c:identifier="anjuta_tree_combo_box_set_active_iter">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_invalid_text"
              c:identifier="anjuta_tree_combo_box_set_invalid_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model" c:identifier="anjuta_tree_combo_box_set_model">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="model" transfer-ownership="none">
            <type name="Gtk.TreeModel" c:type="GtkTreeModel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_valid_function"
              c:identifier="anjuta_tree_combo_box_set_valid_function">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <type name="Gtk.TreeModelFilterVisibleFunc"
                  c:type="GtkTreeModelFilterVisibleFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy" transfer-ownership="none" scope="async">
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <property name="model" writable="1" transfer-ownership="none">
        <type name="Gtk.TreeModel"/>
      </property>
      <field name="parent">
        <type name="Gtk.ToggleButton" c:type="GtkToggleButton"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="TreeComboBoxPrivate" c:type="AnjutaTreeComboBoxPrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="popdown" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="popup" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="TreeComboBoxClass"
            c:type="AnjutaTreeComboBoxClass"
            glib:is-gtype-struct-for="TreeComboBox">
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.ToggleButtonClass" c:type="GtkToggleButtonClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="combo" transfer-ownership="none">
              <type name="TreeComboBox" c:type="AnjutaTreeComboBox*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="TreeComboBoxPrivate"
            c:type="AnjutaTreeComboBoxPrivate"
            disguised="1">
    </record>
    <class name="UI"
           c:symbol-prefix="ui"
           c:type="AnjutaUI"
           parent="Gtk.UIManager"
           glib:type-name="AnjutaUI"
           glib:get-type="anjuta_ui_get_type"
           glib:type-struct="UIClass">
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="anjuta_ui_new">
        <doc xml:whitespace="preserve">Creates a new instance of #AnjutaUI.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A #AnjutaUI object</doc>
          <type name="UI" c:type="AnjutaUI*"/>
        </return-value>
      </constructor>
      <function name="load_accels" c:identifier="anjuta_ui_load_accels">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="save_accels" c:identifier="anjuta_ui_save_accels">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="activate_action_by_group"
              c:identifier="anjuta_ui_activate_action_by_group">
        <doc xml:whitespace="preserve">Activates the action @action_name in the #GtkActionGroup @action_group.
"ActionGroupName/ActionName". Note that it will only work if the group has
been added using methods in #AnjutaUI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action_group" transfer-ownership="none">
            <doc xml:whitespace="preserve">Action group.</doc>
            <type name="Gtk.ActionGroup" c:type="GtkActionGroup*"/>
          </parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Action name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="activate_action_by_path"
              c:identifier="anjuta_ui_activate_action_by_path">
        <doc xml:whitespace="preserve">Activates the action represented by @action_path. The path is in the form
"ActionGroupName/ActionName". Note that it will only work if the group has
been added using methods in #AnjutaUI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">Path of the action in the form "GroupName/ActionName"</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_action_group"
              c:identifier="anjuta_ui_add_action_group">
        <doc xml:whitespace="preserve">This is similar to anjuta_ui_add_action_group_entries(), except that
it adds #GtkActionGroup object @action_group directly. All actions in this
group are automatically registered in #AnjutaUI and can be retrieved
normally with anjuta_ui_get_action().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action_group_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Untranslated name of the action group.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="action_group_label" transfer-ownership="none">
            <doc xml:whitespace="preserve">Translated label of the action group.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="action_group" transfer-ownership="none">
            <doc xml:whitespace="preserve">#GtkActionGroup object to add.</doc>
            <type name="Gtk.ActionGroup" c:type="GtkActionGroup*"/>
          </parameter>
          <parameter name="can_customize" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_action_group_entries"
              c:identifier="anjuta_ui_add_action_group_entries"
              introspectable="0">
        <doc xml:whitespace="preserve">#GtkAction objects are created from the #GtkActionEntry structures and
added to the UI Manager. "activate" signal of #GtkAction is connected for
all the action objects using the callback in the entry structure and the
@user_data passed here.

This group of actions are registered with the name @action_group_name
in #AnjutaUI. A #GtkAction object from this action group can be later
retrieved by anjuta_ui_get_action() using @action_group_name and action name.
@action_group_label is used as the display name for the action group in
UI manager dialog where action shortcuts are configured.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A #GtkActionGroup object holding all the action objects.</doc>
          <type name="Gtk.ActionGroup" c:type="GtkActionGroup*"/>
        </return-value>
        <parameters>
          <parameter name="action_group_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Untranslated name of the action group.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="action_group_label" transfer-ownership="none">
            <doc xml:whitespace="preserve">Translated label of the action group.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">An array of action entries.</doc>
            <type name="Gtk.ActionEntry" c:type="GtkActionEntry*"/>
          </parameter>
          <parameter name="num_entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">Number of elements in the action entries array.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="translation_domain" transfer-ownership="none">
            <doc xml:whitespace="preserve">The translation domain used to translated the entries. It is usually the GETTEXT_PACKAGE macro in a project.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="can_customize" transfer-ownership="none">
            <doc xml:whitespace="preserve">If true the actions are customizable by user.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data to pass to action objects. This is the data that will come as user_data in "activate" signal of the actions.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_toggle_action_group_entries"
              c:identifier="anjuta_ui_add_toggle_action_group_entries"
              introspectable="0">
        <doc xml:whitespace="preserve">This is similar to anjuta_ui_add_action_group_entries(), except that
it adds #GtkToggleAction objects after creating them from the @entries.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A #GtkActionGroup object holding all the action objects.</doc>
          <type name="Gtk.ActionGroup" c:type="GtkActionGroup*"/>
        </return-value>
        <parameters>
          <parameter name="action_group_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Untranslated name of the action group.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="action_group_label" transfer-ownership="none">
            <doc xml:whitespace="preserve">Translated label of the action group.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">An array of action entries.</doc>
            <type name="Gtk.ToggleActionEntry" c:type="GtkToggleActionEntry*"/>
          </parameter>
          <parameter name="num_entries" transfer-ownership="none">
            <doc xml:whitespace="preserve">Number of elements in the action entries array.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="translation_domain" transfer-ownership="none">
            <doc xml:whitespace="preserve">The translation domain used to translated the entries. It is usually the GETTEXT_PACKAGE macro in a project.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="can_customize" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">User data to pass to action objects. This is the data that will come as user_data in "activate" signal of the actions.</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="dump_tree" c:identifier="anjuta_ui_dump_tree">
        <doc xml:whitespace="preserve">Dumps the current UI XML tree in STDOUT. Useful for debugging.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_accel_editor"
              c:identifier="anjuta_ui_get_accel_editor"
              introspectable="0">
        <doc xml:whitespace="preserve">Creates an accel editor widget and returns it. It should be added to
container and displayed to users.</doc>
        <return-value>
          <doc xml:whitespace="preserve">a #GtkWidget containing the editor.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="get_accel_group"
              c:identifier="anjuta_ui_get_accel_group"
              introspectable="0">
        <doc xml:whitespace="preserve">Returns the #GtkAccelGroup object associated with this UI manager.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A #GtkAccelGroup object.</doc>
          <type name="Gtk.AccelGroup" c:type="GtkAccelGroup*"/>
        </return-value>
      </method>
      <method name="get_action"
              c:identifier="anjuta_ui_get_action"
              introspectable="0">
        <doc xml:whitespace="preserve">Returns the action object with the name @action_name in @action_group_name.
Note that it will be only sucessully returned if the group has been added
using methods in #AnjutaUI.</doc>
        <return-value>
          <doc xml:whitespace="preserve">A #GtkAction object</doc>
          <type name="Gtk.Action" c:type="GtkAction*"/>
        </return-value>
        <parameters>
          <parameter name="action_group_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Group name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="action_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Action name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_icon_factory"
              c:identifier="anjuta_ui_get_icon_factory"
              introspectable="0">
        <doc xml:whitespace="preserve">This returns the IconFactory object. All icons should be registered using
this icon factory. Read the documentation for #GtkIconFactory on how to 
use it.</doc>
        <return-value>
          <doc xml:whitespace="preserve">The #GtkIconFactory object used by it</doc>
          <type name="Gtk.IconFactory" c:type="GtkIconFactory*"/>
        </return-value>
      </method>
      <method name="merge" c:identifier="anjuta_ui_merge">
        <doc xml:whitespace="preserve">Merges XML UI definition in @ui_filename. UI elements defined in the xml
are merged with existing UI elements in UI manager. The format of the
file content is the standard XML UI definition tree. For more detail,
read the documentation for #GtkUIManager.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Integer merge ID</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="ui_filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">UI file to merge into UI manager.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_action_group"
              c:identifier="anjuta_ui_remove_action_group">
        <doc xml:whitespace="preserve">Removes a previous added action group. All actions in this group are
also unregistered from UI manager.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="action_group" transfer-ownership="none">
            <doc xml:whitespace="preserve">#GtkActionGroup object to remove.</doc>
            <type name="Gtk.ActionGroup" c:type="GtkActionGroup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unload_accels" c:identifier="anjuta_ui_unload_accels">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unmerge" c:identifier="anjuta_ui_unmerge">
        <doc xml:whitespace="preserve">Unmerges UI with the ID value @id (returned by anjuta_ui_merge() when
it was merged. For more detail, read the documentation for #GtkUIManager.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Merge ID returned by anjuta_ui_merge().</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.UIManager" c:type="GtkUIManager"/>
      </field>
      <field name="priv">
        <type name="UIPrivate" c:type="AnjutaUIPrivate*"/>
      </field>
    </class>
    <record name="UIClass"
            c:type="AnjutaUIClass"
            glib:is-gtype-struct-for="UI">
      <field name="parent">
        <type name="Gtk.UIManagerClass" c:type="GtkUIManagerClass"/>
      </field>
    </record>
    <record name="UIPrivate" c:type="AnjutaUIPrivate" disguised="1">
    </record>
    <constant name="VCS_DEFAULT_STATUS_CODES"
              value="0"
              c:type="ANJUTA_VCS_DEFAULT_STATUS_CODES">
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="VcsStatus"
              glib:type-name="AnjutaVcsStatus"
              glib:get-type="anjuta_vcs_status_get_type"
              c:type="AnjutaVcsStatus">
      <member name="modified"
              value="1"
              c:identifier="ANJUTA_VCS_STATUS_MODIFIED"
              glib:nick="modified"/>
      <member name="added"
              value="2"
              c:identifier="ANJUTA_VCS_STATUS_ADDED"
              glib:nick="added"/>
      <member name="deleted"
              value="4"
              c:identifier="ANJUTA_VCS_STATUS_DELETED"
              glib:nick="deleted"/>
      <member name="conflicted"
              value="8"
              c:identifier="ANJUTA_VCS_STATUS_CONFLICTED"
              glib:nick="conflicted"/>
      <member name="uptodate"
              value="16"
              c:identifier="ANJUTA_VCS_STATUS_UPTODATE"
              glib:nick="uptodate"/>
      <member name="locked"
              value="32"
              c:identifier="ANJUTA_VCS_STATUS_LOCKED"
              glib:nick="locked"/>
      <member name="missing"
              value="64"
              c:identifier="ANJUTA_VCS_STATUS_MISSING"
              glib:nick="missing"/>
      <member name="unversioned"
              value="128"
              c:identifier="ANJUTA_VCS_STATUS_UNVERSIONED"
              glib:nick="unversioned"/>
      <member name="ignored"
              value="256"
              c:identifier="ANJUTA_VCS_STATUS_IGNORED"
              glib:nick="ignored"/>
      <member name="all"
              value="-1"
              c:identifier="ANJUTA_VCS_STATUS_ALL"
              glib:nick="all"/>
    </bitfield>
    <class name="VcsStatusTreeView"
           c:symbol-prefix="vcs_status_tree_view"
           c:type="AnjutaVcsStatusTreeView"
           parent="Gtk.TreeView"
           glib:type-name="AnjutaVcsStatusTreeView"
           glib:get-type="anjuta_vcs_status_tree_view_get_type"
           glib:type-struct="VcsStatusTreeViewClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="anjuta_vcs_status_tree_view_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="add" c:identifier="anjuta_vcs_status_tree_view_add">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="status" transfer-ownership="none">
            <type name="VcsStatus" c:type="AnjutaVcsStatus"/>
          </parameter>
          <parameter name="selected" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="destroy"
              c:identifier="anjuta_vcs_status_tree_view_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_selected"
              c:identifier="anjuta_vcs_status_tree_view_get_selected"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="select_all"
              c:identifier="anjuta_vcs_status_tree_view_select_all">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unselect_all"
              c:identifier="anjuta_vcs_status_tree_view_unselect_all">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="conflicted-selectable"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="show-status" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="status-codes"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="VcsStatus"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.TreeView" c:type="GtkTreeView"/>
      </field>
      <field name="priv">
        <type name="VcsStatusTreeViewPriv"
              c:type="AnjutaVcsStatusTreeViewPriv*"/>
      </field>
    </class>
    <record name="VcsStatusTreeViewClass"
            c:type="AnjutaVcsStatusTreeViewClass"
            glib:is-gtype-struct-for="VcsStatusTreeView">
      <field name="parent_class">
        <type name="Gtk.TreeViewClass" c:type="GtkTreeViewClass"/>
      </field>
    </record>
    <record name="VcsStatusTreeViewPriv"
            c:type="AnjutaVcsStatusTreeViewPriv"
            disguised="1">
    </record>
    <record name="_UtilStringMap" c:type="_AnjutaUtilStringMap">
      <field name="type" writable="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="name" writable="1">
        <type name="utf8" c:type="char*"/>
      </field>
    </record>
    <function name="cclosure_marshal_VOID__BOXED_ENUM"
              c:identifier="anjuta_cclosure_marshal_VOID__BOXED_ENUM">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cclosure_marshal_VOID__INT_INT_ULONG"
              c:identifier="anjuta_cclosure_marshal_VOID__INT_INT_ULONG">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cclosure_marshal_VOID__INT_OBJECT"
              c:identifier="anjuta_cclosure_marshal_VOID__INT_OBJECT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cclosure_marshal_VOID__INT_STRING"
              c:identifier="anjuta_cclosure_marshal_VOID__INT_STRING">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cclosure_marshal_VOID__POINTER_OBJECT"
              c:identifier="anjuta_cclosure_marshal_VOID__POINTER_OBJECT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cclosure_marshal_VOID__STRING_BOXED"
              c:identifier="anjuta_cclosure_marshal_VOID__STRING_BOXED">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cclosure_marshal_VOID__STRING_INT"
              c:identifier="anjuta_cclosure_marshal_VOID__STRING_INT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cclosure_marshal_VOID__STRING_INT_STRING"
              c:identifier="anjuta_cclosure_marshal_VOID__STRING_INT_STRING">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="cclosure_marshal_VOID__STRING_POINTER"
              c:identifier="anjuta_cclosure_marshal_VOID__STRING_POINTER">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="check_autogen" c:identifier="anjuta_check_autogen">
      <doc xml:whitespace="preserve">Check if autogen version 5 is installed.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%TRUE if autogen is installed.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="convert_error_quark"
              c:identifier="anjuta_convert_error_quark"
              moved-to="ConvertError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="convert_from_utf8"
              c:identifier="anjuta_convert_from_utf8"
              throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="content" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gsize" c:type="gsize"/>
        </parameter>
        <parameter name="encoding" transfer-ownership="none">
          <type name="Encoding" c:type="const AnjutaEncoding*"/>
        </parameter>
        <parameter name="new_len" transfer-ownership="none">
          <type name="gsize" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="convert_to_utf8"
              c:identifier="anjuta_convert_to_utf8"
              throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="content" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gsize" c:type="gsize"/>
        </parameter>
        <parameter name="encoding" transfer-ownership="none">
          <type name="Encoding" c:type="const AnjutaEncoding**"/>
        </parameter>
        <parameter name="new_len" transfer-ownership="none">
          <type name="gsize" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_init" c:identifier="anjuta_debug_init">
      <doc xml:whitespace="preserve">Initialize filtering of debug messages.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="encoding_get_current"
              c:identifier="anjuta_encoding_get_current"
              moved-to="Encoding.get_current">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const AnjutaEncoding*"/>
      </return-value>
    </function>
    <function name="encoding_get_from_charset"
              c:identifier="anjuta_encoding_get_from_charset"
              moved-to="Encoding.get_from_charset">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const AnjutaEncoding*"/>
      </return-value>
      <parameters>
        <parameter name="charset" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_from_index"
              c:identifier="anjuta_encoding_get_from_index"
              moved-to="Encoding.get_from_index">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const AnjutaEncoding*"/>
      </return-value>
      <parameters>
        <parameter name="index" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_utf8"
              c:identifier="anjuta_encoding_get_utf8"
              moved-to="Encoding.get_utf8">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const AnjutaEncoding*"/>
      </return-value>
    </function>
    <function name="pkg_config_get_directories"
              c:identifier="anjuta_pkg_config_get_directories"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="pkg_name" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="no_deps" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="pkg_config_get_version"
              c:identifier="anjuta_pkg_config_get_version">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="package" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="pkg_config_ignore_package"
              c:identifier="anjuta_pkg_config_ignore_package">
      <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="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="pkg_config_list_dependencies"
              c:identifier="anjuta_pkg_config_list_dependencies"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="package" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="plugin_description_parse_error_quark"
              c:identifier="anjuta_plugin_description_parse_error_quark"
              moved-to="PluginDescriptionParseError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="plugin_manager_error_quark"
              c:identifier="anjuta_plugin_manager_error_quark"
              moved-to="PluginManagerError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="profile_error_quark"
              c:identifier="anjuta_profile_error_quark"
              moved-to="ProfileError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="project_target_get_node_from_name"
              c:identifier="anjuta_project_target_get_node_from_name"
              introspectable="0">
      <return-value>
        <type name="ProjectNode" c:type="AnjutaProjectNode*"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="ProjectNode" c:type="const AnjutaProjectNode*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_get_data_dir" c:identifier="anjuta_res_get_data_dir">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="res_get_data_file" c:identifier="anjuta_res_get_data_file">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="pixfile" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_get_doc_dir" c:identifier="anjuta_res_get_doc_dir">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="res_get_doc_file" c:identifier="anjuta_res_get_doc_file">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="docfile" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_get_help_dir" c:identifier="anjuta_res_get_help_dir">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="res_get_help_dir_locale"
              c:identifier="anjuta_res_get_help_dir_locale">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="locale" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_get_help_file" c:identifier="anjuta_res_get_help_file">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="helpfile" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_get_help_file_locale"
              c:identifier="anjuta_res_get_help_file_locale">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="helpfile" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="locale" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_get_image"
              c:identifier="anjuta_res_get_image"
              introspectable="0">
      <return-value>
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_get_image_sized"
              c:identifier="anjuta_res_get_image_sized"
              introspectable="0">
      <return-value>
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="width" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="height" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_get_pixmap_dir"
              c:identifier="anjuta_res_get_pixmap_dir">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="res_get_pixmap_file"
              c:identifier="anjuta_res_get_pixmap_file">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="pixfile" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_help_search" c:identifier="anjuta_res_help_search">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="word" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_lookup_widget"
              c:identifier="anjuta_res_lookup_widget"
              introspectable="0">
      <return-value>
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="widget" transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="widget_name" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="res_url_show" c:identifier="anjuta_res_url_show">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="url" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shell_error_quark"
              c:identifier="anjuta_shell_error_quark"
              moved-to="ShellError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="util_builder_get_objects"
              c:identifier="anjuta_util_builder_get_objects"
              introspectable="0">
      <doc xml:whitespace="preserve">Create a new GtkBuilder object and load the file in it. Display an error
if the file is missing. Use a dialog if error is NULL, just a warning
if the error can be reported.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">TRUE is everything works as expected.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="builder" transfer-ownership="none">
          <doc xml:whitespace="preserve">Builder object</doc>
          <type name="Gtk.Builder" c:type="GtkBuilder*"/>
        </parameter>
        <parameter name="first_widget" transfer-ownership="none">
          <doc xml:whitespace="preserve">Name of first widget to get ...: Address to store the first widget pointer, followed optionally by more name/pointer pairs, followed by NULL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_builder_new"
              c:identifier="anjuta_util_builder_new"
              introspectable="0"
              throws="1">
      <doc xml:whitespace="preserve">Create a new GtkBuilder object and load the file in it. Display an error
if the file is missing. Use a dialog if error is NULL, just a warning
if the error can be reported.</doc>
      <return-value>
        <doc xml:whitespace="preserve">The new GtkBuilder object</doc>
        <type name="Gtk.Builder" c:type="GtkBuilder*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:whitespace="preserve">Builder file name to open</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_button_new_with_stock_image"
              c:identifier="anjuta_util_button_new_with_stock_image"
              introspectable="0">
      <return-value>
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="stock_id" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_clone_string_gptrarray"
              c:identifier="anjuta_util_clone_string_gptrarray"
              introspectable="0">
      <return-value>
        <array name="GLib.PtrArray" c:type="GPtrArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="source" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="const GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="util_color_from_string"
              c:identifier="anjuta_util_color_from_string">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="val" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="r" transfer-ownership="none">
          <type name="guint16" c:type="guint16*"/>
        </parameter>
        <parameter name="g" transfer-ownership="none">
          <type name="guint16" c:type="guint16*"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="guint16" c:type="guint16*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_convert_gfile_list_to_path_list"
              c:identifier="anjuta_util_convert_gfile_list_to_path_list"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="util_convert_gfile_list_to_relative_path_list"
              c:identifier="anjuta_util_convert_gfile_list_to_relative_path_list"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="parent" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_convert_string_list_to_array"
              c:identifier="anjuta_util_convert_string_list_to_array"
              introspectable="0">
      <return-value>
        <array name="GLib.PtrArray" c:type="GPtrArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="util_convert_to_utf8"
              c:identifier="anjuta_util_convert_to_utf8">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_copy_file" c:identifier="anjuta_util_copy_file">
      <doc xml:whitespace="preserve">Copies @src to @dest and shows a dialog error in case is needed.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">TRUE if there was an error copying the file.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="src" transfer-ownership="none">
          <doc xml:whitespace="preserve">the file where copy</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="dest" transfer-ownership="none">
          <doc xml:whitespace="preserve">the path to copy the @src</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="show_error" transfer-ownership="none">
          <doc xml:whitespace="preserve">TRUE to show a dialog error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_create_dir" c:identifier="anjuta_util_create_dir">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="d" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_dialog_add_button"
              c:identifier="anjuta_util_dialog_add_button"
              introspectable="0">
      <return-value>
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="dialog" transfer-ownership="none">
          <type name="Gtk.Dialog" c:type="GtkDialog*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="stock_id" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="response_id" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_dialog_boolean_question"
              c:identifier="anjuta_util_dialog_boolean_question"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="mesg" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_dialog_error"
              c:identifier="anjuta_util_dialog_error"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="mesg" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_dialog_error_system"
              c:identifier="anjuta_util_dialog_error_system"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="errnum" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="mesg" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_dialog_info"
              c:identifier="anjuta_util_dialog_info"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="mesg" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_dialog_input" c:identifier="anjuta_util_dialog_input">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="label" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="default_value" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_dialog_warning"
              c:identifier="anjuta_util_dialog_warning"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="mesg" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_diff" c:identifier="anjuta_util_diff">
      <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="const gchar*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_escape_quotes"
              c:identifier="anjuta_util_escape_quotes">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_execute_shell"
              c:identifier="anjuta_util_execute_shell">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="pid_t"/>
      </return-value>
      <parameters>
        <parameter name="dir" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="command" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_execute_terminal_shell"
              c:identifier="anjuta_util_execute_terminal_shell">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="pid_t"/>
      </return-value>
      <parameters>
        <parameter name="dir" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="command" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_file_new_for_commandline_arg"
              c:identifier="anjuta_util_file_new_for_commandline_arg"
              introspectable="0">
      <doc xml:whitespace="preserve">Create a new file corresponding to arg, unlike g_file_new_for_commandline_arg,
keeps symbolic links in path name.</doc>
      <return-value>
        <doc xml:whitespace="preserve">A new GFile object</doc>
        <type name="Gio.File" c:type="GFile*"/>
      </return-value>
      <parameters>
        <parameter name="arg" transfer-ownership="none">
          <doc xml:whitespace="preserve">URI or relative or absolute file path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_a_tmp_file"
              c:identifier="anjuta_util_get_a_tmp_file">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="util_get_current_dir"
              c:identifier="anjuta_util_get_current_dir">
      <doc xml:whitespace="preserve">Get current working directory, unlike g_get_current_dir, keeps symbolic links
in path name.</doc>
      <return-value transfer-ownership="full">
        <doc xml:whitespace="preserve">The current working directory.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="util_get_file_mime_type"
              c:identifier="anjuta_util_get_file_mime_type">
      <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>
    </function>
    <function name="util_get_local_path_from_uri"
              c:identifier="anjuta_util_get_local_path_from_uri">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_real_path"
              c:identifier="anjuta_util_get_real_path">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_user_cache_file"
              c:identifier="anjuta_util_get_user_cache_file"
              introspectable="0">
      <return-value>
        <type name="Gio.File" c:type="GFile*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_user_cache_file_path"
              c:identifier="anjuta_util_get_user_cache_file_path"
              introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_user_config_file"
              c:identifier="anjuta_util_get_user_config_file"
              introspectable="0">
      <return-value>
        <type name="Gio.File" c:type="GFile*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_user_config_file_path"
              c:identifier="anjuta_util_get_user_config_file_path"
              introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_user_data_file"
              c:identifier="anjuta_util_get_user_data_file"
              introspectable="0">
      <return-value>
        <type name="Gio.File" c:type="GFile*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_user_data_file_path"
              c:identifier="anjuta_util_get_user_data_file_path"
              introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_user_mail"
              c:identifier="anjuta_util_get_user_mail">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="util_glist_from_map"
              c:identifier="anjuta_util_glist_from_map"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type c:type="AnjutaUtilStringMap*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_glist_from_string"
              c:identifier="anjuta_util_glist_from_string"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_glist_path_dedup"
              c:identifier="anjuta_util_glist_path_dedup"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="util_glist_strings_dup"
              c:identifier="anjuta_util_glist_strings_dup"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="util_glist_strings_free"
              c:identifier="anjuta_util_glist_strings_free"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="util_glist_strings_join"
              c:identifier="anjuta_util_glist_strings_join"
              introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="delimiter" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_glist_strings_prefix"
              c:identifier="anjuta_util_glist_strings_prefix"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="prefix" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_glist_strings_sort"
              c:identifier="anjuta_util_glist_strings_sort"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="util_glist_strings_sufix"
              c:identifier="anjuta_util_glist_strings_sufix"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="sufix" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_help_display" c:identifier="anjuta_util_help_display">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="doc_id" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="item" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_install_files"
              c:identifier="anjuta_util_install_files">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="names" transfer-ownership="none">
          <type name="utf8" c:type="const gchar* const"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_is_project_file"
              c:identifier="anjuta_util_is_project_file">
      <doc xml:whitespace="preserve">Return TRUE if the file is an anjuta project file. It is implemented by
checking only the file extension. So it does not check the existence
of the file. But it is working on an URI if it does not containt a
fragment.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">TRUE if the file is a project file, else FALSE</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:whitespace="preserve">the file name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_is_template_file"
              c:identifier="anjuta_util_is_template_file">
      <doc xml:whitespace="preserve">Return TRUE if the file is an template project file. It is implemented by
checking only the file extension. So it does not check the existence
of the file. But it is working on an URI if it does not containt a
fragment.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">TRUE if the file is a template file, else FALSE</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:whitespace="preserve">the file name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_jump_to_matching_brace"
              c:identifier="anjuta_util_jump_to_matching_brace"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="iter" transfer-ownership="none">
          <type c:type="IAnjutaIterable*"/>
        </parameter>
        <parameter name="brace" transfer-ownership="none">
          <type name="gchar" c:type="gchar"/>
        </parameter>
        <parameter name="limit" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_list_all_dir_children"
              c:identifier="anjuta_util_list_all_dir_children"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="children" transfer-ownership="none">
          <type name="GLib.List" c:type="GList**">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="dir" transfer-ownership="none">
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_package_is_installed"
              c:identifier="anjuta_util_package_is_installed">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="lib" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="show" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_parse_args_from_string"
              c:identifier="anjuta_util_parse_args_from_string"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_prog_is_installed"
              c:identifier="anjuta_util_prog_is_installed">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="prog" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="show" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_replace_home_dir_with_tilde"
              c:identifier="anjuta_util_replace_home_dir_with_tilde">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_shell_expand" c:identifier="anjuta_util_shell_expand">
      <doc xml:whitespace="preserve">Expand environment variables $(var_name) and tilde (~) in the input string.</doc>
      <return-value transfer-ownership="full">
        <doc xml:whitespace="preserve">a newly-allocated string that must be freed with g_free().</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <doc xml:whitespace="preserve">input string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_str_middle_truncate"
              c:identifier="anjuta_util_str_middle_truncate">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_string_from_color"
              c:identifier="anjuta_util_string_from_color">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="r" transfer-ownership="none">
          <type name="guint16" c:type="guint16"/>
        </parameter>
        <parameter name="g" transfer-ownership="none">
          <type name="guint16" c:type="guint16"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="guint16" c:type="guint16"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_string_from_type"
              c:identifier="anjuta_util_string_from_type"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const char*"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type c:type="AnjutaUtilStringMap*"/>
        </parameter>
        <parameter name="type" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_type_from_string"
              c:identifier="anjuta_util_type_from_string"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="map" transfer-ownership="none">
          <type c:type="AnjutaUtilStringMap*"/>
        </parameter>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_update_string_list"
              c:identifier="anjuta_util_update_string_list"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="p_list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="p_str" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_uri_get_dirname"
              c:identifier="anjuta_util_uri_get_dirname">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_user_shell" c:identifier="anjuta_util_user_shell">
      <doc xml:whitespace="preserve">Retrieves the user's preferred shell.</doc>
      <return-value transfer-ownership="full">
        <doc xml:whitespace="preserve">A newly allocated string that is the path to the shell.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="util_user_terminal"
              c:identifier="anjuta_util_user_terminal"
              introspectable="0">
      <doc xml:whitespace="preserve">Retrieves the user's preferred terminal.</doc>
      <return-value>
        <doc xml:whitespace="preserve">A newly allocated strings list. The first argument is the terminal program name. The following are the arguments needed to execute a command. The list has to be freed with g_strfreev</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="utils_drop_get_files"
              c:identifier="anjuta_utils_drop_get_files"
              introspectable="0">
      <doc xml:whitespace="preserve">Create a list of valid uri's from a uri-list drop.</doc>
      <return-value>
        <doc xml:whitespace="preserve">a list of GFiles</doc>
        <type name="GLib.SList" c:type="GSList*">
          <type name="Gio.File"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="selection_data" transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GtkSelectionData from drag_data_received</doc>
          <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
