<?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="GLib" version="2.0"/>
  <package name="libvirt-glib-1.0"/>
  <c:include name="libvirt-glib/libvirt-glib.h"/>
  <namespace name="LibvirtGLib"
             version="1.0"
             shared-library="libvirt-glib-1.0.so.0.2"
             c:identifier-prefixes="GVir"
             c:symbol-prefixes="gvir">
    <function name="critical" c:identifier="gvir_critical" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="arg1" transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="error_new"
              c:identifier="gvir_error_new"
              introspectable="0">
      <doc xml:space="preserve">Creates a new #GError with the given @domain and @code,
and a message formatted with @format.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a new #GError</doc>
        <type name="GLib.Error" c:type="GError*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <doc xml:space="preserve">error domain</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <doc xml:space="preserve">error code</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve">printf()-style format for error message</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="arg3" transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="error_new_literal" c:identifier="gvir_error_new_literal">
      <doc xml:space="preserve">Creates a new #GError; unlike gvir_error_new(), @message is
not a printf()-style format string. Use this function if
@message contains text you don't have control over,
that could include printf() escape sequences.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a new #GError</doc>
        <type name="GLib.Error" c:type="GError*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <doc xml:space="preserve">error domain</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <doc xml:space="preserve">error code</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve">error message</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="error_new_valist"
              c:identifier="gvir_error_new_valist"
              introspectable="0">
      <doc xml:space="preserve">Creates a new #GError with the given @domain and @code,
and a message formatted with @format.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a new #GError</doc>
        <type name="GLib.Error" c:type="GError*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <doc xml:space="preserve">error domain</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <doc xml:space="preserve">error code</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve">printf()-style format for error message</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <doc xml:space="preserve">#va_list of parameters for the message format</doc>
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="event_register" c:identifier="gvir_event_register">
      <doc xml:space="preserve">Registers a libvirt event loop implementation that is backed
by the default &lt;code&gt;GMain&lt;/code&gt; context. If invoked more
than once this method will be a no-op. Applications should,
however, take care not to register any another non-GLib
event loop with libvirt.

After invoking this method, it is mandatory to run the
default GMain event loop. Typically this can be satisfied
by invoking &lt;code&gt;gtk_main&lt;/code&gt; or &lt;code&gt;g_application_run&lt;/code&gt;
in the application's main thread. Failure to run the event
loop will mean no libvirt events get dispatched, and the
libvirt keepalive timer will kill off libvirt connections
frequently.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="init" c:identifier="gvir_init">
      <doc xml:space="preserve">Call this function before using any other Libvirt GLib functions in your applications.
It will initialize everything needed to operate the toolkit and parses some standard
command line options.

Although you are expected to pass the @argc, @argv parameters from main() to this
function, it is possible to pass NULL if @argv is not available or commandline
handling is not required.

@argc and @argv are adjusted accordingly so your own code will never see those
standard arguments.

This method will also turn on debug logging of the library if the
&lt;literal&gt;LIBVIRT_GLIB_DEBUG&lt;/literal&gt; environment variable is set.

This function will terminate your program if it was unable to initialize
for some reason. If you want the program to fall back to an alternate
mode of operation call &lt;code&gt;gvir_init_check&lt;/code&gt; instead.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="argc"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve">Address of the argc parameter of your main() function (or 0 if argv is NULL). This will be changed if any arguments were handled.</doc>
          <type name="gint" c:type="int*"/>
        </parameter>
        <parameter name="argv"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="none"
                   allow-none="1">
          <doc xml:space="preserve">Address of the &lt;parameter&gt;argv&lt;/parameter&gt; parameter of main(), or %NULL. Any options understood by GTK+ are stripped before return.</doc>
          <array length="0" zero-terminated="0" c:type="char***">
            <type name="utf8" c:type="char**"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="init_check" c:identifier="gvir_init_check" throws="1">
      <doc xml:space="preserve">This function does the same work as gvir_init() with only a single
change: It does not terminate the program if the Libvirt GLib library
can't be initialized. Instead it returns %FALSE on failure.

This way the application can fall back to some other mode of
operation.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if the library was successfully initialized, %FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="argc"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve">Address of the argc parameter of your main() function (or 0 if argv is NULL). This will be changed if any arguments were handled.</doc>
          <type name="gint" c:type="int*"/>
        </parameter>
        <parameter name="argv"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="none"
                   allow-none="1">
          <doc xml:space="preserve">Address of the &lt;parameter&gt;argv&lt;/parameter&gt; parameter of main(), or %NULL. Any options understood by GTK+ are stripped before return.</doc>
          <array length="0" zero-terminated="0" c:type="char***">
            <type name="utf8" c:type="char**"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="set_error"
              c:identifier="gvir_set_error"
              introspectable="0">
      <doc xml:space="preserve">If @error is NULL this does nothing. Otherwise it
creates a new #GError with the given @domain and @code,
and a message formatted with @format, and stores it
in @error.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="error" transfer-ownership="none">
          <doc xml:space="preserve">pointer to error location</doc>
          <type name="GLib.Error" c:type="GError**"/>
        </parameter>
        <parameter name="domain" transfer-ownership="none">
          <doc xml:space="preserve">error domain</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <doc xml:space="preserve">error code</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve">printf()-style format for error message</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="arg4" transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="set_error_literal" c:identifier="gvir_set_error_literal">
      <doc xml:space="preserve">If @error is NULL this does nothing. Otherwise it
creates a new #GError and stores it in @error; unlike
gvir_set_error(), @message is not a printf()-style
format string. Use this function if @message contains
text you don't have control over, that could include
printf() escape sequences.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="error" transfer-ownership="none">
          <doc xml:space="preserve">pointer to error location</doc>
          <type name="GLib.Error" c:type="GError**"/>
        </parameter>
        <parameter name="domain" transfer-ownership="none">
          <doc xml:space="preserve">error domain</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <doc xml:space="preserve">error code</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve">error message</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_error_valist"
              c:identifier="gvir_set_error_valist"
              introspectable="0">
      <doc xml:space="preserve">If @error is NULL this does nothing. Otherwise it
creates a new #GError with the given @domain and @code,
and a message formatted with @format, and stores it
in @error.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="error" transfer-ownership="none">
          <doc xml:space="preserve">pointer to error location</doc>
          <type name="GLib.Error" c:type="GError**"/>
        </parameter>
        <parameter name="domain" transfer-ownership="none">
          <doc xml:space="preserve">error domain</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <doc xml:space="preserve">error code</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve">printf()-style format for error message</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <doc xml:space="preserve">#va_list of parameters for the message format</doc>
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="warning" c:identifier="gvir_warning" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="arg1" transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
