<?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="GObject" version="2.0"/>
  <package name="libvirt-gconfig-1.0"/>
  <c:include name="libvirt-gconfig/libvirt-gconfig.h"/>
  <namespace name="LibvirtGConfig"
             version="1.0"
             shared-library="libvirt-gconfig-1.0.so.0.2"
             c:identifier-prefixes="GVirConfig"
             c:symbol-prefixes="gvir_config">
    <class name="Capabilities"
           c:symbol-prefix="capabilities"
           c:type="GVirConfigCapabilities"
           parent="Object"
           glib:type-name="GVirConfigCapabilities"
           glib:get-type="gvir_config_capabilities_get_type"
           glib:type-struct="CapabilitiesClass">
      <constructor name="new" c:identifier="gvir_config_capabilities_new">
        <return-value transfer-ownership="full">
          <type name="Capabilities" c:type="GVirConfigCapabilities*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_capabilities_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="Capabilities" c:type="GVirConfigCapabilities*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_guests"
              c:identifier="gvir_config_capabilities_get_guests">
        <doc xml:space="preserve">Gets the list of guest capabilities.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated #GList of #GVirConfigCapabilitiesGuest.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="CapabilitiesGuest"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="caps" transfer-ownership="none">
            <type name="Capabilities" c:type="GVirConfigCapabilities*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_host" c:identifier="gvir_config_capabilities_get_host">
        <doc xml:space="preserve">Gets the host capabilities.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GVirConfigCapabilitiesHost.</doc>
          <type name="CapabilitiesHost" c:type="GVirConfigCapabilitiesHost*"/>
        </return-value>
        <parameters>
          <instance-parameter name="caps" transfer-ownership="none">
            <type name="Capabilities" c:type="GVirConfigCapabilities*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="CapabilitiesPrivate"
              c:type="GVirConfigCapabilitiesPrivate*"/>
      </field>
    </class>
    <record name="CapabilitiesClass"
            c:type="GVirConfigCapabilitiesClass"
            glib:is-gtype-struct-for="Capabilities">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="CapabilitiesCpu"
           c:symbol-prefix="capabilities_cpu"
           c:type="GVirConfigCapabilitiesCpu"
           parent="Object"
           glib:type-name="GVirConfigCapabilitiesCpu"
           glib:get-type="gvir_config_capabilities_cpu_get_type"
           glib:type-struct="CapabilitiesCpuClass">
      <virtual-method name="get_features" invoker="get_features">
        <doc xml:space="preserve">Gets the features of this CPU.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated #GList of #GVirConfigCapabilitiesCpuFeature.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="CapabilitiesCpuFeature"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="CapabilitiesCpu" c:type="GVirConfigCapabilitiesCpu*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_feature"
              c:identifier="gvir_config_capabilities_cpu_add_feature">
        <doc xml:space="preserve">Adds a new feature to CPU.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="CapabilitiesCpu" c:type="GVirConfigCapabilitiesCpu*"/>
          </instance-parameter>
          <parameter name="feature" transfer-ownership="none">
            <type name="CapabilitiesCpuFeature"
                  c:type="GVirConfigCapabilitiesCpuFeature*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_arch"
              c:identifier="gvir_config_capabilities_cpu_get_arch">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="CapabilitiesCpu" c:type="GVirConfigCapabilitiesCpu*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_features"
              c:identifier="gvir_config_capabilities_cpu_get_features">
        <doc xml:space="preserve">Gets the features of this CPU.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated #GList of #GVirConfigCapabilitiesCpuFeature.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="CapabilitiesCpuFeature"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="CapabilitiesCpu" c:type="GVirConfigCapabilitiesCpu*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_topology"
              c:identifier="gvir_config_capabilities_cpu_get_topology">
        <doc xml:space="preserve">Gets the topology of the cpu.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GVirConfigCapabilitiesCpuTopology.</doc>
          <type name="CapabilitiesCpuTopology"
                c:type="GVirConfigCapabilitiesCpuTopology*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="CapabilitiesCpu" c:type="GVirConfigCapabilitiesCpu*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_topology"
              c:identifier="gvir_config_capabilities_cpu_set_topology">
        <doc xml:space="preserve">Sets the topology of the cpu.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="CapabilitiesCpu" c:type="GVirConfigCapabilitiesCpu*"/>
          </instance-parameter>
          <parameter name="topology" transfer-ownership="none">
            <type name="CapabilitiesCpuTopology"
                  c:type="GVirConfigCapabilitiesCpuTopology*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="CapabilitiesCpuPrivate"
              c:type="GVirConfigCapabilitiesCpuPrivate*"/>
      </field>
    </class>
    <record name="CapabilitiesCpuClass"
            c:type="GVirConfigCapabilitiesCpuClass"
            glib:is-gtype-struct-for="CapabilitiesCpu">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="get_features">
        <callback name="get_features">
          <return-value transfer-ownership="full">
            <doc xml:space="preserve">a newly allocated #GList of #GVirConfigCapabilitiesCpuFeature.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="CapabilitiesCpuFeature"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="cpu" transfer-ownership="none">
              <type name="CapabilitiesCpu"
                    c:type="GVirConfigCapabilitiesCpu*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="19">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="CapabilitiesCpuFeature"
           c:symbol-prefix="capabilities_cpu_feature"
           c:type="GVirConfigCapabilitiesCpuFeature"
           parent="Object"
           glib:type-name="GVirConfigCapabilitiesCpuFeature"
           glib:get-type="gvir_config_capabilities_cpu_feature_get_type"
           glib:type-struct="CapabilitiesCpuFeatureClass">
      <method name="get_name"
              c:identifier="gvir_config_capabilities_cpu_feature_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="feature" transfer-ownership="none">
            <type name="CapabilitiesCpuFeature"
                  c:type="GVirConfigCapabilitiesCpuFeature*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="gvir_config_capabilities_cpu_feature_set_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="feature" transfer-ownership="none">
            <type name="CapabilitiesCpuFeature"
                  c:type="GVirConfigCapabilitiesCpuFeature*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="CapabilitiesCpuFeaturePrivate"
              c:type="GVirConfigCapabilitiesCpuFeaturePrivate*"/>
      </field>
    </class>
    <record name="CapabilitiesCpuFeatureClass"
            c:type="GVirConfigCapabilitiesCpuFeatureClass"
            glib:is-gtype-struct-for="CapabilitiesCpuFeature">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CapabilitiesCpuFeaturePrivate"
            c:type="GVirConfigCapabilitiesCpuFeaturePrivate"
            disguised="1">
    </record>
    <record name="CapabilitiesCpuPrivate"
            c:type="GVirConfigCapabilitiesCpuPrivate"
            disguised="1">
    </record>
    <class name="CapabilitiesCpuTopology"
           c:symbol-prefix="capabilities_cpu_topology"
           c:type="GVirConfigCapabilitiesCpuTopology"
           parent="Object"
           glib:type-name="GVirConfigCapabilitiesCpuTopology"
           glib:get-type="gvir_config_capabilities_cpu_topology_get_type"
           glib:type-struct="CapabilitiesCpuTopologyClass">
      <constructor name="new"
                   c:identifier="gvir_config_capabilities_cpu_topology_new">
        <return-value transfer-ownership="full">
          <type name="CapabilitiesCpuTopology"
                c:type="GVirConfigCapabilitiesCpuTopology*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_capabilities_cpu_topology_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="CapabilitiesCpuTopology"
                c:type="GVirConfigCapabilitiesCpuTopology*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_cores"
              c:identifier="gvir_config_capabilities_cpu_topology_get_cores">
        <return-value transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="topology" transfer-ownership="none">
            <type name="CapabilitiesCpuTopology"
                  c:type="GVirConfigCapabilitiesCpuTopology*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sockets"
              c:identifier="gvir_config_capabilities_cpu_topology_get_sockets">
        <return-value transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="topology" transfer-ownership="none">
            <type name="CapabilitiesCpuTopology"
                  c:type="GVirConfigCapabilitiesCpuTopology*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_threads"
              c:identifier="gvir_config_capabilities_cpu_topology_get_threads">
        <return-value transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="topology" transfer-ownership="none">
            <type name="CapabilitiesCpuTopology"
                  c:type="GVirConfigCapabilitiesCpuTopology*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_cores"
              c:identifier="gvir_config_capabilities_cpu_topology_set_cores">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="topology" transfer-ownership="none">
            <type name="CapabilitiesCpuTopology"
                  c:type="GVirConfigCapabilitiesCpuTopology*"/>
          </instance-parameter>
          <parameter name="cores" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sockets"
              c:identifier="gvir_config_capabilities_cpu_topology_set_sockets">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="topology" transfer-ownership="none">
            <type name="CapabilitiesCpuTopology"
                  c:type="GVirConfigCapabilitiesCpuTopology*"/>
          </instance-parameter>
          <parameter name="sockets" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_threads"
              c:identifier="gvir_config_capabilities_cpu_topology_set_threads">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="topology" transfer-ownership="none">
            <type name="CapabilitiesCpuTopology"
                  c:type="GVirConfigCapabilitiesCpuTopology*"/>
          </instance-parameter>
          <parameter name="threads" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="CapabilitiesCpuTopologyPrivate"
              c:type="GVirConfigCapabilitiesCpuTopologyPrivate*"/>
      </field>
    </class>
    <record name="CapabilitiesCpuTopologyClass"
            c:type="GVirConfigCapabilitiesCpuTopologyClass"
            glib:is-gtype-struct-for="CapabilitiesCpuTopology">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CapabilitiesCpuTopologyPrivate"
            c:type="GVirConfigCapabilitiesCpuTopologyPrivate"
            disguised="1">
    </record>
    <class name="CapabilitiesGuest"
           c:symbol-prefix="capabilities_guest"
           c:type="GVirConfigCapabilitiesGuest"
           parent="Object"
           glib:type-name="GVirConfigCapabilitiesGuest"
           glib:get-type="gvir_config_capabilities_guest_get_type"
           glib:type-struct="CapabilitiesGuestClass">
      <method name="get_arch"
              c:identifier="gvir_config_capabilities_guest_get_arch">
        <doc xml:space="preserve">Gets the CPU architecture capabilities of the guest.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GVirConfigCapabilitiesGuestArch.</doc>
          <type name="CapabilitiesGuestArch"
                c:type="GVirConfigCapabilitiesGuestArch*"/>
        </return-value>
        <parameters>
          <instance-parameter name="guest" transfer-ownership="none">
            <type name="CapabilitiesGuest"
                  c:type="GVirConfigCapabilitiesGuest*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_features"
              c:identifier="gvir_config_capabilities_guest_get_features">
        <doc xml:space="preserve">Gets the CPU features for this guest.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated #GList of #GVirConfigCapabilitiesGuestFeature.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="CapabilitiesGuestFeature"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="guest" transfer-ownership="none">
            <type name="CapabilitiesGuest"
                  c:type="GVirConfigCapabilitiesGuest*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_os_type"
              c:identifier="gvir_config_capabilities_guest_get_os_type">
        <return-value transfer-ownership="none">
          <type name="DomainOsType" c:type="GVirConfigDomainOsType"/>
        </return-value>
        <parameters>
          <instance-parameter name="guest" transfer-ownership="none">
            <type name="CapabilitiesGuest"
                  c:type="GVirConfigCapabilitiesGuest*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="CapabilitiesGuestPrivate"
              c:type="GVirConfigCapabilitiesGuestPrivate*"/>
      </field>
    </class>
    <class name="CapabilitiesGuestArch"
           c:symbol-prefix="capabilities_guest_arch"
           c:type="GVirConfigCapabilitiesGuestArch"
           parent="Object"
           glib:type-name="GVirConfigCapabilitiesGuestArch"
           glib:get-type="gvir_config_capabilities_guest_arch_get_type"
           glib:type-struct="CapabilitiesGuestArchClass">
      <method name="get_domains"
              c:identifier="gvir_config_capabilities_guest_arch_get_domains">
        <doc xml:space="preserve">Gets the possible domains for this architecture.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated #GList of #GVirConfigCapabilitiesGuestDomain.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="CapabilitiesGuestDomain"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="arch" transfer-ownership="none">
            <type name="CapabilitiesGuestArch"
                  c:type="GVirConfigCapabilitiesGuestArch*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_emulator"
              c:identifier="gvir_config_capabilities_guest_arch_get_emulator">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="arch" transfer-ownership="none">
            <type name="CapabilitiesGuestArch"
                  c:type="GVirConfigCapabilitiesGuestArch*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gvir_config_capabilities_guest_arch_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="arch" transfer-ownership="none">
            <type name="CapabilitiesGuestArch"
                  c:type="GVirConfigCapabilitiesGuestArch*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="CapabilitiesGuestArchPrivate"
              c:type="GVirConfigCapabilitiesGuestArchPrivate*"/>
      </field>
    </class>
    <record name="CapabilitiesGuestArchClass"
            c:type="GVirConfigCapabilitiesGuestArchClass"
            glib:is-gtype-struct-for="CapabilitiesGuestArch">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CapabilitiesGuestArchPrivate"
            c:type="GVirConfigCapabilitiesGuestArchPrivate"
            disguised="1">
    </record>
    <record name="CapabilitiesGuestClass"
            c:type="GVirConfigCapabilitiesGuestClass"
            glib:is-gtype-struct-for="CapabilitiesGuest">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="CapabilitiesGuestDomain"
           c:symbol-prefix="capabilities_guest_domain"
           c:type="GVirConfigCapabilitiesGuestDomain"
           parent="Object"
           glib:type-name="GVirConfigCapabilitiesGuestDomain"
           glib:get-type="gvir_config_capabilities_guest_domain_get_type"
           glib:type-struct="CapabilitiesGuestDomainClass">
      <method name="get_emulator"
              c:identifier="gvir_config_capabilities_guest_domain_get_emulator">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="CapabilitiesGuestDomain"
                  c:type="GVirConfigCapabilitiesGuestDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_virt_type"
              c:identifier="gvir_config_capabilities_guest_domain_get_virt_type">
        <return-value transfer-ownership="none">
          <type name="DomainVirtType" c:type="GVirConfigDomainVirtType"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="CapabilitiesGuestDomain"
                  c:type="GVirConfigCapabilitiesGuestDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="CapabilitiesGuestDomainPrivate"
              c:type="GVirConfigCapabilitiesGuestDomainPrivate*"/>
      </field>
    </class>
    <record name="CapabilitiesGuestDomainClass"
            c:type="GVirConfigCapabilitiesGuestDomainClass"
            glib:is-gtype-struct-for="CapabilitiesGuestDomain">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CapabilitiesGuestDomainPrivate"
            c:type="GVirConfigCapabilitiesGuestDomainPrivate"
            disguised="1">
    </record>
    <class name="CapabilitiesGuestFeature"
           c:symbol-prefix="capabilities_guest_feature"
           c:type="GVirConfigCapabilitiesGuestFeature"
           parent="Object"
           glib:type-name="GVirConfigCapabilitiesGuestFeature"
           glib:get-type="gvir_config_capabilities_guest_feature_get_type"
           glib:type-struct="CapabilitiesGuestFeatureClass">
      <method name="get_name"
              c:identifier="gvir_config_capabilities_guest_feature_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="feature" transfer-ownership="none">
            <type name="CapabilitiesGuestFeature"
                  c:type="GVirConfigCapabilitiesGuestFeature*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="CapabilitiesGuestFeaturePrivate"
              c:type="GVirConfigCapabilitiesGuestFeaturePrivate*"/>
      </field>
    </class>
    <record name="CapabilitiesGuestFeatureClass"
            c:type="GVirConfigCapabilitiesGuestFeatureClass"
            glib:is-gtype-struct-for="CapabilitiesGuestFeature">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CapabilitiesGuestFeaturePrivate"
            c:type="GVirConfigCapabilitiesGuestFeaturePrivate"
            disguised="1">
    </record>
    <record name="CapabilitiesGuestPrivate"
            c:type="GVirConfigCapabilitiesGuestPrivate"
            disguised="1">
    </record>
    <class name="CapabilitiesHost"
           c:symbol-prefix="capabilities_host"
           c:type="GVirConfigCapabilitiesHost"
           parent="Object"
           glib:type-name="GVirConfigCapabilitiesHost"
           glib:get-type="gvir_config_capabilities_host_get_type"
           glib:type-struct="CapabilitiesHostClass">
      <method name="get_cpu"
              c:identifier="gvir_config_capabilities_host_get_cpu">
        <doc xml:space="preserve">Gets the CPU capabilities of the host.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GVirConfigCapabilitiesCpu.</doc>
          <type name="CapabilitiesCpu" c:type="GVirConfigCapabilitiesCpu*"/>
        </return-value>
        <parameters>
          <instance-parameter name="host" transfer-ownership="none">
            <type name="CapabilitiesHost"
                  c:type="GVirConfigCapabilitiesHost*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uuid"
              c:identifier="gvir_config_capabilities_host_get_uuid">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="host" transfer-ownership="none">
            <type name="CapabilitiesHost"
                  c:type="GVirConfigCapabilitiesHost*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="CapabilitiesHostPrivate"
              c:type="GVirConfigCapabilitiesHostPrivate*"/>
      </field>
    </class>
    <record name="CapabilitiesHostClass"
            c:type="GVirConfigCapabilitiesHostClass"
            glib:is-gtype-struct-for="CapabilitiesHost">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CapabilitiesHostPrivate"
            c:type="GVirConfigCapabilitiesHostPrivate"
            disguised="1">
    </record>
    <record name="CapabilitiesPrivate"
            c:type="GVirConfigCapabilitiesPrivate"
            disguised="1">
    </record>
    <class name="Domain"
           c:symbol-prefix="domain"
           c:type="GVirConfigDomain"
           parent="Object"
           glib:type-name="GVirConfigDomain"
           glib:get-type="gvir_config_domain_get_type"
           glib:type-struct="DomainClass">
      <constructor name="new" c:identifier="gvir_config_domain_new">
        <return-value transfer-ownership="full">
          <type name="Domain" c:type="GVirConfigDomain*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="Domain" c:type="GVirConfigDomain*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_device" c:identifier="gvir_config_domain_add_device">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="device" transfer-ownership="none">
            <type name="DomainDevice" c:type="GVirConfigDomainDevice*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_cpu" c:identifier="gvir_config_domain_get_cpu">
        <doc xml:space="preserve">Gets the CPU configuration of @domain</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GVirConfigDomainCpu. The returned object should be unreffed with g_object_unref() when no longer needed.</doc>
          <type name="DomainCpu" c:type="GVirConfigDomainCpu*"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_memory"
              c:identifier="gvir_config_domain_get_current_memory">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">current amount of RAM in kilobytes (i.e. blocks of 1024 bytes).</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_custom_xml"
              c:identifier="gvir_config_domain_get_custom_xml">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="ns_uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="gvir_config_domain_get_description">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_devices" c:identifier="gvir_config_domain_get_devices">
        <doc xml:space="preserve">Gets the list of devices attached to @domain.  The returned list should
be freed with g_list_free(), after its elements have been unreffed with
g_object_unref().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated #GList of #GVirConfigDomainDevice.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="DomainDevice"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_features"
              c:identifier="gvir_config_domain_get_features">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The returned list should be freed with g_strfreev() when no longer needed.</doc>
          <array c:type="GStrv">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_memory" c:identifier="gvir_config_domain_get_memory">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">maximum amount of RAM in kilobytes (i.e. blocks of 1024 bytes).</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="gvir_config_domain_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_os" c:identifier="gvir_config_domain_get_os">
        <doc xml:space="preserve">Gets the operating system configuration of @domain</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GVirConfigDomainOs. The returned object should be unreffed with g_object_unref() when no longer needed.</doc>
          <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title" c:identifier="gvir_config_domain_get_title">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vcpus" c:identifier="gvir_config_domain_get_vcpus">
        <return-value transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_virt_type"
              c:identifier="gvir_config_domain_get_virt_type">
        <return-value transfer-ownership="none">
          <type name="DomainVirtType" c:type="GVirConfigDomainVirtType"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_clock" c:identifier="gvir_config_domain_set_clock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="klock" transfer-ownership="none" allow-none="1">
            <type name="DomainClock" c:type="GVirConfigDomainClock*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cpu" c:identifier="gvir_config_domain_set_cpu">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="cpu" transfer-ownership="none" allow-none="1">
            <type name="DomainCpu" c:type="GVirConfigDomainCpu*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_memory"
              c:identifier="gvir_config_domain_set_current_memory">
        <doc xml:space="preserve">Sets the current amount of RAM allocated to @domain in kilobytes (i.e.
blocks of 1024 bytes). This can be set to less than the maximum domain
memory to allow to balloon the guest memory on the fly. Be aware that
libvirt will set it automatically if it's not explictly set, which means
you may need to set this value in addition to 'memory' if you want to
change the available domain memory after creation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="memory" transfer-ownership="none">
            <doc xml:space="preserve">The current amount of RAM in kilobytes.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_custom_xml"
              c:identifier="gvir_config_domain_set_custom_xml"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="ns" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="ns_uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="gvir_config_domain_set_description">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_devices" c:identifier="gvir_config_domain_set_devices">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="devices" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="DomainDevice"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_features"
              c:identifier="gvir_config_domain_set_features">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="features" transfer-ownership="none">
            <array c:type="const GStrv">
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_lifecycle"
              c:identifier="gvir_config_domain_set_lifecycle">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="DomainLifecycleEvent"
                  c:type="GVirConfigDomainLifecycleEvent"/>
          </parameter>
          <parameter name="action" transfer-ownership="none">
            <type name="DomainLifecycleAction"
                  c:type="GVirConfigDomainLifecycleAction"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_memory" c:identifier="gvir_config_domain_set_memory">
        <doc xml:space="preserve">Sets the maximum amount of RAM allocated to @domain in kilobytes (i.e.
blocks of 1024 bytes).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="memory" transfer-ownership="none">
            <doc xml:space="preserve">The maximum amount of RAM in kilobytes.</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="gvir_config_domain_set_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_os" c:identifier="gvir_config_domain_set_os">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="os" transfer-ownership="none" allow-none="1">
            <doc xml:space="preserve">the os configuration to set</doc>
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_power_management"
              c:identifier="gvir_config_domain_set_power_management">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="pm" transfer-ownership="none" allow-none="1">
            <doc xml:space="preserve">a #GVirPowerManagement instance</doc>
            <type name="DomainPowerManagement"
                  c:type="GVirConfigDomainPowerManagement*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_seclabel"
              c:identifier="gvir_config_domain_set_seclabel">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="seclabel" transfer-ownership="none" allow-none="1">
            <doc xml:space="preserve">the security label configuration to set</doc>
            <type name="DomainSeclabel" c:type="GVirConfigDomainSeclabel*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title" c:identifier="gvir_config_domain_set_title">
        <doc xml:space="preserve">Sets the title of the domain. This is an optional short textual description of the domain. Passing a NULL @title
unsets the current domain title.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomain</doc>
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="title" transfer-ownership="none" allow-none="1">
            <doc xml:space="preserve">title of the domain</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_vcpus" c:identifier="gvir_config_domain_set_vcpus">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="vcpu_count" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_virt_type"
              c:identifier="gvir_config_domain_set_virt_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="domain" transfer-ownership="none">
            <type name="Domain" c:type="GVirConfigDomain*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainVirtType" c:type="GVirConfigDomainVirtType"/>
          </parameter>
        </parameters>
      </method>
      <property name="current-memory" writable="1" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="description" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="features" writable="1" transfer-ownership="none">
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="memory" writable="1" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="name" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="vcpu" writable="1" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainPrivate" c:type="GVirConfigDomainPrivate*"/>
      </field>
    </class>
    <class name="DomainAddress"
           c:symbol-prefix="domain_address"
           c:type="GVirConfigDomainAddress"
           parent="Object"
           abstract="1"
           glib:type-name="GVirConfigDomainAddress"
           glib:get-type="gvir_config_domain_address_get_type"
           glib:type-struct="DomainAddressClass">
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainAddressPrivate"
              c:type="GVirConfigDomainAddressPrivate*"/>
      </field>
    </class>
    <record name="DomainAddressClass"
            c:type="GVirConfigDomainAddressClass"
            glib:is-gtype-struct-for="DomainAddress">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="DomainAddressPci"
           c:symbol-prefix="domain_address_pci"
           c:type="GVirConfigDomainAddressPci"
           parent="DomainAddress"
           glib:type-name="GVirConfigDomainAddressPci"
           glib:get-type="gvir_config_domain_address_pci_get_type"
           glib:type-struct="DomainAddressPciClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_address_pci_new">
        <return-value transfer-ownership="full">
          <type name="DomainAddressPci" c:type="GVirConfigDomainAddressPci*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_address_pci_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainAddressPci" c:type="GVirConfigDomainAddressPci*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_bus"
              c:identifier="gvir_config_domain_address_pci_set_bus">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="address" transfer-ownership="none">
            <type name="DomainAddressPci"
                  c:type="GVirConfigDomainAddressPci*"/>
          </instance-parameter>
          <parameter name="bus" transfer-ownership="none">
            <type name="guint8" c:type="guchar"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_domain"
              c:identifier="gvir_config_domain_address_pci_set_domain">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="address" transfer-ownership="none">
            <type name="DomainAddressPci"
                  c:type="GVirConfigDomainAddressPci*"/>
          </instance-parameter>
          <parameter name="pci_domain" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_function"
              c:identifier="gvir_config_domain_address_pci_set_function">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="address" transfer-ownership="none">
            <type name="DomainAddressPci"
                  c:type="GVirConfigDomainAddressPci*"/>
          </instance-parameter>
          <parameter name="function" transfer-ownership="none">
            <type name="guint8" c:type="guchar"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_multifunction"
              c:identifier="gvir_config_domain_address_pci_set_multifunction">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="address" transfer-ownership="none">
            <type name="DomainAddressPci"
                  c:type="GVirConfigDomainAddressPci*"/>
          </instance-parameter>
          <parameter name="multifunction" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_slot"
              c:identifier="gvir_config_domain_address_pci_set_slot">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="address" transfer-ownership="none">
            <type name="DomainAddressPci"
                  c:type="GVirConfigDomainAddressPci*"/>
          </instance-parameter>
          <parameter name="slot" transfer-ownership="none">
            <type name="guint8" c:type="guchar"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainAddress" c:type="GVirConfigDomainAddress"/>
      </field>
      <field name="priv">
        <type name="DomainAddressPciPrivate"
              c:type="GVirConfigDomainAddressPciPrivate*"/>
      </field>
    </class>
    <record name="DomainAddressPciClass"
            c:type="GVirConfigDomainAddressPciClass"
            glib:is-gtype-struct-for="DomainAddressPci">
      <field name="parent_class">
        <type name="DomainAddressClass" c:type="GVirConfigDomainAddressClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainAddressPciPrivate"
            c:type="GVirConfigDomainAddressPciPrivate"
            disguised="1">
    </record>
    <record name="DomainAddressPrivate"
            c:type="GVirConfigDomainAddressPrivate"
            disguised="1">
    </record>
    <class name="DomainAddressUsb"
           c:symbol-prefix="domain_address_usb"
           c:type="GVirConfigDomainAddressUsb"
           parent="DomainAddress"
           glib:type-name="GVirConfigDomainAddressUsb"
           glib:get-type="gvir_config_domain_address_usb_get_type"
           glib:type-struct="DomainAddressUsbClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_address_usb_new">
        <return-value transfer-ownership="full">
          <type name="DomainAddressUsb" c:type="GVirConfigDomainAddressUsb*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_address_usb_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainAddressUsb" c:type="GVirConfigDomainAddressUsb*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_bus"
              c:identifier="gvir_config_domain_address_usb_set_bus">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="address" transfer-ownership="none">
            <type name="DomainAddressUsb"
                  c:type="GVirConfigDomainAddressUsb*"/>
          </instance-parameter>
          <parameter name="bus" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_port"
              c:identifier="gvir_config_domain_address_usb_set_port">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="address" transfer-ownership="none">
            <type name="DomainAddressUsb"
                  c:type="GVirConfigDomainAddressUsb*"/>
          </instance-parameter>
          <parameter name="port" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainAddress" c:type="GVirConfigDomainAddress"/>
      </field>
      <field name="priv">
        <type name="DomainAddressUsbPrivate"
              c:type="GVirConfigDomainAddressUsbPrivate*"/>
      </field>
    </class>
    <record name="DomainAddressUsbClass"
            c:type="GVirConfigDomainAddressUsbClass"
            glib:is-gtype-struct-for="DomainAddressUsb">
      <field name="parent_class">
        <type name="DomainAddressClass" c:type="GVirConfigDomainAddressClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainAddressUsbPrivate"
            c:type="GVirConfigDomainAddressUsbPrivate"
            disguised="1">
    </record>
    <class name="DomainChannel"
           c:symbol-prefix="domain_channel"
           c:type="GVirConfigDomainChannel"
           parent="DomainChardev"
           glib:type-name="GVirConfigDomainChannel"
           glib:get-type="gvir_config_domain_channel_get_type"
           glib:type-struct="DomainChannelClass">
      <constructor name="new" c:identifier="gvir_config_domain_channel_new">
        <return-value transfer-ownership="full">
          <type name="DomainChannel" c:type="GVirConfigDomainChannel*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_channel_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainChannel" c:type="GVirConfigDomainChannel*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_target_name"
              c:identifier="gvir_config_domain_channel_get_target_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <type name="DomainChannel" c:type="GVirConfigDomainChannel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_target_type"
              c:identifier="gvir_config_domain_channel_get_target_type">
        <return-value transfer-ownership="none">
          <type name="DomainChannelTargetType"
                c:type="GVirConfigDomainChannelTargetType"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <type name="DomainChannel" c:type="GVirConfigDomainChannel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_target_name"
              c:identifier="gvir_config_domain_channel_set_target_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <type name="DomainChannel" c:type="GVirConfigDomainChannel*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_target_type"
              c:identifier="gvir_config_domain_channel_set_target_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="channel" transfer-ownership="none">
            <type name="DomainChannel" c:type="GVirConfigDomainChannel*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainChannelTargetType"
                  c:type="GVirConfigDomainChannelTargetType"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainChardev" c:type="GVirConfigDomainChardev"/>
      </field>
      <field name="priv">
        <type name="DomainChannelPrivate"
              c:type="GVirConfigDomainChannelPrivate*"/>
      </field>
    </class>
    <record name="DomainChannelClass"
            c:type="GVirConfigDomainChannelClass"
            glib:is-gtype-struct-for="DomainChannel">
      <field name="parent_class">
        <type name="DomainChardevClass" c:type="GVirConfigDomainChardevClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainChannelPrivate"
            c:type="GVirConfigDomainChannelPrivate"
            disguised="1">
    </record>
    <enumeration name="DomainChannelTargetType"
                 glib:type-name="GVirConfigDomainChannelTargetType"
                 glib:get-type="gvir_config_domain_channel_target_type_get_type"
                 c:type="GVirConfigDomainChannelTargetType">
      <member name="guestfwd"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_CHANNEL_TARGET_GUESTFWD"
              glib:nick="guestfwd">
      </member>
      <member name="virtio"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_CHANNEL_TARGET_VIRTIO"
              glib:nick="virtio">
      </member>
    </enumeration>
    <class name="DomainChardev"
           c:symbol-prefix="domain_chardev"
           c:type="GVirConfigDomainChardev"
           parent="DomainDevice"
           abstract="1"
           glib:type-name="GVirConfigDomainChardev"
           glib:get-type="gvir_config_domain_chardev_get_type"
           glib:type-struct="DomainChardevClass">
      <method name="get_source"
              c:identifier="gvir_config_domain_chardev_get_source">
        <doc xml:space="preserve">Gets the source for the chardev</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the chardev source</doc>
          <type name="DomainChardevSource"
                c:type="GVirConfigDomainChardevSource*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chardev" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainChardev</doc>
            <type name="DomainChardev" c:type="GVirConfigDomainChardev*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_source"
              c:identifier="gvir_config_domain_chardev_set_source">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chardev" transfer-ownership="none">
            <type name="DomainChardev" c:type="GVirConfigDomainChardev*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="DomainChardevSource"
                  c:type="GVirConfigDomainChardevSource*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainChardevPrivate"
              c:type="GVirConfigDomainChardevPrivate*"/>
      </field>
    </class>
    <record name="DomainChardevClass"
            c:type="GVirConfigDomainChardevClass"
            glib:is-gtype-struct-for="DomainChardev">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainChardevPrivate"
            c:type="GVirConfigDomainChardevPrivate"
            disguised="1">
    </record>
    <class name="DomainChardevSource"
           c:symbol-prefix="domain_chardev_source"
           c:type="GVirConfigDomainChardevSource"
           parent="Object"
           abstract="1"
           glib:type-name="GVirConfigDomainChardevSource"
           glib:get-type="gvir_config_domain_chardev_source_get_type"
           glib:type-struct="DomainChardevSourceClass">
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainChardevSourcePrivate"
              c:type="GVirConfigDomainChardevSourcePrivate*"/>
      </field>
    </class>
    <record name="DomainChardevSourceClass"
            c:type="GVirConfigDomainChardevSourceClass"
            glib:is-gtype-struct-for="DomainChardevSource">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainChardevSourcePrivate"
            c:type="GVirConfigDomainChardevSourcePrivate"
            disguised="1">
    </record>
    <class name="DomainChardevSourcePty"
           c:symbol-prefix="domain_chardev_source_pty"
           c:type="GVirConfigDomainChardevSourcePty"
           parent="DomainChardevSource"
           glib:type-name="GVirConfigDomainChardevSourcePty"
           glib:get-type="gvir_config_domain_chardev_source_pty_get_type"
           glib:type-struct="DomainChardevSourcePtyClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_chardev_source_pty_new">
        <return-value transfer-ownership="full">
          <type name="DomainChardevSourcePty"
                c:type="GVirConfigDomainChardevSourcePty*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_chardev_source_pty_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainChardevSourcePty"
                c:type="GVirConfigDomainChardevSourcePty*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_path"
              c:identifier="gvir_config_domain_chardev_source_pty_get_path">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pty" transfer-ownership="none">
            <type name="DomainChardevSourcePty"
                  c:type="GVirConfigDomainChardevSourcePty*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_path"
              c:identifier="gvir_config_domain_chardev_source_pty_set_path">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pty" transfer-ownership="none">
            <type name="DomainChardevSourcePty"
                  c:type="GVirConfigDomainChardevSourcePty*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainChardevSource"
              c:type="GVirConfigDomainChardevSource"/>
      </field>
      <field name="priv">
        <type name="DomainChardevSourcePtyPrivate"
              c:type="GVirConfigDomainChardevSourcePtyPrivate*"/>
      </field>
    </class>
    <record name="DomainChardevSourcePtyClass"
            c:type="GVirConfigDomainChardevSourcePtyClass"
            glib:is-gtype-struct-for="DomainChardevSourcePty">
      <field name="parent_class">
        <type name="DomainChardevSourceClass"
              c:type="GVirConfigDomainChardevSourceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainChardevSourcePtyPrivate"
            c:type="GVirConfigDomainChardevSourcePtyPrivate"
            disguised="1">
    </record>
    <class name="DomainChardevSourceSpiceVmc"
           c:symbol-prefix="domain_chardev_source_spicevmc"
           c:type="GVirConfigDomainChardevSourceSpiceVmc"
           parent="DomainChardevSource"
           glib:type-name="GVirConfigDomainChardevSourceSpiceVmc"
           glib:get-type="gvir_config_domain_chardev_source_spicevmc_get_type"
           glib:type-struct="DomainChardevSourceSpiceVmcClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_chardev_source_spicevmc_new">
        <return-value transfer-ownership="full">
          <type name="DomainChardevSourceSpiceVmc"
                c:type="GVirConfigDomainChardevSourceSpiceVmc*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_chardev_source_spicevmc_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainChardevSourceSpiceVmc"
                c:type="GVirConfigDomainChardevSourceSpiceVmc*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="DomainChardevSource"
              c:type="GVirConfigDomainChardevSource"/>
      </field>
      <field name="priv">
        <type name="DomainChardevSourceSpiceVmcPrivate"
              c:type="GVirConfigDomainChardevSourceSpiceVmcPrivate*"/>
      </field>
    </class>
    <record name="DomainChardevSourceSpiceVmcClass"
            c:type="GVirConfigDomainChardevSourceSpiceVmcClass"
            glib:is-gtype-struct-for="DomainChardevSourceSpiceVmc">
      <field name="parent_class">
        <type name="DomainChardevSourceClass"
              c:type="GVirConfigDomainChardevSourceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainChardevSourceSpiceVmcPrivate"
            c:type="GVirConfigDomainChardevSourceSpiceVmcPrivate"
            disguised="1">
    </record>
    <record name="DomainClass"
            c:type="GVirConfigDomainClass"
            glib:is-gtype-struct-for="Domain">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="DomainClock"
           c:symbol-prefix="domain_clock"
           c:type="GVirConfigDomainClock"
           parent="Object"
           glib:type-name="GVirConfigDomainClock"
           glib:get-type="gvir_config_domain_clock_get_type"
           glib:type-struct="DomainClockClass">
      <constructor name="new" c:identifier="gvir_config_domain_clock_new">
        <return-value transfer-ownership="full">
          <type name="DomainClock" c:type="GVirConfigDomainClock*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_clock_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainClock" c:type="GVirConfigDomainClock*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_timer"
              c:identifier="gvir_config_domain_clock_add_timer">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="klock" transfer-ownership="none">
            <type name="DomainClock" c:type="GVirConfigDomainClock*"/>
          </instance-parameter>
          <parameter name="timer" transfer-ownership="none">
            <type name="DomainTimer" c:type="GVirConfigDomainTimer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_offset"
              c:identifier="gvir_config_domain_clock_set_offset">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="klock" transfer-ownership="none">
            <type name="DomainClock" c:type="GVirConfigDomainClock*"/>
          </instance-parameter>
          <parameter name="offset" transfer-ownership="none">
            <type name="DomainClockOffset"
                  c:type="GVirConfigDomainClockOffset"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_timezone"
              c:identifier="gvir_config_domain_clock_set_timezone">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="klock" transfer-ownership="none">
            <type name="DomainClock" c:type="GVirConfigDomainClock*"/>
          </instance-parameter>
          <parameter name="tz" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_variable_offset"
              c:identifier="gvir_config_domain_clock_set_variable_offset">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="klock" transfer-ownership="none">
            <type name="DomainClock" c:type="GVirConfigDomainClock*"/>
          </instance-parameter>
          <parameter name="seconds" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainClockPrivate"
              c:type="GVirConfigDomainClockPrivate*"/>
      </field>
    </class>
    <record name="DomainClockClass"
            c:type="GVirConfigDomainClockClass"
            glib:is-gtype-struct-for="DomainClock">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainClockOffset"
                 glib:type-name="GVirConfigDomainClockOffset"
                 glib:get-type="gvir_config_domain_clock_offset_get_type"
                 c:type="GVirConfigDomainClockOffset">
      <member name="utc"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_CLOCK_UTC"
              glib:nick="utc">
      </member>
      <member name="localtime"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_CLOCK_LOCALTIME"
              glib:nick="localtime">
      </member>
      <member name="timezone"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_CLOCK_TIMEZONE"
              glib:nick="timezone">
      </member>
      <member name="variable"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_CLOCK_VARIABLE"
              glib:nick="variable">
      </member>
    </enumeration>
    <record name="DomainClockPrivate"
            c:type="GVirConfigDomainClockPrivate"
            disguised="1">
    </record>
    <class name="DomainConsole"
           c:symbol-prefix="domain_console"
           c:type="GVirConfigDomainConsole"
           parent="DomainChardev"
           glib:type-name="GVirConfigDomainConsole"
           glib:get-type="gvir_config_domain_console_get_type"
           glib:type-struct="DomainConsoleClass">
      <constructor name="new" c:identifier="gvir_config_domain_console_new">
        <return-value transfer-ownership="full">
          <type name="DomainConsole" c:type="GVirConfigDomainConsole*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_console_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainConsole" c:type="GVirConfigDomainConsole*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_target_type"
              c:identifier="gvir_config_domain_console_set_target_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="console" transfer-ownership="none">
            <type name="DomainConsole" c:type="GVirConfigDomainConsole*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainConsoleTargetType"
                  c:type="GVirConfigDomainConsoleTargetType"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainChardev" c:type="GVirConfigDomainChardev"/>
      </field>
      <field name="priv">
        <type name="DomainConsolePrivate"
              c:type="GVirConfigDomainConsolePrivate*"/>
      </field>
    </class>
    <record name="DomainConsoleClass"
            c:type="GVirConfigDomainConsoleClass"
            glib:is-gtype-struct-for="DomainConsole">
      <field name="parent_class">
        <type name="DomainChardevClass" c:type="GVirConfigDomainChardevClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainConsolePrivate"
            c:type="GVirConfigDomainConsolePrivate"
            disguised="1">
    </record>
    <enumeration name="DomainConsoleTargetType"
                 glib:type-name="GVirConfigDomainConsoleTargetType"
                 glib:get-type="gvir_config_domain_console_target_type_get_type"
                 c:type="GVirConfigDomainConsoleTargetType">
      <member name="xen"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_CONSOLE_TARGET_XEN"
              glib:nick="xen">
      </member>
      <member name="serial"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_CONSOLE_TARGET_SERIAL"
              glib:nick="serial">
      </member>
      <member name="uml"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_CONSOLE_TARGET_UML"
              glib:nick="uml">
      </member>
      <member name="virtio"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_CONSOLE_TARGET_VIRTIO"
              glib:nick="virtio">
      </member>
      <member name="lxc"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_CONSOLE_TARGET_LXC"
              glib:nick="lxc">
      </member>
      <member name="openvz"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_CONSOLE_TARGET_OPENVZ"
              glib:nick="openvz">
      </member>
    </enumeration>
    <class name="DomainController"
           c:symbol-prefix="domain_controller"
           c:type="GVirConfigDomainController"
           parent="DomainDevice"
           abstract="1"
           glib:type-name="GVirConfigDomainController"
           glib:get-type="gvir_config_domain_controller_get_type"
           glib:type-struct="DomainControllerClass">
      <method name="get_index"
              c:identifier="gvir_config_domain_controller_get_index">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="controller" transfer-ownership="none">
            <type name="DomainController"
                  c:type="GVirConfigDomainController*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_address"
              c:identifier="gvir_config_domain_controller_set_address">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="controller" transfer-ownership="none">
            <type name="DomainController"
                  c:type="GVirConfigDomainController*"/>
          </instance-parameter>
          <parameter name="address" transfer-ownership="none" allow-none="1">
            <type name="DomainAddress" c:type="GVirConfigDomainAddress*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_index"
              c:identifier="gvir_config_domain_controller_set_index">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="controller" transfer-ownership="none">
            <type name="DomainController"
                  c:type="GVirConfigDomainController*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainControllerPrivate"
              c:type="GVirConfigDomainControllerPrivate*"/>
      </field>
    </class>
    <record name="DomainControllerClass"
            c:type="GVirConfigDomainControllerClass"
            glib:is-gtype-struct-for="DomainController">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainControllerPrivate"
            c:type="GVirConfigDomainControllerPrivate"
            disguised="1">
    </record>
    <class name="DomainControllerUsb"
           c:symbol-prefix="domain_controller_usb"
           c:type="GVirConfigDomainControllerUsb"
           parent="DomainController"
           glib:type-name="GVirConfigDomainControllerUsb"
           glib:get-type="gvir_config_domain_controller_usb_get_type"
           glib:type-struct="DomainControllerUsbClass">
      <doc xml:space="preserve">The #GVirConfigDomainControllerUsb struct is an opaque data structure
which is used to configure USB controllers on a domain. It should only
be accessed via the following functions.</doc>
      <constructor name="new"
                   c:identifier="gvir_config_domain_controller_usb_new">
        <doc xml:space="preserve">Creates a new #GVirConfigDomainControllerUsb with a reference count of 1.
gvir_config_domain_controller_set_index() must be called before
this controller is usable.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GVirConfigDomainControllerUsb</doc>
          <type name="DomainControllerUsb"
                c:type="GVirConfigDomainControllerUsb*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_controller_usb_new_from_xml"
                   throws="1">
        <doc xml:space="preserve">Creates a new #GVirConfigDomainControllerUsb with a reference count of 1.
The controller object will be created using the XML description stored
in @xml. This is a fragment of libvirt domain XML whose root node is
&amp;lt;controller&amp;gt;.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GVirConfigDomainControllerUsb, or NULL if @xml failed to be parsed.</doc>
          <type name="DomainControllerUsb"
                c:type="GVirConfigDomainControllerUsb*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <doc xml:space="preserve">xml data to create the controller from</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_master"
              c:identifier="gvir_config_domain_controller_usb_set_master">
        <doc xml:space="preserve">Sets @controller to be a companion controller of @master. @controller
will be exposed from port @startport on @master in the guest.
After this call, @controller's index will be set to @master's index.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="controller" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainControllerUsb</doc>
            <type name="DomainControllerUsb"
                  c:type="GVirConfigDomainControllerUsb*"/>
          </instance-parameter>
          <parameter name="master" transfer-ownership="none">
            <doc xml:space="preserve">the master #GVirConfigDomainControllerUsb</doc>
            <type name="DomainControllerUsb"
                  c:type="GVirConfigDomainControllerUsb*"/>
          </parameter>
          <parameter name="startport" transfer-ownership="none">
            <doc xml:space="preserve">the start port number</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model"
              c:identifier="gvir_config_domain_controller_usb_set_model">
        <doc xml:space="preserve">Sets the model of @controller to @model.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="controller" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainControllerUsb</doc>
            <type name="DomainControllerUsb"
                  c:type="GVirConfigDomainControllerUsb*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve">the USB controller model</doc>
            <type name="DomainControllerUsbModel"
                  c:type="GVirConfigDomainControllerUsbModel"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainController" c:type="GVirConfigDomainController"/>
      </field>
      <field name="priv">
        <type name="DomainControllerUsbPrivate"
              c:type="GVirConfigDomainControllerUsbPrivate*"/>
      </field>
    </class>
    <record name="DomainControllerUsbClass"
            c:type="GVirConfigDomainControllerUsbClass"
            glib:is-gtype-struct-for="DomainControllerUsb">
      <field name="parent_class">
        <type name="DomainControllerClass"
              c:type="GVirConfigDomainControllerClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainControllerUsbModel"
                 glib:type-name="GVirConfigDomainControllerUsbModel"
                 glib:get-type="gvir_config_domain_controller_usb_model_get_type"
                 c:type="GVirConfigDomainControllerUsbModel">
      <member name="piix3_uhci"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_CONTROLLER_USB_MODEL_PIIX3_UHCI"
              glib:nick="piix3-uhci">
      </member>
      <member name="piix4_uhci"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_CONTROLLER_USB_MODEL_PIIX4_UHCI"
              glib:nick="piix4-uhci">
      </member>
      <member name="ehci"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_CONTROLLER_USB_MODEL_EHCI"
              glib:nick="ehci">
      </member>
      <member name="ich9_ehci1"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_CONTROLLER_USB_MODEL_ICH9_EHCI1"
              glib:nick="ich9-ehci1">
      </member>
      <member name="ich9_uhci1"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_CONTROLLER_USB_MODEL_ICH9_UHCI1"
              glib:nick="ich9-uhci1">
      </member>
      <member name="ich9_uhci2"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_CONTROLLER_USB_MODEL_ICH9_UHCI2"
              glib:nick="ich9-uhci2">
      </member>
      <member name="ich9_uhci3"
              value="6"
              c:identifier="GVIR_CONFIG_DOMAIN_CONTROLLER_USB_MODEL_ICH9_UHCI3"
              glib:nick="ich9-uhci3">
      </member>
      <member name="vt82c686b_uhci"
              value="7"
              c:identifier="GVIR_CONFIG_DOMAIN_CONTROLLER_USB_MODEL_VT82C686B_UHCI"
              glib:nick="vt82c686b-uhci">
      </member>
      <member name="pci_ohci"
              value="8"
              c:identifier="GVIR_CONFIG_DOMAIN_CONTROLLER_USB_MODEL_PCI_OHCI"
              glib:nick="pci-ohci">
      </member>
    </enumeration>
    <record name="DomainControllerUsbPrivate"
            c:type="GVirConfigDomainControllerUsbPrivate"
            disguised="1">
    </record>
    <class name="DomainCpu"
           c:symbol-prefix="domain_cpu"
           c:type="GVirConfigDomainCpu"
           parent="CapabilitiesCpu"
           glib:type-name="GVirConfigDomainCpu"
           glib:get-type="gvir_config_domain_cpu_get_type"
           glib:type-struct="DomainCpuClass">
      <constructor name="new" c:identifier="gvir_config_domain_cpu_new">
        <return-value transfer-ownership="full">
          <type name="DomainCpu" c:type="GVirConfigDomainCpu*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_cpu_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainCpu" c:type="GVirConfigDomainCpu*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_match_policy"
              c:identifier="gvir_config_domain_cpu_get_match_policy">
        <return-value transfer-ownership="none">
          <type name="DomainCpuMatchPolicy"
                c:type="GVirConfigDomainCpuMatchPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="DomainCpu" c:type="GVirConfigDomainCpu*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode" c:identifier="gvir_config_domain_cpu_get_mode">
        <return-value transfer-ownership="none">
          <type name="DomainCpuMode" c:type="GVirConfigDomainCpuMode"/>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="DomainCpu" c:type="GVirConfigDomainCpu*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_match_policy"
              c:identifier="gvir_config_domain_cpu_set_match_policy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="DomainCpu" c:type="GVirConfigDomainCpu*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <type name="DomainCpuMatchPolicy"
                  c:type="GVirConfigDomainCpuMatchPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mode" c:identifier="gvir_config_domain_cpu_set_mode">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cpu" transfer-ownership="none">
            <type name="DomainCpu" c:type="GVirConfigDomainCpu*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="DomainCpuMode" c:type="GVirConfigDomainCpuMode"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="CapabilitiesCpu" c:type="GVirConfigCapabilitiesCpu"/>
      </field>
      <field name="priv">
        <type name="DomainCpuPrivate" c:type="GVirConfigDomainCpuPrivate*"/>
      </field>
    </class>
    <record name="DomainCpuClass"
            c:type="GVirConfigDomainCpuClass"
            glib:is-gtype-struct-for="DomainCpu">
      <field name="parent_class">
        <type name="CapabilitiesCpuClass"
              c:type="GVirConfigCapabilitiesCpuClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="DomainCpuFeature"
           c:symbol-prefix="domain_cpu_feature"
           c:type="GVirConfigDomainCpuFeature"
           parent="CapabilitiesCpuFeature"
           glib:type-name="GVirConfigDomainCpuFeature"
           glib:get-type="gvir_config_domain_cpu_feature_get_type"
           glib:type-struct="DomainCpuFeatureClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_cpu_feature_new">
        <return-value transfer-ownership="full">
          <type name="DomainCpuFeature" c:type="GVirConfigDomainCpuFeature*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_cpu_feature_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainCpuFeature" c:type="GVirConfigDomainCpuFeature*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_policy"
              c:identifier="gvir_config_domain_cpu_feature_get_policy">
        <return-value transfer-ownership="none">
          <type name="DomainCpuFeaturePolicy"
                c:type="GVirConfigDomainCpuFeaturePolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="feature" transfer-ownership="none">
            <type name="DomainCpuFeature"
                  c:type="GVirConfigDomainCpuFeature*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_policy"
              c:identifier="gvir_config_domain_cpu_feature_set_policy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="feature" transfer-ownership="none">
            <type name="DomainCpuFeature"
                  c:type="GVirConfigDomainCpuFeature*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <type name="DomainCpuFeaturePolicy"
                  c:type="GVirConfigDomainCpuFeaturePolicy"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="CapabilitiesCpu" c:type="GVirConfigCapabilitiesCpu"/>
      </field>
      <field name="priv">
        <type name="DomainCpuFeaturePrivate"
              c:type="GVirConfigDomainCpuFeaturePrivate*"/>
      </field>
    </class>
    <record name="DomainCpuFeatureClass"
            c:type="GVirConfigDomainCpuFeatureClass"
            glib:is-gtype-struct-for="DomainCpuFeature">
      <field name="parent_class">
        <type name="CapabilitiesCpuClass"
              c:type="GVirConfigCapabilitiesCpuClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainCpuFeaturePolicy"
                 glib:type-name="GVirConfigDomainCpuFeaturePolicy"
                 glib:get-type="gvir_config_domain_cpu_feature_policy_get_type"
                 c:type="GVirConfigDomainCpuFeaturePolicy">
      <member name="force"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_FEATURE_POLICY_FORCE"
              glib:nick="force">
      </member>
      <member name="require"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_FEATURE_POLICY_REQUIRE"
              glib:nick="require">
      </member>
      <member name="optional"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_FEATURE_POLICY_OPTIONAL"
              glib:nick="optional">
      </member>
      <member name="disable"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_FEATURE_POLICY_DISABLE"
              glib:nick="disable">
      </member>
      <member name="forbid"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_FEATURE_POLICY_FORBID"
              glib:nick="forbid">
      </member>
    </enumeration>
    <record name="DomainCpuFeaturePrivate"
            c:type="GVirConfigDomainCpuFeaturePrivate"
            disguised="1">
    </record>
    <enumeration name="DomainCpuMatchPolicy"
                 glib:type-name="GVirConfigDomainCpuMatchPolicy"
                 glib:get-type="gvir_config_domain_cpu_match_policy_get_type"
                 c:type="GVirConfigDomainCpuMatchPolicy">
      <member name="minimum"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_MATCH_POLICY_MINIMUM"
              glib:nick="minimum">
      </member>
      <member name="exact"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_MATCH_POLICY_EXACT"
              glib:nick="exact">
      </member>
      <member name="strict"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_MATCH_POLICY_STRICT"
              glib:nick="strict">
      </member>
    </enumeration>
    <enumeration name="DomainCpuMode"
                 glib:type-name="GVirConfigDomainCpuMode"
                 glib:get-type="gvir_config_domain_cpu_mode_get_type"
                 c:type="GVirConfigDomainCpuMode">
      <member name="custom"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_MODE_CUSTOM"
              glib:nick="custom">
      </member>
      <member name="host_model"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_MODE_HOST_MODEL"
              glib:nick="host-model">
      </member>
      <member name="host_passthrough"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_CPU_MODE_HOST_PASSTHROUGH"
              glib:nick="host-passthrough">
      </member>
    </enumeration>
    <record name="DomainCpuPrivate"
            c:type="GVirConfigDomainCpuPrivate"
            disguised="1">
    </record>
    <class name="DomainDevice"
           c:symbol-prefix="domain_device"
           c:type="GVirConfigDomainDevice"
           parent="Object"
           abstract="1"
           glib:type-name="GVirConfigDomainDevice"
           glib:get-type="gvir_config_domain_device_get_type"
           glib:type-struct="DomainDeviceClass">
      <method name="get_alias"
              c:identifier="gvir_config_domain_device_get_alias">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="dev" transfer-ownership="none">
            <type name="DomainDevice" c:type="GVirConfigDomainDevice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainDevicePrivate"
              c:type="GVirConfigDomainDevicePrivate*"/>
      </field>
    </class>
    <record name="DomainDeviceClass"
            c:type="GVirConfigDomainDeviceClass"
            glib:is-gtype-struct-for="DomainDevice">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainDevicePrivate"
            c:type="GVirConfigDomainDevicePrivate"
            disguised="1">
    </record>
    <class name="DomainDisk"
           c:symbol-prefix="domain_disk"
           c:type="GVirConfigDomainDisk"
           parent="DomainDevice"
           glib:type-name="GVirConfigDomainDisk"
           glib:get-type="gvir_config_domain_disk_get_type"
           glib:type-struct="DomainDiskClass">
      <constructor name="new" c:identifier="gvir_config_domain_disk_new">
        <return-value transfer-ownership="full">
          <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_disk_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_disk_type"
              c:identifier="gvir_config_domain_disk_get_disk_type">
        <return-value transfer-ownership="none">
          <type name="DomainDiskType" c:type="GVirConfigDomainDiskType"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_driver_cache"
              c:identifier="gvir_config_domain_disk_get_driver_cache">
        <return-value transfer-ownership="none">
          <type name="DomainDiskCacheType"
                c:type="GVirConfigDomainDiskCacheType"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_driver_format"
              c:identifier="gvir_config_domain_disk_get_driver_format">
        <return-value transfer-ownership="none">
          <type name="DomainDiskFormat" c:type="GVirConfigDomainDiskFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_driver_name"
              c:identifier="gvir_config_domain_disk_get_driver_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_driver_type"
              c:identifier="gvir_config_domain_disk_get_driver_type"
              deprecated="Use gvir_config_domain_disk_get_driver_format() instead"
              deprecated-version="0.1.7">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_guest_device_type"
              c:identifier="gvir_config_domain_disk_get_guest_device_type">
        <return-value transfer-ownership="none">
          <type name="DomainDiskGuestDeviceType"
                c:type="GVirConfigDomainDiskGuestDeviceType"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_snapshot_type"
              c:identifier="gvir_config_domain_disk_get_snapshot_type">
        <return-value transfer-ownership="none">
          <type name="DomainDiskSnapshotType"
                c:type="GVirConfigDomainDiskSnapshotType"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source"
              c:identifier="gvir_config_domain_disk_get_source">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_startup_policy"
              c:identifier="gvir_config_domain_disk_get_startup_policy">
        <return-value transfer-ownership="none">
          <type name="DomainDiskStartupPolicy"
                c:type="GVirConfigDomainDiskStartupPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_target_bus"
              c:identifier="gvir_config_domain_disk_get_target_bus">
        <return-value transfer-ownership="none">
          <type name="DomainDiskBus" c:type="GVirConfigDomainDiskBus"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_target_dev"
              c:identifier="gvir_config_domain_disk_get_target_dev">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_driver_cache"
              c:identifier="gvir_config_domain_disk_set_driver_cache">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="cache_type" transfer-ownership="none">
            <type name="DomainDiskCacheType"
                  c:type="GVirConfigDomainDiskCacheType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_driver_format"
              c:identifier="gvir_config_domain_disk_set_driver_format">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="DomainDiskFormat" c:type="GVirConfigDomainDiskFormat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_driver_name"
              c:identifier="gvir_config_domain_disk_set_driver_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="driver_name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_driver_type"
              c:identifier="gvir_config_domain_disk_set_driver_type"
              deprecated="Use gvir_config_domain_disk_set_driver_format() instead"
              deprecated-version="0.1.7">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="driver_type" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_guest_device_type"
              c:identifier="gvir_config_domain_disk_set_guest_device_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainDiskGuestDeviceType"
                  c:type="GVirConfigDomainDiskGuestDeviceType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_readonly"
              c:identifier="gvir_config_domain_disk_set_readonly">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="readonly" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_snapshot_type"
              c:identifier="gvir_config_domain_disk_set_snapshot_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainDiskSnapshotType"
                  c:type="GVirConfigDomainDiskSnapshotType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source"
              c:identifier="gvir_config_domain_disk_set_source">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_startup_policy"
              c:identifier="gvir_config_domain_disk_set_startup_policy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <type name="DomainDiskStartupPolicy"
                  c:type="GVirConfigDomainDiskStartupPolicy"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_target_bus"
              c:identifier="gvir_config_domain_disk_set_target_bus">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="bus" transfer-ownership="none">
            <type name="DomainDiskBus" c:type="GVirConfigDomainDiskBus"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_target_dev"
              c:identifier="gvir_config_domain_disk_set_target_dev">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="dev" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_type" c:identifier="gvir_config_domain_disk_set_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainDisk" c:type="GVirConfigDomainDisk*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainDiskType" c:type="GVirConfigDomainDiskType"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainDiskPrivate" c:type="GVirConfigDomainDiskPrivate*"/>
      </field>
    </class>
    <enumeration name="DomainDiskBus"
                 glib:type-name="GVirConfigDomainDiskBus"
                 glib:get-type="gvir_config_domain_disk_bus_get_type"
                 c:type="GVirConfigDomainDiskBus">
      <member name="ide"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_BUS_IDE"
              glib:nick="ide">
      </member>
      <member name="fdc"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_BUS_FDC"
              glib:nick="fdc">
      </member>
      <member name="scsi"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_BUS_SCSI"
              glib:nick="scsi">
      </member>
      <member name="virtio"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_BUS_VIRTIO"
              glib:nick="virtio">
      </member>
      <member name="xen"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_BUS_XEN"
              glib:nick="xen">
      </member>
      <member name="usb"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_BUS_USB"
              glib:nick="usb">
      </member>
      <member name="uml"
              value="6"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_BUS_UML"
              glib:nick="uml">
      </member>
      <member name="sata"
              value="7"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_BUS_SATA"
              glib:nick="sata">
      </member>
    </enumeration>
    <enumeration name="DomainDiskCacheType"
                 glib:type-name="GVirConfigDomainDiskCacheType"
                 glib:get-type="gvir_config_domain_disk_cache_type_get_type"
                 c:type="GVirConfigDomainDiskCacheType">
      <member name="default"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_CACHE_DEFAULT"
              glib:nick="default">
      </member>
      <member name="none"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_CACHE_NONE"
              glib:nick="none">
      </member>
      <member name="writethrough"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_CACHE_WRITETHROUGH"
              glib:nick="writethrough">
      </member>
      <member name="writeback"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_CACHE_WRITEBACK"
              glib:nick="writeback">
      </member>
      <member name="directsync"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_CACHE_DIRECTSYNC"
              glib:nick="directsync">
      </member>
      <member name="unsafe"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_CACHE_UNSAFE"
              glib:nick="unsafe">
      </member>
    </enumeration>
    <record name="DomainDiskClass"
            c:type="GVirConfigDomainDiskClass"
            glib:is-gtype-struct-for="DomainDisk">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainDiskFormat"
                 glib:type-name="GVirConfigDomainDiskFormat"
                 glib:get-type="gvir_config_domain_disk_format_get_type"
                 c:type="GVirConfigDomainDiskFormat">
      <member name="raw"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_RAW"
              glib:nick="raw">
      </member>
      <member name="dir"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_DIR"
              glib:nick="dir">
      </member>
      <member name="bochs"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_BOCHS"
              glib:nick="bochs">
      </member>
      <member name="cloop"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_CLOOP"
              glib:nick="cloop">
      </member>
      <member name="cow"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_COW"
              glib:nick="cow">
      </member>
      <member name="dmg"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_DMG"
              glib:nick="dmg">
      </member>
      <member name="iso"
              value="6"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_ISO"
              glib:nick="iso">
      </member>
      <member name="qcow"
              value="7"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_QCOW"
              glib:nick="qcow">
      </member>
      <member name="qcow2"
              value="8"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_QCOW2"
              glib:nick="qcow2">
      </member>
      <member name="qed"
              value="9"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_QED"
              glib:nick="qed">
      </member>
      <member name="vmdk"
              value="10"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_VMDK"
              glib:nick="vmdk">
      </member>
      <member name="vpc"
              value="11"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_VPC"
              glib:nick="vpc">
      </member>
      <member name="fat"
              value="12"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_FAT"
              glib:nick="fat">
      </member>
      <member name="vhd"
              value="13"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FORMAT_VHD"
              glib:nick="vhd">
      </member>
    </enumeration>
    <enumeration name="DomainDiskGuestDeviceType"
                 glib:type-name="GVirConfigDomainDiskGuestDeviceType"
                 glib:get-type="gvir_config_domain_disk_guest_device_type_get_type"
                 c:type="GVirConfigDomainDiskGuestDeviceType">
      <member name="disk"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_GUEST_DEVICE_DISK"
              glib:nick="disk">
      </member>
      <member name="floppy"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_GUEST_DEVICE_FLOPPY"
              glib:nick="floppy">
      </member>
      <member name="cdrom"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_GUEST_DEVICE_CDROM"
              glib:nick="cdrom">
      </member>
    </enumeration>
    <record name="DomainDiskPrivate"
            c:type="GVirConfigDomainDiskPrivate"
            disguised="1">
    </record>
    <enumeration name="DomainDiskSnapshotType"
                 glib:type-name="GVirConfigDomainDiskSnapshotType"
                 glib:get-type="gvir_config_domain_disk_snapshot_type_get_type"
                 c:type="GVirConfigDomainDiskSnapshotType">
      <member name="no"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_SNAPSHOT_NO"
              glib:nick="no">
      </member>
      <member name="internal"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_SNAPSHOT_INTERNAL"
              glib:nick="internal">
      </member>
      <member name="external"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_SNAPSHOT_EXTERNAL"
              glib:nick="external">
      </member>
    </enumeration>
    <enumeration name="DomainDiskStartupPolicy"
                 glib:type-name="GVirConfigDomainDiskStartupPolicy"
                 glib:get-type="gvir_config_domain_disk_startup_policy_get_type"
                 c:type="GVirConfigDomainDiskStartupPolicy">
      <member name="mandatory"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_STARTUP_POLICY_MANDATORY"
              glib:nick="mandatory">
      </member>
      <member name="requisite"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_STARTUP_POLICY_REQUISITE"
              glib:nick="requisite">
      </member>
      <member name="optional"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_STARTUP_POLICY_OPTIONAL"
              glib:nick="optional">
      </member>
    </enumeration>
    <enumeration name="DomainDiskType"
                 glib:type-name="GVirConfigDomainDiskType"
                 glib:get-type="gvir_config_domain_disk_type_get_type"
                 c:type="GVirConfigDomainDiskType">
      <member name="file"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_FILE"
              glib:nick="file">
      </member>
      <member name="block"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_BLOCK"
              glib:nick="block">
      </member>
      <member name="dir"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_DIR"
              glib:nick="dir">
      </member>
      <member name="network"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_DISK_NETWORK"
              glib:nick="network">
      </member>
    </enumeration>
    <class name="DomainFilesys"
           c:symbol-prefix="domain_filesys"
           c:type="GVirConfigDomainFilesys"
           parent="DomainDevice"
           glib:type-name="GVirConfigDomainFilesys"
           glib:get-type="gvir_config_domain_filesys_get_type"
           glib:type-struct="DomainFilesysClass">
      <constructor name="new" c:identifier="gvir_config_domain_filesys_new">
        <return-value transfer-ownership="full">
          <type name="DomainFilesys" c:type="GVirConfigDomainFilesys*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_filesys_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainFilesys" c:type="GVirConfigDomainFilesys*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_access_type"
              c:identifier="gvir_config_domain_filesys_set_access_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="filesys" transfer-ownership="none">
            <type name="DomainFilesys" c:type="GVirConfigDomainFilesys*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainFilesysAccessType"
                  c:type="GVirConfigDomainFilesysAccessType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_driver_type"
              c:identifier="gvir_config_domain_filesys_set_driver_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="filesys" transfer-ownership="none">
            <type name="DomainFilesys" c:type="GVirConfigDomainFilesys*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainFilesysDriverType"
                  c:type="GVirConfigDomainFilesysDriverType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_ram_usage"
              c:identifier="gvir_config_domain_filesys_set_ram_usage">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="filesys" transfer-ownership="none">
            <type name="DomainFilesys" c:type="GVirConfigDomainFilesys*"/>
          </instance-parameter>
          <parameter name="bytes" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_readonly"
              c:identifier="gvir_config_domain_filesys_set_readonly">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="filesys" transfer-ownership="none">
            <type name="DomainFilesys" c:type="GVirConfigDomainFilesys*"/>
          </instance-parameter>
          <parameter name="readonly" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source"
              c:identifier="gvir_config_domain_filesys_set_source">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="filesys" transfer-ownership="none">
            <type name="DomainFilesys" c:type="GVirConfigDomainFilesys*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_target"
              c:identifier="gvir_config_domain_filesys_set_target">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="filesys" transfer-ownership="none">
            <type name="DomainFilesys" c:type="GVirConfigDomainFilesys*"/>
          </instance-parameter>
          <parameter name="target" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_type"
              c:identifier="gvir_config_domain_filesys_set_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="filesys" transfer-ownership="none">
            <type name="DomainFilesys" c:type="GVirConfigDomainFilesys*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainFilesysType"
                  c:type="GVirConfigDomainFilesysType"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainFilesysPrivate"
              c:type="GVirConfigDomainFilesysPrivate*"/>
      </field>
    </class>
    <enumeration name="DomainFilesysAccessType"
                 glib:type-name="GVirConfigDomainFilesysAccessType"
                 glib:get-type="gvir_config_domain_filesys_access_type_get_type"
                 c:type="GVirConfigDomainFilesysAccessType">
      <member name="passthrough"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_ACCESS_PASSTHROUGH"
              glib:nick="passthrough">
      </member>
      <member name="mapped"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_ACCESS_MAPPED"
              glib:nick="mapped">
      </member>
      <member name="squash"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_ACCESS_SQUASH"
              glib:nick="squash">
      </member>
    </enumeration>
    <record name="DomainFilesysClass"
            c:type="GVirConfigDomainFilesysClass"
            glib:is-gtype-struct-for="DomainFilesys">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainFilesysDriverType"
                 glib:type-name="GVirConfigDomainFilesysDriverType"
                 glib:get-type="gvir_config_domain_filesys_driver_type_get_type"
                 c:type="GVirConfigDomainFilesysDriverType">
      <member name="default"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_DRIVER_DEFAULT"
              glib:nick="default">
      </member>
      <member name="path"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_DRIVER_PATH"
              glib:nick="path">
      </member>
      <member name="handle"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_DRIVER_HANDLE"
              glib:nick="handle">
      </member>
    </enumeration>
    <record name="DomainFilesysPrivate"
            c:type="GVirConfigDomainFilesysPrivate"
            disguised="1">
    </record>
    <enumeration name="DomainFilesysType"
                 glib:type-name="GVirConfigDomainFilesysType"
                 glib:get-type="gvir_config_domain_filesys_type_get_type"
                 c:type="GVirConfigDomainFilesysType">
      <member name="mount"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_MOUNT"
              glib:nick="mount">
      </member>
      <member name="block"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_BLOCK"
              glib:nick="block">
      </member>
      <member name="file"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_FILE"
              glib:nick="file">
      </member>
      <member name="template"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_TEMPLATE"
              glib:nick="template">
      </member>
      <member name="ram"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_RAM"
              glib:nick="ram">
      </member>
      <member name="bind"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_FILESYS_BIND"
              glib:nick="bind">
      </member>
    </enumeration>
    <class name="DomainGraphics"
           c:symbol-prefix="domain_graphics"
           c:type="GVirConfigDomainGraphics"
           parent="DomainDevice"
           abstract="1"
           glib:type-name="GVirConfigDomainGraphics"
           glib:get-type="gvir_config_domain_graphics_get_type"
           glib:type-struct="DomainGraphicsClass">
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainGraphicsPrivate"
              c:type="GVirConfigDomainGraphicsPrivate*"/>
      </field>
    </class>
    <record name="DomainGraphicsClass"
            c:type="GVirConfigDomainGraphicsClass"
            glib:is-gtype-struct-for="DomainGraphics">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="DomainGraphicsDesktop"
           c:symbol-prefix="domain_graphics_desktop"
           c:type="GVirConfigDomainGraphicsDesktop"
           parent="DomainGraphics"
           glib:type-name="GVirConfigDomainGraphicsDesktop"
           glib:get-type="gvir_config_domain_graphics_desktop_get_type"
           glib:type-struct="DomainGraphicsDesktopClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_graphics_desktop_new">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsDesktop"
                c:type="GVirConfigDomainGraphicsDesktop*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_graphics_desktop_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsDesktop"
                c:type="GVirConfigDomainGraphicsDesktop*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_display"
              c:identifier="gvir_config_domain_graphics_desktop_set_display">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsDesktop"
                  c:type="GVirConfigDomainGraphicsDesktop*"/>
          </instance-parameter>
          <parameter name="disp" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fullscreen"
              c:identifier="gvir_config_domain_graphics_desktop_set_fullscreen">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsDesktop"
                  c:type="GVirConfigDomainGraphicsDesktop*"/>
          </instance-parameter>
          <parameter name="fullscreen" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainGraphics" c:type="GVirConfigDomainGraphics"/>
      </field>
      <field name="priv">
        <type name="DomainGraphicsDesktopPrivate"
              c:type="GVirConfigDomainGraphicsDesktopPrivate*"/>
      </field>
    </class>
    <record name="DomainGraphicsDesktopClass"
            c:type="GVirConfigDomainGraphicsDesktopClass"
            glib:is-gtype-struct-for="DomainGraphicsDesktop">
      <field name="parent_class">
        <type name="DomainGraphicsClass"
              c:type="GVirConfigDomainGraphicsClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainGraphicsDesktopPrivate"
            c:type="GVirConfigDomainGraphicsDesktopPrivate"
            disguised="1">
    </record>
    <record name="DomainGraphicsPrivate"
            c:type="GVirConfigDomainGraphicsPrivate"
            disguised="1">
    </record>
    <class name="DomainGraphicsRdp"
           c:symbol-prefix="domain_graphics_rdp"
           c:type="GVirConfigDomainGraphicsRdp"
           parent="DomainGraphics"
           glib:type-name="GVirConfigDomainGraphicsRdp"
           glib:get-type="gvir_config_domain_graphics_rdp_get_type"
           glib:type-struct="DomainGraphicsRdpClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_graphics_rdp_new">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsRdp"
                c:type="GVirConfigDomainGraphicsRdp*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_graphics_rdp_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsRdp"
                c:type="GVirConfigDomainGraphicsRdp*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_port"
              c:identifier="gvir_config_domain_graphics_rdp_get_port">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsRdp"
                  c:type="GVirConfigDomainGraphicsRdp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_autoport"
              c:identifier="gvir_config_domain_graphics_rdp_set_autoport">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsRdp"
                  c:type="GVirConfigDomainGraphicsRdp*"/>
          </instance-parameter>
          <parameter name="autoport" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_multi_user"
              c:identifier="gvir_config_domain_graphics_rdp_set_multi_user">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsRdp"
                  c:type="GVirConfigDomainGraphicsRdp*"/>
          </instance-parameter>
          <parameter name="multi_user" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_port"
              c:identifier="gvir_config_domain_graphics_rdp_set_port">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsRdp"
                  c:type="GVirConfigDomainGraphicsRdp*"/>
          </instance-parameter>
          <parameter name="port" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_replace_user"
              c:identifier="gvir_config_domain_graphics_rdp_set_replace_user">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsRdp"
                  c:type="GVirConfigDomainGraphicsRdp*"/>
          </instance-parameter>
          <parameter name="replace_user" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainGraphics" c:type="GVirConfigDomainGraphics"/>
      </field>
      <field name="priv">
        <type name="DomainGraphicsRdpPrivate"
              c:type="GVirConfigDomainGraphicsRdpPrivate*"/>
      </field>
    </class>
    <record name="DomainGraphicsRdpClass"
            c:type="GVirConfigDomainGraphicsRdpClass"
            glib:is-gtype-struct-for="DomainGraphicsRdp">
      <field name="parent_class">
        <type name="DomainGraphicsClass"
              c:type="GVirConfigDomainGraphicsClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainGraphicsRdpPrivate"
            c:type="GVirConfigDomainGraphicsRdpPrivate"
            disguised="1">
    </record>
    <class name="DomainGraphicsSdl"
           c:symbol-prefix="domain_graphics_sdl"
           c:type="GVirConfigDomainGraphicsSdl"
           parent="DomainGraphics"
           glib:type-name="GVirConfigDomainGraphicsSdl"
           glib:get-type="gvir_config_domain_graphics_sdl_get_type"
           glib:type-struct="DomainGraphicsSdlClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_graphics_sdl_new">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsSdl"
                c:type="GVirConfigDomainGraphicsSdl*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_graphics_sdl_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsSdl"
                c:type="GVirConfigDomainGraphicsSdl*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_display"
              c:identifier="gvir_config_domain_graphics_sdl_set_display">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsSdl"
                  c:type="GVirConfigDomainGraphicsSdl*"/>
          </instance-parameter>
          <parameter name="disp" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fullscreen"
              c:identifier="gvir_config_domain_graphics_sdl_set_fullscreen">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsSdl"
                  c:type="GVirConfigDomainGraphicsSdl*"/>
          </instance-parameter>
          <parameter name="fullscreen" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_xauthority"
              c:identifier="gvir_config_domain_graphics_sdl_set_xauthority">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsSdl"
                  c:type="GVirConfigDomainGraphicsSdl*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainGraphics" c:type="GVirConfigDomainGraphics"/>
      </field>
      <field name="priv">
        <type name="DomainGraphicsSdlPrivate"
              c:type="GVirConfigDomainGraphicsSdlPrivate*"/>
      </field>
    </class>
    <record name="DomainGraphicsSdlClass"
            c:type="GVirConfigDomainGraphicsSdlClass"
            glib:is-gtype-struct-for="DomainGraphicsSdl">
      <field name="parent_class">
        <type name="DomainGraphicsClass"
              c:type="GVirConfigDomainGraphicsClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainGraphicsSdlPrivate"
            c:type="GVirConfigDomainGraphicsSdlPrivate"
            disguised="1">
    </record>
    <class name="DomainGraphicsSpice"
           c:symbol-prefix="domain_graphics_spice"
           c:type="GVirConfigDomainGraphicsSpice"
           parent="DomainGraphics"
           glib:type-name="GVirConfigDomainGraphicsSpice"
           glib:get-type="gvir_config_domain_graphics_spice_get_type"
           glib:type-struct="DomainGraphicsSpiceClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_graphics_spice_new">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsSpice"
                c:type="GVirConfigDomainGraphicsSpice*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_graphics_spice_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsSpice"
                c:type="GVirConfigDomainGraphicsSpice*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_image_compression"
              c:identifier="gvir_config_domain_graphics_spice_get_image_compression">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">image compression configuration of @graphics</doc>
          <type name="DomainGraphicsSpiceImageCompression" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainGraphicsSpice</doc>
            <type name="DomainGraphicsSpice"
                  c:type="GVirConfigDomainGraphicsSpice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_port"
              c:identifier="gvir_config_domain_graphics_spice_get_port">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsSpice"
                  c:type="GVirConfigDomainGraphicsSpice*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_autoport"
              c:identifier="gvir_config_domain_graphics_spice_set_autoport">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsSpice"
                  c:type="GVirConfigDomainGraphicsSpice*"/>
          </instance-parameter>
          <parameter name="autoport" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_image_compression"
              c:identifier="gvir_config_domain_graphics_spice_set_image_compression">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsSpice"
                  c:type="GVirConfigDomainGraphicsSpice*"/>
          </instance-parameter>
          <parameter name="compression" transfer-ownership="none">
            <type name="DomainGraphicsSpiceImageCompression"
                  c:type="GVirConfigDomainGraphicsSpiceImageCompression"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password"
              c:identifier="gvir_config_domain_graphics_spice_set_password">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsSpice"
                  c:type="GVirConfigDomainGraphicsSpice*"/>
          </instance-parameter>
          <parameter name="password" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_port"
              c:identifier="gvir_config_domain_graphics_spice_set_port">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsSpice"
                  c:type="GVirConfigDomainGraphicsSpice*"/>
          </instance-parameter>
          <parameter name="port" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tls_port"
              c:identifier="gvir_config_domain_graphics_spice_set_tls_port">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsSpice"
                  c:type="GVirConfigDomainGraphicsSpice*"/>
          </instance-parameter>
          <parameter name="port" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainGraphics" c:type="GVirConfigDomainGraphics"/>
      </field>
      <field name="priv">
        <type name="DomainGraphicsSpicePrivate"
              c:type="GVirConfigDomainGraphicsSpicePrivate*"/>
      </field>
    </class>
    <record name="DomainGraphicsSpiceClass"
            c:type="GVirConfigDomainGraphicsSpiceClass"
            glib:is-gtype-struct-for="DomainGraphicsSpice">
      <field name="parent_class">
        <type name="DomainGraphicsClass"
              c:type="GVirConfigDomainGraphicsClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainGraphicsSpiceImageCompression"
                 glib:type-name="GVirConfigDomainGraphicsSpiceImageCompression"
                 glib:get-type="gvir_config_domain_graphics_spice_image_compression_get_type"
                 c:type="GVirConfigDomainGraphicsSpiceImageCompression">
      <member name="auto_glz"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_GRAPHICS_SPICE_IMAGE_COMPRESSION_AUTO_GLZ"
              glib:nick="auto_glz">
      </member>
      <member name="auto_lz"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_GRAPHICS_SPICE_IMAGE_COMPRESSION_AUTO_LZ"
              glib:nick="auto_lz">
      </member>
      <member name="quic"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_GRAPHICS_SPICE_IMAGE_COMPRESSION_QUIC"
              glib:nick="quic">
      </member>
      <member name="glz"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_GRAPHICS_SPICE_IMAGE_COMPRESSION_GLZ"
              glib:nick="glz">
      </member>
      <member name="lz"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_GRAPHICS_SPICE_IMAGE_COMPRESSION_LZ"
              glib:nick="lz">
      </member>
      <member name="off"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_GRAPHICS_SPICE_IMAGE_COMPRESSION_OFF"
              glib:nick="off">
      </member>
    </enumeration>
    <record name="DomainGraphicsSpicePrivate"
            c:type="GVirConfigDomainGraphicsSpicePrivate"
            disguised="1">
    </record>
    <class name="DomainGraphicsVnc"
           c:symbol-prefix="domain_graphics_vnc"
           c:type="GVirConfigDomainGraphicsVnc"
           parent="DomainGraphics"
           glib:type-name="GVirConfigDomainGraphicsVnc"
           glib:get-type="gvir_config_domain_graphics_vnc_get_type"
           glib:type-struct="DomainGraphicsVncClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_graphics_vnc_new">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsVnc"
                c:type="GVirConfigDomainGraphicsVnc*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_graphics_vnc_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainGraphicsVnc"
                c:type="GVirConfigDomainGraphicsVnc*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_port"
              c:identifier="gvir_config_domain_graphics_vnc_get_port">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsVnc"
                  c:type="GVirConfigDomainGraphicsVnc*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_socket"
              c:identifier="gvir_config_domain_graphics_vnc_get_socket">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsVnc"
                  c:type="GVirConfigDomainGraphicsVnc*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_autoport"
              c:identifier="gvir_config_domain_graphics_vnc_set_autoport">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsVnc"
                  c:type="GVirConfigDomainGraphicsVnc*"/>
          </instance-parameter>
          <parameter name="autoport" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_password"
              c:identifier="gvir_config_domain_graphics_vnc_set_password">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsVnc"
                  c:type="GVirConfigDomainGraphicsVnc*"/>
          </instance-parameter>
          <parameter name="password" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_port"
              c:identifier="gvir_config_domain_graphics_vnc_set_port">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsVnc"
                  c:type="GVirConfigDomainGraphicsVnc*"/>
          </instance-parameter>
          <parameter name="port" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_socket"
              c:identifier="gvir_config_domain_graphics_vnc_set_socket">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="graphics" transfer-ownership="none">
            <type name="DomainGraphicsVnc"
                  c:type="GVirConfigDomainGraphicsVnc*"/>
          </instance-parameter>
          <parameter name="socket" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainGraphics" c:type="GVirConfigDomainGraphics"/>
      </field>
      <field name="priv">
        <type name="DomainGraphicsVncPrivate"
              c:type="GVirConfigDomainGraphicsVncPrivate*"/>
      </field>
    </class>
    <record name="DomainGraphicsVncClass"
            c:type="GVirConfigDomainGraphicsVncClass"
            glib:is-gtype-struct-for="DomainGraphicsVnc">
      <field name="parent_class">
        <type name="DomainGraphicsClass"
              c:type="GVirConfigDomainGraphicsClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainGraphicsVncPrivate"
            c:type="GVirConfigDomainGraphicsVncPrivate"
            disguised="1">
    </record>
    <class name="DomainInput"
           c:symbol-prefix="domain_input"
           c:type="GVirConfigDomainInput"
           parent="DomainDevice"
           glib:type-name="GVirConfigDomainInput"
           glib:get-type="gvir_config_domain_input_get_type"
           glib:type-struct="DomainInputClass">
      <constructor name="new" c:identifier="gvir_config_domain_input_new">
        <return-value transfer-ownership="full">
          <type name="DomainInput" c:type="GVirConfigDomainInput*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_input_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainInput" c:type="GVirConfigDomainInput*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_bus" c:identifier="gvir_config_domain_input_set_bus">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="input" transfer-ownership="none">
            <type name="DomainInput" c:type="GVirConfigDomainInput*"/>
          </instance-parameter>
          <parameter name="bus" transfer-ownership="none">
            <type name="DomainInputBus" c:type="GVirConfigDomainInputBus"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_device_type"
              c:identifier="gvir_config_domain_input_set_device_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="input" transfer-ownership="none">
            <type name="DomainInput" c:type="GVirConfigDomainInput*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainInputDeviceType"
                  c:type="GVirConfigDomainInputDeviceType"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainInputPrivate"
              c:type="GVirConfigDomainInputPrivate*"/>
      </field>
    </class>
    <enumeration name="DomainInputBus"
                 glib:type-name="GVirConfigDomainInputBus"
                 glib:get-type="gvir_config_domain_input_bus_get_type"
                 c:type="GVirConfigDomainInputBus">
      <member name="ps2"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_INPUT_BUS_PS2"
              glib:nick="ps2">
      </member>
      <member name="usb"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_INPUT_BUS_USB"
              glib:nick="usb">
      </member>
      <member name="xen"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_INPUT_BUS_XEN"
              glib:nick="xen">
      </member>
    </enumeration>
    <record name="DomainInputClass"
            c:type="GVirConfigDomainInputClass"
            glib:is-gtype-struct-for="DomainInput">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainInputDeviceType"
                 glib:type-name="GVirConfigDomainInputDeviceType"
                 glib:get-type="gvir_config_domain_input_device_type_get_type"
                 c:type="GVirConfigDomainInputDeviceType">
      <member name="mouse"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_INPUT_DEVICE_MOUSE"
              glib:nick="mouse">
      </member>
      <member name="tablet"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_INPUT_DEVICE_TABLET"
              glib:nick="tablet">
      </member>
    </enumeration>
    <record name="DomainInputPrivate"
            c:type="GVirConfigDomainInputPrivate"
            disguised="1">
    </record>
    <class name="DomainInterface"
           c:symbol-prefix="domain_interface"
           c:type="GVirConfigDomainInterface"
           parent="DomainDevice"
           abstract="1"
           glib:type-name="GVirConfigDomainInterface"
           glib:get-type="gvir_config_domain_interface_get_type"
           glib:type-struct="DomainInterfaceClass">
      <method name="get_ifname"
              c:identifier="gvir_config_domain_interface_get_ifname">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterface" c:type="GVirConfigDomainInterface*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_link_state"
              c:identifier="gvir_config_domain_interface_get_link_state">
        <return-value transfer-ownership="none">
          <type name="DomainInterfaceLinkState"
                c:type="GVirConfigDomainInterfaceLinkState"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterface" c:type="GVirConfigDomainInterface*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mac"
              c:identifier="gvir_config_domain_interface_get_mac">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterface" c:type="GVirConfigDomainInterface*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_model"
              c:identifier="gvir_config_domain_interface_get_model">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterface" c:type="GVirConfigDomainInterface*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_ifname"
              c:identifier="gvir_config_domain_interface_set_ifname">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterface" c:type="GVirConfigDomainInterface*"/>
          </instance-parameter>
          <parameter name="ifname" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_link_state"
              c:identifier="gvir_config_domain_interface_set_link_state">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterface" c:type="GVirConfigDomainInterface*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="DomainInterfaceLinkState"
                  c:type="GVirConfigDomainInterfaceLinkState"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mac"
              c:identifier="gvir_config_domain_interface_set_mac">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterface" c:type="GVirConfigDomainInterface*"/>
          </instance-parameter>
          <parameter name="mac_address" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model"
              c:identifier="gvir_config_domain_interface_set_model">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterface" c:type="GVirConfigDomainInterface*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainInterfacePrivate"
              c:type="GVirConfigDomainInterfacePrivate*"/>
      </field>
    </class>
    <class name="DomainInterfaceBridge"
           c:symbol-prefix="domain_interface_bridge"
           c:type="GVirConfigDomainInterfaceBridge"
           parent="DomainInterface"
           glib:type-name="GVirConfigDomainInterfaceBridge"
           glib:get-type="gvir_config_domain_interface_bridge_get_type"
           glib:type-struct="DomainInterfaceBridgeClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_interface_bridge_new">
        <return-value transfer-ownership="full">
          <type name="DomainInterfaceBridge"
                c:type="GVirConfigDomainInterfaceBridge*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_interface_bridge_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainInterfaceBridge"
                c:type="GVirConfigDomainInterfaceBridge*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_source"
              c:identifier="gvir_config_domain_interface_bridge_set_source">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterfaceBridge"
                  c:type="GVirConfigDomainInterfaceBridge*"/>
          </instance-parameter>
          <parameter name="brname" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainInterface" c:type="GVirConfigDomainInterface"/>
      </field>
      <field name="priv">
        <type name="DomainInterfaceBridgePrivate"
              c:type="GVirConfigDomainInterfaceBridgePrivate*"/>
      </field>
    </class>
    <record name="DomainInterfaceBridgeClass"
            c:type="GVirConfigDomainInterfaceBridgeClass"
            glib:is-gtype-struct-for="DomainInterfaceBridge">
      <field name="parent_class">
        <type name="DomainInterfaceClass"
              c:type="GVirConfigDomainInterfaceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainInterfaceBridgePrivate"
            c:type="GVirConfigDomainInterfaceBridgePrivate"
            disguised="1">
    </record>
    <record name="DomainInterfaceClass"
            c:type="GVirConfigDomainInterfaceClass"
            glib:is-gtype-struct-for="DomainInterface">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainInterfaceLinkState"
                 glib:type-name="GVirConfigDomainInterfaceLinkState"
                 glib:get-type="gvir_config_domain_interface_link_state_get_type"
                 c:type="GVirConfigDomainInterfaceLinkState">
      <member name="default"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_INTERFACE_LINK_STATE_DEFAULT"
              glib:nick="default">
      </member>
      <member name="up"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_INTERFACE_LINK_STATE_UP"
              glib:nick="up">
      </member>
      <member name="down"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_INTERFACE_LINK_STATE_DOWN"
              glib:nick="down">
      </member>
    </enumeration>
    <class name="DomainInterfaceNetwork"
           c:symbol-prefix="domain_interface_network"
           c:type="GVirConfigDomainInterfaceNetwork"
           parent="DomainInterface"
           glib:type-name="GVirConfigDomainInterfaceNetwork"
           glib:get-type="gvir_config_domain_interface_network_get_type"
           glib:type-struct="DomainInterfaceNetworkClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_interface_network_new">
        <return-value transfer-ownership="full">
          <type name="DomainInterfaceNetwork"
                c:type="GVirConfigDomainInterfaceNetwork*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_interface_network_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainInterfaceNetwork"
                c:type="GVirConfigDomainInterfaceNetwork*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_source"
              c:identifier="gvir_config_domain_interface_network_set_source">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="interface" transfer-ownership="none">
            <type name="DomainInterfaceNetwork"
                  c:type="GVirConfigDomainInterfaceNetwork*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainInterface" c:type="GVirConfigDomainInterface"/>
      </field>
      <field name="priv">
        <type name="DomainInterfaceNetworkPrivate"
              c:type="GVirConfigDomainInterfaceNetworkPrivate*"/>
      </field>
    </class>
    <record name="DomainInterfaceNetworkClass"
            c:type="GVirConfigDomainInterfaceNetworkClass"
            glib:is-gtype-struct-for="DomainInterfaceNetwork">
      <field name="parent_class">
        <type name="DomainInterfaceClass"
              c:type="GVirConfigDomainInterfaceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainInterfaceNetworkPrivate"
            c:type="GVirConfigDomainInterfaceNetworkPrivate"
            disguised="1">
    </record>
    <record name="DomainInterfacePrivate"
            c:type="GVirConfigDomainInterfacePrivate"
            disguised="1">
    </record>
    <class name="DomainInterfaceUser"
           c:symbol-prefix="domain_interface_user"
           c:type="GVirConfigDomainInterfaceUser"
           parent="DomainInterface"
           glib:type-name="GVirConfigDomainInterfaceUser"
           glib:get-type="gvir_config_domain_interface_user_get_type"
           glib:type-struct="DomainInterfaceUserClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_interface_user_new">
        <return-value transfer-ownership="full">
          <type name="DomainInterfaceUser"
                c:type="GVirConfigDomainInterfaceUser*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_interface_user_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainInterfaceUser"
                c:type="GVirConfigDomainInterfaceUser*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="DomainInterface" c:type="GVirConfigDomainInterface"/>
      </field>
      <field name="priv">
        <type name="DomainInterfaceUserPrivate"
              c:type="GVirConfigDomainInterfaceUserPrivate*"/>
      </field>
    </class>
    <record name="DomainInterfaceUserClass"
            c:type="GVirConfigDomainInterfaceUserClass"
            glib:is-gtype-struct-for="DomainInterfaceUser">
      <field name="parent_class">
        <type name="DomainInterfaceClass"
              c:type="GVirConfigDomainInterfaceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainInterfaceUserPrivate"
            c:type="GVirConfigDomainInterfaceUserPrivate"
            disguised="1">
    </record>
    <enumeration name="DomainLifecycleAction"
                 glib:type-name="GVirConfigDomainLifecycleAction"
                 glib:get-type="gvir_config_domain_lifecycle_action_get_type"
                 c:type="GVirConfigDomainLifecycleAction">
      <member name="destroy"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_LIFECYCLE_DESTROY"
              glib:nick="destroy">
      </member>
      <member name="restart"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_LIFECYCLE_RESTART"
              glib:nick="restart">
      </member>
      <member name="preserve"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_LIFECYCLE_PRESERVE"
              glib:nick="preserve">
      </member>
      <member name="rename_restart"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_LIFECYCLE_RENAME_RESTART"
              glib:nick="rename-restart">
      </member>
      <member name="coredump_destroy"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_LIFECYCLE_COREDUMP_DESTROY"
              glib:nick="coredump-destroy">
      </member>
      <member name="coredump_restart"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_LIFECYCLE_COREDUMP_RESTART"
              glib:nick="coredump-restart">
      </member>
    </enumeration>
    <enumeration name="DomainLifecycleEvent"
                 glib:type-name="GVirConfigDomainLifecycleEvent"
                 glib:get-type="gvir_config_domain_lifecycle_event_get_type"
                 c:type="GVirConfigDomainLifecycleEvent">
      <member name="on_poweroff"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_LIFECYCLE_ON_POWEROFF"
              glib:nick="on_poweroff">
      </member>
      <member name="on_reboot"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_LIFECYCLE_ON_REBOOT"
              glib:nick="on_reboot">
      </member>
      <member name="on_crash"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_LIFECYCLE_ON_CRASH"
              glib:nick="on_crash">
      </member>
    </enumeration>
    <class name="DomainMemballoon"
           c:symbol-prefix="domain_memballoon"
           c:type="GVirConfigDomainMemballoon"
           parent="DomainDevice"
           glib:type-name="GVirConfigDomainMemballoon"
           glib:get-type="gvir_config_domain_memballoon_get_type"
           glib:type-struct="DomainMemballoonClass">
      <constructor name="new" c:identifier="gvir_config_domain_memballoon_new">
        <return-value transfer-ownership="full">
          <type name="DomainMemballoon" c:type="GVirConfigDomainMemballoon*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_memballoon_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainMemballoon" c:type="GVirConfigDomainMemballoon*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_model"
              c:identifier="gvir_config_domain_memballoon_set_model">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="memballoon" transfer-ownership="none">
            <type name="DomainMemballoon"
                  c:type="GVirConfigDomainMemballoon*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <type name="DomainMemballoonModel"
                  c:type="GVirConfigDomainMemballoonModel"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainMemballoonPrivate"
              c:type="GVirConfigDomainMemballoonPrivate*"/>
      </field>
    </class>
    <record name="DomainMemballoonClass"
            c:type="GVirConfigDomainMemballoonClass"
            glib:is-gtype-struct-for="DomainMemballoon">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainMemballoonModel"
                 glib:type-name="GVirConfigDomainMemballoonModel"
                 glib:get-type="gvir_config_domain_memballoon_model_get_type"
                 c:type="GVirConfigDomainMemballoonModel">
      <member name="none"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_MEMBALLOON_MODEL_NONE"
              glib:nick="none">
      </member>
      <member name="virtio"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_MEMBALLOON_MODEL_VIRTIO"
              glib:nick="virtio">
      </member>
    </enumeration>
    <record name="DomainMemballoonPrivate"
            c:type="GVirConfigDomainMemballoonPrivate"
            disguised="1">
    </record>
    <class name="DomainOs"
           c:symbol-prefix="domain_os"
           c:type="GVirConfigDomainOs"
           parent="Object"
           glib:type-name="GVirConfigDomainOs"
           glib:get-type="gvir_config_domain_os_get_type"
           glib:type-struct="DomainOsClass">
      <constructor name="new" c:identifier="gvir_config_domain_os_new">
        <return-value transfer-ownership="full">
          <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_os_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="bios_enable_serial"
              c:identifier="gvir_config_domain_os_bios_enable_serial">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="enable_boot_menu"
              c:identifier="gvir_config_domain_os_enable_boot_menu">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_arch" c:identifier="gvir_config_domain_os_get_arch">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_boot_devices"
              c:identifier="gvir_config_domain_os_get_boot_devices">
        <doc xml:space="preserve">Gets the list of devices attached to @os. The returned list should be
freed with g_list_free(), after its elements have been unreffed with
g_object_unref().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated #GList of #GVirConfigDomainOsBootDevice.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="DomainOsBootDevice"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainOs</doc>
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_os_type"
              c:identifier="gvir_config_domain_os_get_os_type">
        <return-value transfer-ownership="none">
          <type name="DomainOsType" c:type="GVirConfigDomainOsType"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_arch" c:identifier="gvir_config_domain_os_set_arch">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="arch" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_boot_devices"
              c:identifier="gvir_config_domain_os_set_boot_devices">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainOs</doc>
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="boot_devices" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="DomainOsBootDevice"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_cmdline"
              c:identifier="gvir_config_domain_os_set_cmdline">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainOs</doc>
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="cmdline" transfer-ownership="none" allow-none="1">
            <doc xml:space="preserve">The direct boot commandline</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_init" c:identifier="gvir_config_domain_os_set_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainOs</doc>
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="init" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_kernel"
              c:identifier="gvir_config_domain_os_set_kernel">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainOs</doc>
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="kernel" transfer-ownership="none" allow-none="1">
            <doc xml:space="preserve">The kernel path</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_loader"
              c:identifier="gvir_config_domain_os_set_loader">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainOs</doc>
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="loader" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_machine"
              c:identifier="gvir_config_domain_os_set_machine">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="machine" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_os_type"
              c:identifier="gvir_config_domain_os_set_os_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainOsType" c:type="GVirConfigDomainOsType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_ramdisk"
              c:identifier="gvir_config_domain_os_set_ramdisk">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainOs</doc>
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="ramdisk" transfer-ownership="none" allow-none="1">
            <doc xml:space="preserve">The ramdisk path</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_smbios_mode"
              c:identifier="gvir_config_domain_os_set_smbios_mode">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="os" transfer-ownership="none">
            <type name="DomainOs" c:type="GVirConfigDomainOs*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="DomainOsSmBiosMode"
                  c:type="GVirConfigDomainOsSmBiosMode"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainOsPrivate" c:type="GVirConfigDomainOsPrivate*"/>
      </field>
    </class>
    <enumeration name="DomainOsBootDevice"
                 glib:type-name="GVirConfigDomainOsBootDevice"
                 glib:get-type="gvir_config_domain_os_boot_device_get_type"
                 c:type="GVirConfigDomainOsBootDevice">
      <member name="fd"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_BOOT_DEVICE_FD"
              glib:nick="fd">
      </member>
      <member name="hd"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_BOOT_DEVICE_HD"
              glib:nick="hd">
      </member>
      <member name="cdrom"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_BOOT_DEVICE_CDROM"
              glib:nick="cdrom">
      </member>
      <member name="network"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_BOOT_DEVICE_NETWORK"
              glib:nick="network">
      </member>
    </enumeration>
    <record name="DomainOsClass"
            c:type="GVirConfigDomainOsClass"
            glib:is-gtype-struct-for="DomainOs">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainOsPrivate"
            c:type="GVirConfigDomainOsPrivate"
            disguised="1">
    </record>
    <enumeration name="DomainOsSmBiosMode"
                 glib:type-name="GVirConfigDomainOsSmBiosMode"
                 glib:get-type="gvir_config_domain_os_sm_bios_mode_get_type"
                 c:type="GVirConfigDomainOsSmBiosMode">
      <member name="emulate"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_SMBIOS_MODE_EMULATE"
              glib:nick="emulate">
      </member>
      <member name="host"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_SMBIOS_MODE_HOST"
              glib:nick="host">
      </member>
      <member name="sysinfo"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_SMBIOS_MODE_SYSINFO"
              glib:nick="sysinfo">
      </member>
    </enumeration>
    <enumeration name="DomainOsType"
                 glib:type-name="GVirConfigDomainOsType"
                 glib:get-type="gvir_config_domain_os_type_get_type"
                 c:type="GVirConfigDomainOsType">
      <member name="hvm"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_TYPE_HVM"
              glib:nick="hvm">
      </member>
      <member name="linux"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_TYPE_LINUX"
              glib:nick="linux">
      </member>
      <member name="exe"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_TYPE_EXE"
              glib:nick="exe">
      </member>
      <member name="xen"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_TYPE_XEN"
              glib:nick="xen">
      </member>
      <member name="uml"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_OS_TYPE_UML"
              glib:nick="uml">
      </member>
    </enumeration>
    <class name="DomainParallel"
           c:symbol-prefix="domain_parallel"
           c:type="GVirConfigDomainParallel"
           parent="DomainChardev"
           glib:type-name="GVirConfigDomainParallel"
           glib:get-type="gvir_config_domain_parallel_get_type"
           glib:type-struct="DomainParallelClass">
      <constructor name="new" c:identifier="gvir_config_domain_parallel_new">
        <return-value transfer-ownership="full">
          <type name="DomainParallel" c:type="GVirConfigDomainParallel*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_parallel_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainParallel" c:type="GVirConfigDomainParallel*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="DomainChardev" c:type="GVirConfigDomainChardev"/>
      </field>
      <field name="priv">
        <type name="DomainParallelPrivate"
              c:type="GVirConfigDomainParallelPrivate*"/>
      </field>
    </class>
    <record name="DomainParallelClass"
            c:type="GVirConfigDomainParallelClass"
            glib:is-gtype-struct-for="DomainParallel">
      <field name="parent_class">
        <type name="DomainChardevClass" c:type="GVirConfigDomainChardevClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainParallelPrivate"
            c:type="GVirConfigDomainParallelPrivate"
            disguised="1">
    </record>
    <class name="DomainPowerManagement"
           c:symbol-prefix="domain_power_management"
           c:type="GVirConfigDomainPowerManagement"
           parent="Object"
           glib:type-name="GVirConfigDomainPowerManagement"
           glib:get-type="gvir_config_domain_power_management_get_type"
           glib:type-struct="DomainPowerManagementClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_power_management_new">
        <return-value transfer-ownership="full">
          <type name="DomainPowerManagement"
                c:type="GVirConfigDomainPowerManagement*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_power_management_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainPowerManagement"
                c:type="GVirConfigDomainPowerManagement*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_disk_suspend_enabled"
              c:identifier="gvir_config_domain_power_management_set_disk_suspend_enabled">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pm" transfer-ownership="none">
            <type name="DomainPowerManagement"
                  c:type="GVirConfigDomainPowerManagement*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mem_suspend_enabled"
              c:identifier="gvir_config_domain_power_management_set_mem_suspend_enabled">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pm" transfer-ownership="none">
            <type name="DomainPowerManagement"
                  c:type="GVirConfigDomainPowerManagement*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainPowerManagementPrivate"
              c:type="GVirConfigDomainPowerManagementPrivate*"/>
      </field>
    </class>
    <record name="DomainPowerManagementClass"
            c:type="GVirConfigDomainPowerManagementClass"
            glib:is-gtype-struct-for="DomainPowerManagement">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainPowerManagementPrivate"
            c:type="GVirConfigDomainPowerManagementPrivate"
            disguised="1">
    </record>
    <record name="DomainPrivate"
            c:type="GVirConfigDomainPrivate"
            disguised="1">
    </record>
    <class name="DomainRedirdev"
           c:symbol-prefix="domain_redirdev"
           c:type="GVirConfigDomainRedirdev"
           parent="DomainChardev"
           glib:type-name="GVirConfigDomainRedirdev"
           glib:get-type="gvir_config_domain_redirdev_get_type"
           glib:type-struct="DomainRedirdevClass">
      <constructor name="new" c:identifier="gvir_config_domain_redirdev_new">
        <return-value transfer-ownership="full">
          <type name="DomainRedirdev" c:type="GVirConfigDomainRedirdev*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_redirdev_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainRedirdev" c:type="GVirConfigDomainRedirdev*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_address"
              c:identifier="gvir_config_domain_redirdev_set_address">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="redirdev" transfer-ownership="none">
            <type name="DomainRedirdev" c:type="GVirConfigDomainRedirdev*"/>
          </instance-parameter>
          <parameter name="address" transfer-ownership="none" allow-none="1">
            <type name="DomainAddress" c:type="GVirConfigDomainAddress*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bus"
              c:identifier="gvir_config_domain_redirdev_set_bus">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="redirdev" transfer-ownership="none">
            <type name="DomainRedirdev" c:type="GVirConfigDomainRedirdev*"/>
          </instance-parameter>
          <parameter name="bus" transfer-ownership="none">
            <type name="DomainRedirdevBus"
                  c:type="GVirConfigDomainRedirdevBus"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainChardev" c:type="GVirConfigDomainChardev"/>
      </field>
      <field name="priv">
        <type name="DomainRedirdevPrivate"
              c:type="GVirConfigDomainRedirdevPrivate*"/>
      </field>
    </class>
    <enumeration name="DomainRedirdevBus"
                 glib:type-name="GVirConfigDomainRedirdevBus"
                 glib:get-type="gvir_config_domain_redirdev_bus_get_type"
                 c:type="GVirConfigDomainRedirdevBus">
      <member name="usb"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_REDIRDEV_BUS_USB"
              glib:nick="usb">
      </member>
    </enumeration>
    <record name="DomainRedirdevClass"
            c:type="GVirConfigDomainRedirdevClass"
            glib:is-gtype-struct-for="DomainRedirdev">
      <field name="parent_class">
        <type name="DomainChardevClass" c:type="GVirConfigDomainChardevClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainRedirdevPrivate"
            c:type="GVirConfigDomainRedirdevPrivate"
            disguised="1">
    </record>
    <class name="DomainSeclabel"
           c:symbol-prefix="domain_seclabel"
           c:type="GVirConfigDomainSeclabel"
           parent="Object"
           glib:type-name="GVirConfigDomainSeclabel"
           glib:get-type="gvir_config_domain_seclabel_get_type"
           glib:type-struct="DomainSeclabelClass">
      <constructor name="new" c:identifier="gvir_config_domain_seclabel_new">
        <return-value transfer-ownership="full">
          <type name="DomainSeclabel" c:type="GVirConfigDomainSeclabel*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_seclabel_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainSeclabel" c:type="GVirConfigDomainSeclabel*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_baselabel"
              c:identifier="gvir_config_domain_seclabel_set_baselabel">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seclabel" transfer-ownership="none">
            <type name="DomainSeclabel" c:type="GVirConfigDomainSeclabel*"/>
          </instance-parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gvir_config_domain_seclabel_set_label">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seclabel" transfer-ownership="none">
            <type name="DomainSeclabel" c:type="GVirConfigDomainSeclabel*"/>
          </instance-parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model"
              c:identifier="gvir_config_domain_seclabel_set_model">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seclabel" transfer-ownership="none">
            <type name="DomainSeclabel" c:type="GVirConfigDomainSeclabel*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_type"
              c:identifier="gvir_config_domain_seclabel_set_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="seclabel" transfer-ownership="none">
            <type name="DomainSeclabel" c:type="GVirConfigDomainSeclabel*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainSeclabelType"
                  c:type="GVirConfigDomainSeclabelType"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainSeclabelPrivate"
              c:type="GVirConfigDomainSeclabelPrivate*"/>
      </field>
    </class>
    <record name="DomainSeclabelClass"
            c:type="GVirConfigDomainSeclabelClass"
            glib:is-gtype-struct-for="DomainSeclabel">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainSeclabelPrivate"
            c:type="GVirConfigDomainSeclabelPrivate"
            disguised="1">
    </record>
    <enumeration name="DomainSeclabelType"
                 glib:type-name="GVirConfigDomainSeclabelType"
                 glib:get-type="gvir_config_domain_seclabel_type_get_type"
                 c:type="GVirConfigDomainSeclabelType">
      <member name="dynamic"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_SECLABEL_DYNAMIC"
              glib:nick="dynamic">
      </member>
      <member name="static"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_SECLABEL_STATIC"
              glib:nick="static">
      </member>
    </enumeration>
    <class name="DomainSerial"
           c:symbol-prefix="domain_serial"
           c:type="GVirConfigDomainSerial"
           parent="DomainChardev"
           glib:type-name="GVirConfigDomainSerial"
           glib:get-type="gvir_config_domain_serial_get_type"
           glib:type-struct="DomainSerialClass">
      <constructor name="new" c:identifier="gvir_config_domain_serial_new">
        <return-value transfer-ownership="full">
          <type name="DomainSerial" c:type="GVirConfigDomainSerial*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_serial_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainSerial" c:type="GVirConfigDomainSerial*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="DomainChardev" c:type="GVirConfigDomainChardev"/>
      </field>
      <field name="priv">
        <type name="DomainSerialPrivate"
              c:type="GVirConfigDomainSerialPrivate*"/>
      </field>
    </class>
    <record name="DomainSerialClass"
            c:type="GVirConfigDomainSerialClass"
            glib:is-gtype-struct-for="DomainSerial">
      <field name="parent_class">
        <type name="DomainChardevClass" c:type="GVirConfigDomainChardevClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainSerialPrivate"
            c:type="GVirConfigDomainSerialPrivate"
            disguised="1">
    </record>
    <class name="DomainSmartcard"
           c:symbol-prefix="domain_smartcard"
           c:type="GVirConfigDomainSmartcard"
           parent="DomainDevice"
           abstract="1"
           glib:type-name="GVirConfigDomainSmartcard"
           glib:get-type="gvir_config_domain_smartcard_get_type"
           glib:type-struct="DomainSmartcardClass">
      <function name="set_address"
                c:identifier="gvir_config_domain_smartcard_set_address">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="redirdev" transfer-ownership="none">
            <type name="DomainRedirdev" c:type="GVirConfigDomainRedirdev*"/>
          </parameter>
          <parameter name="address" transfer-ownership="none" allow-none="1">
            <type name="DomainAddress" c:type="GVirConfigDomainAddress*"/>
          </parameter>
        </parameters>
      </function>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainSmartcardPrivate"
              c:type="GVirConfigDomainSmartcardPrivate*"/>
      </field>
    </class>
    <record name="DomainSmartcardClass"
            c:type="GVirConfigDomainSmartcardClass"
            glib:is-gtype-struct-for="DomainSmartcard">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="DomainSmartcardHost"
           c:symbol-prefix="domain_smartcard_host"
           c:type="GVirConfigDomainSmartcardHost"
           parent="DomainSmartcard"
           glib:type-name="GVirConfigDomainSmartcardHost"
           glib:get-type="gvir_config_domain_smartcard_host_get_type"
           glib:type-struct="DomainSmartcardHostClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_smartcard_host_new">
        <return-value transfer-ownership="full">
          <type name="DomainSmartcardHost"
                c:type="GVirConfigDomainSmartcardHost*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_smartcard_host_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainSmartcardHost"
                c:type="GVirConfigDomainSmartcardHost*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="DomainSmartcard" c:type="GVirConfigDomainSmartcard"/>
      </field>
      <field name="priv">
        <type name="DomainSmartcardHostPrivate"
              c:type="GVirConfigDomainSmartcardHostPrivate*"/>
      </field>
    </class>
    <class name="DomainSmartcardHostCertificates"
           c:symbol-prefix="domain_smartcard_host_certificates"
           c:type="GVirConfigDomainSmartcardHostCertificates"
           parent="DomainSmartcard"
           glib:type-name="GVirConfigDomainSmartcardHostCertificates"
           glib:get-type="gvir_config_domain_smartcard_host_certificates_get_type"
           glib:type-struct="DomainSmartcardHostCertificatesClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_smartcard_host_certificates_new">
        <return-value transfer-ownership="full">
          <type name="DomainSmartcardHostCertificates"
                c:type="GVirConfigDomainSmartcardHostCertificates*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_smartcard_host_certificates_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainSmartcardHostCertificates"
                c:type="GVirConfigDomainSmartcardHostCertificates*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_certificates"
              c:identifier="gvir_config_domain_smartcard_host_certificates_set_certificates">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="smartcard" transfer-ownership="none">
            <type name="DomainSmartcardHostCertificates"
                  c:type="GVirConfigDomainSmartcardHostCertificates*"/>
          </instance-parameter>
          <parameter name="cert1" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cert2" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="cert3" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_database"
              c:identifier="gvir_config_domain_smartcard_host_certificates_set_database">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="smartcard" transfer-ownership="none">
            <type name="DomainSmartcardHostCertificates"
                  c:type="GVirConfigDomainSmartcardHostCertificates*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainSmartcard" c:type="GVirConfigDomainSmartcard"/>
      </field>
      <field name="priv">
        <type name="DomainSmartcardHostCertificatesPrivate"
              c:type="GVirConfigDomainSmartcardHostCertificatesPrivate*"/>
      </field>
    </class>
    <record name="DomainSmartcardHostCertificatesClass"
            c:type="GVirConfigDomainSmartcardHostCertificatesClass"
            glib:is-gtype-struct-for="DomainSmartcardHostCertificates">
      <field name="parent_class">
        <type name="DomainSmartcardClass"
              c:type="GVirConfigDomainSmartcardClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainSmartcardHostCertificatesPrivate"
            c:type="GVirConfigDomainSmartcardHostCertificatesPrivate"
            disguised="1">
    </record>
    <record name="DomainSmartcardHostClass"
            c:type="GVirConfigDomainSmartcardHostClass"
            glib:is-gtype-struct-for="DomainSmartcardHost">
      <field name="parent_class">
        <type name="DomainSmartcardClass"
              c:type="GVirConfigDomainSmartcardClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainSmartcardHostPrivate"
            c:type="GVirConfigDomainSmartcardHostPrivate"
            disguised="1">
    </record>
    <class name="DomainSmartcardPassthrough"
           c:symbol-prefix="domain_smartcard_passthrough"
           c:type="GVirConfigDomainSmartcardPassthrough"
           parent="DomainSmartcard"
           glib:type-name="GVirConfigDomainSmartcardPassthrough"
           glib:get-type="gvir_config_domain_smartcard_passthrough_get_type"
           glib:type-struct="DomainSmartcardPassthroughClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_smartcard_passthrough_new">
        <return-value transfer-ownership="full">
          <type name="DomainSmartcardPassthrough"
                c:type="GVirConfigDomainSmartcardPassthrough*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_smartcard_passthrough_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainSmartcardPassthrough"
                c:type="GVirConfigDomainSmartcardPassthrough*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_source"
              c:identifier="gvir_config_domain_smartcard_passthrough_set_source">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="smartcard" transfer-ownership="none">
            <type name="DomainSmartcardPassthrough"
                  c:type="GVirConfigDomainSmartcardPassthrough*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="DomainChardevSource"
                  c:type="GVirConfigDomainChardevSource*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainSmartcard" c:type="GVirConfigDomainSmartcard"/>
      </field>
      <field name="priv">
        <type name="DomainSmartcardPassthroughPrivate"
              c:type="GVirConfigDomainSmartcardPassthroughPrivate*"/>
      </field>
    </class>
    <record name="DomainSmartcardPassthroughClass"
            c:type="GVirConfigDomainSmartcardPassthroughClass"
            glib:is-gtype-struct-for="DomainSmartcardPassthrough">
      <field name="parent_class">
        <type name="DomainSmartcardClass"
              c:type="GVirConfigDomainSmartcardClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainSmartcardPassthroughPrivate"
            c:type="GVirConfigDomainSmartcardPassthroughPrivate"
            disguised="1">
    </record>
    <record name="DomainSmartcardPrivate"
            c:type="GVirConfigDomainSmartcardPrivate"
            disguised="1">
    </record>
    <class name="DomainSnapshot"
           c:symbol-prefix="domain_snapshot"
           c:type="GVirConfigDomainSnapshot"
           parent="Object"
           glib:type-name="GVirConfigDomainSnapshot"
           glib:get-type="gvir_config_domain_snapshot_get_type"
           glib:type-struct="DomainSnapshotClass">
      <constructor name="new" c:identifier="gvir_config_domain_snapshot_new">
        <return-value transfer-ownership="full">
          <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_snapshot_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_disk"
              c:identifier="gvir_config_domain_snapshot_add_disk">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
          <parameter name="disk" transfer-ownership="none">
            <type name="DomainSnapshotDisk"
                  c:type="GVirConfigDomainSnapshotDisk*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_creation_time"
              c:identifier="gvir_config_domain_snapshot_get_creation_time">
        <return-value transfer-ownership="none">
          <type name="glong" c:type="time_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="gvir_config_domain_snapshot_get_description">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_disks"
              c:identifier="gvir_config_domain_snapshot_get_disks">
        <doc xml:space="preserve">Gets the list of disks attached to @snapshot.  The returned list should
be freed with g_list_free(), after its elements have been unreffed with
g_object_unref().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated #GList of #GVirConfigDomainSnapshotDisk.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="DomainSnapshotDisk"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainSnapshot</doc>
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_domain"
              c:identifier="gvir_config_domain_snapshot_get_domain">
        <doc xml:space="preserve">Gets the configuration of the domain @snapshot is a snapshot of.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GVirConfigDomain. The returned object should be unreffed with g_object_unref() when no longer needed.</doc>
          <type name="Domain" c:type="GVirConfigDomain*"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainSnapshot</doc>
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_memory_file"
              c:identifier="gvir_config_domain_snapshot_get_memory_file">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_memory_state"
              c:identifier="gvir_config_domain_snapshot_get_memory_state">
        <return-value transfer-ownership="none">
          <type name="DomainSnapshotMemoryState"
                c:type="GVirConfigDomainSnapshotMemoryState"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gvir_config_domain_snapshot_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_parent"
              c:identifier="gvir_config_domain_snapshot_get_parent">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state"
              c:identifier="gvir_config_domain_snapshot_get_state">
        <return-value transfer-ownership="none">
          <type name="DomainSnapshotDomainState"
                c:type="GVirConfigDomainSnapshotDomainState"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="gvir_config_domain_snapshot_set_description">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_disks"
              c:identifier="gvir_config_domain_snapshot_set_disks">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigDomainSnapshot</doc>
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
          <parameter name="disks" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="DomainSnapshotDisk"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_memory_file"
              c:identifier="gvir_config_domain_snapshot_set_memory_file">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_memory_state"
              c:identifier="gvir_config_domain_snapshot_set_memory_state">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="DomainSnapshotMemoryState"
                  c:type="GVirConfigDomainSnapshotMemoryState"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="gvir_config_domain_snapshot_set_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="snapshot" transfer-ownership="none">
            <type name="DomainSnapshot" c:type="GVirConfigDomainSnapshot*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainSnapshotPrivate"
              c:type="GVirConfigDomainSnapshotPrivate*"/>
      </field>
    </class>
    <record name="DomainSnapshotClass"
            c:type="GVirConfigDomainSnapshotClass"
            glib:is-gtype-struct-for="DomainSnapshot">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="DomainSnapshotDisk"
           c:symbol-prefix="domain_snapshot_disk"
           c:type="GVirConfigDomainSnapshotDisk"
           parent="Object"
           glib:type-name="GVirConfigDomainSnapshotDisk"
           glib:get-type="gvir_config_domain_snapshot_disk_get_type"
           glib:type-struct="DomainSnapshotDiskClass">
      <constructor name="new"
                   c:identifier="gvir_config_domain_snapshot_disk_new">
        <return-value transfer-ownership="full">
          <type name="DomainSnapshotDisk"
                c:type="GVirConfigDomainSnapshotDisk*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_snapshot_disk_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainSnapshotDisk"
                c:type="GVirConfigDomainSnapshotDisk*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_driver_format"
              c:identifier="gvir_config_domain_snapshot_disk_get_driver_format">
        <return-value transfer-ownership="none">
          <type name="DomainDiskFormat" c:type="GVirConfigDomainDiskFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainSnapshotDisk"
                  c:type="GVirConfigDomainSnapshotDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gvir_config_domain_snapshot_disk_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainSnapshotDisk"
                  c:type="GVirConfigDomainSnapshotDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_snapshot_type"
              c:identifier="gvir_config_domain_snapshot_disk_get_snapshot_type">
        <return-value transfer-ownership="none">
          <type name="DomainDiskSnapshotType"
                c:type="GVirConfigDomainDiskSnapshotType"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainSnapshotDisk"
                  c:type="GVirConfigDomainSnapshotDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source_file"
              c:identifier="gvir_config_domain_snapshot_disk_get_source_file">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainSnapshotDisk"
                  c:type="GVirConfigDomainSnapshotDisk*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_driver_format"
              c:identifier="gvir_config_domain_snapshot_disk_set_driver_format">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainSnapshotDisk"
                  c:type="GVirConfigDomainSnapshotDisk*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="DomainDiskFormat" c:type="GVirConfigDomainDiskFormat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="gvir_config_domain_snapshot_disk_set_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainSnapshotDisk"
                  c:type="GVirConfigDomainSnapshotDisk*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_snapshot_type"
              c:identifier="gvir_config_domain_snapshot_disk_set_snapshot_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainSnapshotDisk"
                  c:type="GVirConfigDomainSnapshotDisk*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="DomainDiskSnapshotType"
                  c:type="GVirConfigDomainDiskSnapshotType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source_file"
              c:identifier="gvir_config_domain_snapshot_disk_set_source_file">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="disk" transfer-ownership="none">
            <type name="DomainSnapshotDisk"
                  c:type="GVirConfigDomainSnapshotDisk*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainSnapshotDiskPrivate"
              c:type="GVirConfigDomainSnapshotDiskPrivate*"/>
      </field>
    </class>
    <record name="DomainSnapshotDiskClass"
            c:type="GVirConfigDomainSnapshotDiskClass"
            glib:is-gtype-struct-for="DomainSnapshotDisk">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainSnapshotDiskPrivate"
            c:type="GVirConfigDomainSnapshotDiskPrivate"
            disguised="1">
    </record>
    <enumeration name="DomainSnapshotDomainState"
                 glib:type-name="GVirConfigDomainSnapshotDomainState"
                 glib:get-type="gvir_config_domain_snapshot_domain_state_get_type"
                 c:type="GVirConfigDomainSnapshotDomainState">
      <member name="nostate"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_DOMAIN_STATE_NOSTATE"
              glib:nick="nostate">
      </member>
      <member name="running"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_DOMAIN_STATE_RUNNING"
              glib:nick="running">
      </member>
      <member name="blocked"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_DOMAIN_STATE_BLOCKED"
              glib:nick="blocked">
      </member>
      <member name="paused"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_DOMAIN_STATE_PAUSED"
              glib:nick="paused">
      </member>
      <member name="shutdown"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_DOMAIN_STATE_SHUTDOWN"
              glib:nick="shutdown">
      </member>
      <member name="shutoff"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_DOMAIN_STATE_SHUTOFF"
              glib:nick="shutoff">
      </member>
      <member name="crashed"
              value="6"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_DOMAIN_STATE_CRASHED"
              glib:nick="crashed">
      </member>
      <member name="pmsuspended"
              value="7"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_DOMAIN_STATE_PMSUSPENDED"
              glib:nick="pmsuspended">
      </member>
      <member name="disk_snapshot"
              value="100"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_DOMAIN_STATE_DISK_SNAPSHOT"
              glib:nick="disk-snapshot">
      </member>
    </enumeration>
    <enumeration name="DomainSnapshotMemoryState"
                 glib:type-name="GVirConfigDomainSnapshotMemoryState"
                 glib:get-type="gvir_config_domain_snapshot_memory_state_get_type"
                 c:type="GVirConfigDomainSnapshotMemoryState">
      <member name="none"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_MEMORY_STATE_NONE"
              glib:nick="none">
      </member>
      <member name="internal"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_MEMORY_STATE_INTERNAL"
              glib:nick="internal">
      </member>
      <member name="external"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_SNAPSHOT_MEMORY_STATE_EXTERNAL"
              glib:nick="external">
      </member>
    </enumeration>
    <record name="DomainSnapshotPrivate"
            c:type="GVirConfigDomainSnapshotPrivate"
            disguised="1">
    </record>
    <class name="DomainSound"
           c:symbol-prefix="domain_sound"
           c:type="GVirConfigDomainSound"
           parent="DomainDevice"
           glib:type-name="GVirConfigDomainSound"
           glib:get-type="gvir_config_domain_sound_get_type"
           glib:type-struct="DomainSoundClass">
      <constructor name="new" c:identifier="gvir_config_domain_sound_new">
        <return-value transfer-ownership="full">
          <type name="DomainSound" c:type="GVirConfigDomainSound*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_sound_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainSound" c:type="GVirConfigDomainSound*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_model"
              c:identifier="gvir_config_domain_sound_set_model">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sound" transfer-ownership="none">
            <type name="DomainSound" c:type="GVirConfigDomainSound*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <type name="DomainSoundModel" c:type="GVirConfigDomainSoundModel"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainSoundPrivate"
              c:type="GVirConfigDomainSoundPrivate*"/>
      </field>
    </class>
    <record name="DomainSoundClass"
            c:type="GVirConfigDomainSoundClass"
            glib:is-gtype-struct-for="DomainSound">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainSoundModel"
                 glib:type-name="GVirConfigDomainSoundModel"
                 glib:get-type="gvir_config_domain_sound_model_get_type"
                 c:type="GVirConfigDomainSoundModel">
      <member name="sb16"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_SOUND_MODEL_SB16"
              glib:nick="sb16">
      </member>
      <member name="es1370"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_SOUND_MODEL_ES1370"
              glib:nick="es1370">
      </member>
      <member name="pcspk"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_SOUND_MODEL_PCSPK"
              glib:nick="pcspk">
      </member>
      <member name="ac97"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_SOUND_MODEL_AC97"
              glib:nick="ac97">
      </member>
      <member name="ich6"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_SOUND_MODEL_ICH6"
              glib:nick="ich6">
      </member>
    </enumeration>
    <record name="DomainSoundPrivate"
            c:type="GVirConfigDomainSoundPrivate"
            disguised="1">
    </record>
    <class name="DomainTimer"
           c:symbol-prefix="domain_timer"
           c:type="GVirConfigDomainTimer"
           parent="Object"
           abstract="1"
           glib:type-name="GVirConfigDomainTimer"
           glib:get-type="gvir_config_domain_timer_get_type"
           glib:type-struct="DomainTimerClass">
      <method name="get_tick_policy"
              c:identifier="gvir_config_domain_timer_get_tick_policy">
        <return-value transfer-ownership="none">
          <type name="DomainTimerTickPolicy"
                c:type="GVirConfigDomainTimerTickPolicy"/>
        </return-value>
        <parameters>
          <instance-parameter name="timer" transfer-ownership="none">
            <type name="DomainTimer" c:type="GVirConfigDomainTimer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_tick_policy"
              c:identifier="gvir_config_domain_timer_set_tick_policy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="timer" transfer-ownership="none">
            <type name="DomainTimer" c:type="GVirConfigDomainTimer*"/>
          </instance-parameter>
          <parameter name="policy" transfer-ownership="none">
            <type name="DomainTimerTickPolicy"
                  c:type="GVirConfigDomainTimerTickPolicy"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainTimerPrivate"
              c:type="GVirConfigDomainTimerPrivate*"/>
      </field>
    </class>
    <record name="DomainTimerClass"
            c:type="GVirConfigDomainTimerClass"
            glib:is-gtype-struct-for="DomainTimer">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="DomainTimerPit"
           c:symbol-prefix="domain_timer_pit"
           c:type="GVirConfigDomainTimerPit"
           parent="DomainTimer"
           glib:type-name="GVirConfigDomainTimerPit"
           glib:get-type="gvir_config_domain_timer_pit_get_type"
           glib:type-struct="DomainTimerPitClass">
      <constructor name="new" c:identifier="gvir_config_domain_timer_pit_new">
        <return-value transfer-ownership="full">
          <type name="DomainTimerPit" c:type="GVirConfigDomainTimerPit*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_timer_pit_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainTimerPit" c:type="GVirConfigDomainTimerPit*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="DomainTimerPitPrivate"
              c:type="GVirConfigDomainTimerPitPrivate*"/>
      </field>
    </class>
    <record name="DomainTimerPitClass"
            c:type="GVirConfigDomainTimerPitClass"
            glib:is-gtype-struct-for="DomainTimerPit">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainTimerPitPrivate"
            c:type="GVirConfigDomainTimerPitPrivate"
            disguised="1">
    </record>
    <record name="DomainTimerPrivate"
            c:type="GVirConfigDomainTimerPrivate"
            disguised="1">
    </record>
    <class name="DomainTimerRtc"
           c:symbol-prefix="domain_timer_rtc"
           c:type="GVirConfigDomainTimerRtc"
           parent="DomainTimer"
           glib:type-name="GVirConfigDomainTimerRtc"
           glib:get-type="gvir_config_domain_timer_rtc_get_type"
           glib:type-struct="DomainTimerRtcClass">
      <constructor name="new" c:identifier="gvir_config_domain_timer_rtc_new">
        <return-value transfer-ownership="full">
          <type name="DomainTimerRtc" c:type="GVirConfigDomainTimerRtc*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_timer_rtc_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainTimerRtc" c:type="GVirConfigDomainTimerRtc*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="DomainTimer" c:type="GVirConfigDomainTimer"/>
      </field>
      <field name="priv">
        <type name="DomainTimerRtcPrivate"
              c:type="GVirConfigDomainTimerRtcPrivate*"/>
      </field>
    </class>
    <record name="DomainTimerRtcClass"
            c:type="GVirConfigDomainTimerRtcClass"
            glib:is-gtype-struct-for="DomainTimerRtc">
      <field name="parent_class">
        <type name="DomainTimerClass" c:type="GVirConfigDomainTimerClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="DomainTimerRtcPrivate"
            c:type="GVirConfigDomainTimerRtcPrivate"
            disguised="1">
    </record>
    <enumeration name="DomainTimerTickPolicy"
                 glib:type-name="GVirConfigDomainTimerTickPolicy"
                 glib:get-type="gvir_config_domain_timer_tick_policy_get_type"
                 c:type="GVirConfigDomainTimerTickPolicy">
      <member name="delay"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DELAY"
              glib:nick="delay">
      </member>
      <member name="catchup"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_CATCHUP"
              glib:nick="catchup">
      </member>
      <member name="merge"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_MERGE"
              glib:nick="merge">
      </member>
      <member name="discard"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_TIMER_TICK_POLICY_DISCARD"
              glib:nick="discard">
      </member>
    </enumeration>
    <class name="DomainVideo"
           c:symbol-prefix="domain_video"
           c:type="GVirConfigDomainVideo"
           parent="DomainDevice"
           glib:type-name="GVirConfigDomainVideo"
           glib:get-type="gvir_config_domain_video_get_type"
           glib:type-struct="DomainVideoClass">
      <constructor name="new" c:identifier="gvir_config_domain_video_new">
        <return-value transfer-ownership="full">
          <type name="DomainVideo" c:type="GVirConfigDomainVideo*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_domain_video_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="DomainVideo" c:type="GVirConfigDomainVideo*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_heads"
              c:identifier="gvir_config_domain_video_set_heads">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="video" transfer-ownership="none">
            <type name="DomainVideo" c:type="GVirConfigDomainVideo*"/>
          </instance-parameter>
          <parameter name="head_count" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model"
              c:identifier="gvir_config_domain_video_set_model">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="video" transfer-ownership="none">
            <type name="DomainVideo" c:type="GVirConfigDomainVideo*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <type name="DomainVideoModel" c:type="GVirConfigDomainVideoModel"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_vram" c:identifier="gvir_config_domain_video_set_vram">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="video" transfer-ownership="none">
            <type name="DomainVideo" c:type="GVirConfigDomainVideo*"/>
          </instance-parameter>
          <parameter name="kbytes" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="DomainDevice" c:type="GVirConfigDomainDevice"/>
      </field>
      <field name="priv">
        <type name="DomainVideoPrivate"
              c:type="GVirConfigDomainVideoPrivate*"/>
      </field>
    </class>
    <record name="DomainVideoClass"
            c:type="GVirConfigDomainVideoClass"
            glib:is-gtype-struct-for="DomainVideo">
      <field name="parent_class">
        <type name="DomainDeviceClass" c:type="GVirConfigDomainDeviceClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="DomainVideoModel"
                 glib:type-name="GVirConfigDomainVideoModel"
                 glib:get-type="gvir_config_domain_video_model_get_type"
                 c:type="GVirConfigDomainVideoModel">
      <member name="vga"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_VIDEO_MODEL_VGA"
              glib:nick="vga">
      </member>
      <member name="cirrus"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_VIDEO_MODEL_CIRRUS"
              glib:nick="cirrus">
      </member>
      <member name="vmvga"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_VIDEO_MODEL_VMVGA"
              glib:nick="vmvga">
      </member>
      <member name="xen"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_VIDEO_MODEL_XEN"
              glib:nick="xen">
      </member>
      <member name="vbox"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_VIDEO_MODEL_VBOX"
              glib:nick="vbox">
      </member>
      <member name="qxl"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_VIDEO_MODEL_QXL"
              glib:nick="qxl">
      </member>
    </enumeration>
    <record name="DomainVideoPrivate"
            c:type="GVirConfigDomainVideoPrivate"
            disguised="1">
    </record>
    <enumeration name="DomainVirtType"
                 glib:type-name="GVirConfigDomainVirtType"
                 glib:get-type="gvir_config_domain_virt_type_get_type"
                 c:type="GVirConfigDomainVirtType">
      <member name="qemu"
              value="0"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_QEMU"
              glib:nick="qemu">
      </member>
      <member name="kqemu"
              value="1"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_KQEMU"
              glib:nick="kqemu">
      </member>
      <member name="kvm"
              value="2"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_KVM"
              glib:nick="kvm">
      </member>
      <member name="xen"
              value="3"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_XEN"
              glib:nick="xen">
      </member>
      <member name="lxc"
              value="4"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_LXC"
              glib:nick="lxc">
      </member>
      <member name="uml"
              value="5"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_UML"
              glib:nick="uml">
      </member>
      <member name="openvz"
              value="6"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_OPENVZ"
              glib:nick="openvz">
      </member>
      <member name="vserver"
              value="7"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_VSERVER"
              glib:nick="vserver">
      </member>
      <member name="ldom"
              value="8"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_LDOM"
              glib:nick="ldom">
      </member>
      <member name="test"
              value="9"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_TEST"
              glib:nick="test">
      </member>
      <member name="vmware"
              value="10"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_VMWARE"
              glib:nick="vmware">
      </member>
      <member name="hyperv"
              value="11"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_HYPERV"
              glib:nick="hyperv">
      </member>
      <member name="vbox"
              value="12"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_VBOX"
              glib:nick="vbox">
      </member>
      <member name="one"
              value="13"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_ONE"
              glib:nick="one">
      </member>
      <member name="phyp"
              value="14"
              c:identifier="GVIR_CONFIG_DOMAIN_VIRT_PHYP"
              glib:nick="phyp">
      </member>
    </enumeration>
    <class name="Interface"
           c:symbol-prefix="interface"
           c:type="GVirConfigInterface"
           parent="Object"
           glib:type-name="GVirConfigInterface"
           glib:get-type="gvir_config_interface_get_type"
           glib:type-struct="InterfaceClass">
      <constructor name="new" c:identifier="gvir_config_interface_new">
        <return-value transfer-ownership="full">
          <type name="Interface" c:type="GVirConfigInterface*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_interface_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="Interface" c:type="GVirConfigInterface*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="InterfacePrivate" c:type="GVirConfigInterfacePrivate*"/>
      </field>
    </class>
    <record name="InterfaceClass"
            c:type="GVirConfigInterfaceClass"
            glib:is-gtype-struct-for="Interface">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="InterfacePrivate"
            c:type="GVirConfigInterfacePrivate"
            disguised="1">
    </record>
    <class name="Network"
           c:symbol-prefix="network"
           c:type="GVirConfigNetwork"
           parent="Object"
           glib:type-name="GVirConfigNetwork"
           glib:get-type="gvir_config_network_get_type"
           glib:type-struct="NetworkClass">
      <constructor name="new" c:identifier="gvir_config_network_new">
        <return-value transfer-ownership="full">
          <type name="Network" c:type="GVirConfigNetwork*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_network_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="Network" c:type="GVirConfigNetwork*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="NetworkPrivate" c:type="GVirConfigNetworkPrivate*"/>
      </field>
    </class>
    <record name="NetworkClass"
            c:type="GVirConfigNetworkClass"
            glib:is-gtype-struct-for="Network">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="NetworkFilter"
           c:symbol-prefix="network_filter"
           c:type="GVirConfigNetworkFilter"
           parent="Object"
           glib:type-name="GVirConfigNetworkFilter"
           glib:get-type="gvir_config_network_filter_get_type"
           glib:type-struct="NetworkFilterClass">
      <constructor name="new" c:identifier="gvir_config_network_filter_new">
        <return-value transfer-ownership="full">
          <type name="NetworkFilter" c:type="GVirConfigNetworkFilter*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_network_filter_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="NetworkFilter" c:type="GVirConfigNetworkFilter*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="NetworkFilterPrivate"
              c:type="GVirConfigNetworkFilterPrivate*"/>
      </field>
    </class>
    <record name="NetworkFilterClass"
            c:type="GVirConfigNetworkFilterClass"
            glib:is-gtype-struct-for="NetworkFilter">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="NetworkFilterPrivate"
            c:type="GVirConfigNetworkFilterPrivate"
            disguised="1">
    </record>
    <record name="NetworkPrivate"
            c:type="GVirConfigNetworkPrivate"
            disguised="1">
    </record>
    <class name="NodeDevice"
           c:symbol-prefix="node_device"
           c:type="GVirConfigNodeDevice"
           parent="Object"
           glib:type-name="GVirConfigNodeDevice"
           glib:get-type="gvir_config_node_device_get_type"
           glib:type-struct="NodeDeviceClass">
      <constructor name="new" c:identifier="gvir_config_node_device_new">
        <return-value transfer-ownership="full">
          <type name="NodeDevice" c:type="GVirConfigNodeDevice*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_node_device_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="NodeDevice" c:type="GVirConfigNodeDevice*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="NodeDevicePrivate" c:type="GVirConfigNodeDevicePrivate*"/>
      </field>
    </class>
    <record name="NodeDeviceClass"
            c:type="GVirConfigNodeDeviceClass"
            glib:is-gtype-struct-for="NodeDevice">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="NodeDevicePrivate"
            c:type="GVirConfigNodeDevicePrivate"
            disguised="1">
    </record>
    <class name="Object"
           c:symbol-prefix="object"
           c:type="GVirConfigObject"
           parent="GObject.Object"
           glib:type-name="GVirConfigObject"
           glib:get-type="gvir_config_object_get_type"
           glib:type-struct="ObjectClass">
      <constructor name="new" c:identifier="gvir_config_object_new">
        <return-value transfer-ownership="full">
          <type name="Object" c:type="GVirConfigObject*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="root_name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="schema" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_object_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="Object" c:type="GVirConfigObject*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="root_name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="schema" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="error_quark"
                c:identifier="gvir_config_object_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <method name="get_schema" c:identifier="gvir_config_object_get_schema">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="config" transfer-ownership="none">
            <type name="Object" c:type="GVirConfigObject*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_xml" c:identifier="gvir_config_object_to_xml">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="config" transfer-ownership="none">
            <type name="Object" c:type="GVirConfigObject*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="validate"
              c:identifier="gvir_config_object_validate"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="config" transfer-ownership="none">
            <type name="Object" c:type="GVirConfigObject*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="doc"
                introspectable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type/>
      </property>
      <property name="node"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="schema"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ObjectPrivate" c:type="GVirConfigObjectPrivate*"/>
      </field>
    </class>
    <record name="ObjectClass"
            c:type="GVirConfigObjectClass"
            glib:is-gtype-struct-for="Object">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ObjectPrivate"
            c:type="GVirConfigObjectPrivate"
            disguised="1">
    </record>
    <class name="Secret"
           c:symbol-prefix="secret"
           c:type="GVirConfigSecret"
           parent="Object"
           glib:type-name="GVirConfigSecret"
           glib:get-type="gvir_config_secret_get_type"
           glib:type-struct="SecretClass">
      <constructor name="new" c:identifier="gvir_config_secret_new">
        <return-value transfer-ownership="full">
          <type name="Secret" c:type="GVirConfigSecret*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_secret_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="Secret" c:type="GVirConfigSecret*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="SecretPrivate" c:type="GVirConfigSecretPrivate*"/>
      </field>
    </class>
    <record name="SecretClass"
            c:type="GVirConfigSecretClass"
            glib:is-gtype-struct-for="Secret">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="SecretPrivate"
            c:type="GVirConfigSecretPrivate"
            disguised="1">
    </record>
    <class name="StoragePermissions"
           c:symbol-prefix="storage_permissions"
           c:type="GVirConfigStoragePermissions"
           parent="Object"
           glib:type-name="GVirConfigStoragePermissions"
           glib:get-type="gvir_config_storage_permissions_get_type"
           glib:type-struct="StoragePermissionsClass">
      <constructor name="new"
                   c:identifier="gvir_config_storage_permissions_new">
        <return-value transfer-ownership="full">
          <type name="StoragePermissions"
                c:type="GVirConfigStoragePermissions*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_storage_permissions_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="StoragePermissions"
                c:type="GVirConfigStoragePermissions*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_group"
              c:identifier="gvir_config_storage_permissions_get_group">
        <doc xml:space="preserve">Gets the numeric group ID associated with @perms.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">numeric group ID</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="perms" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePermissions</doc>
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_label"
              c:identifier="gvir_config_storage_permissions_get_label">
        <doc xml:space="preserve">Gets the MAC label string associated with @perms.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">MAC label string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="perms" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePermissions</doc>
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode"
              c:identifier="gvir_config_storage_permissions_get_mode">
        <doc xml:space="preserve">Gets the octal permission set associated with @perms.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">permission set</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="perms" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePermissions</doc>
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_owner"
              c:identifier="gvir_config_storage_permissions_get_owner">
        <doc xml:space="preserve">Gets the numeric user ID associated with @perms.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">numeric user ID.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="perms" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePermissions</doc>
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_group"
              c:identifier="gvir_config_storage_permissions_set_group">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perms" transfer-ownership="none">
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="gvir_config_storage_permissions_set_label">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perms" transfer-ownership="none">
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </instance-parameter>
          <parameter name="label" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mode"
              c:identifier="gvir_config_storage_permissions_set_mode">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perms" transfer-ownership="none">
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </instance-parameter>
          <parameter name="mode" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_owner"
              c:identifier="gvir_config_storage_permissions_set_owner">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="perms" transfer-ownership="none">
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </instance-parameter>
          <parameter name="owner" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="StoragePermissionsPrivate"
              c:type="GVirConfigStoragePermissionsPrivate*"/>
      </field>
    </class>
    <record name="StoragePermissionsClass"
            c:type="GVirConfigStoragePermissionsClass"
            glib:is-gtype-struct-for="StoragePermissions">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="StoragePermissionsPrivate"
            c:type="GVirConfigStoragePermissionsPrivate"
            disguised="1">
    </record>
    <class name="StoragePool"
           c:symbol-prefix="storage_pool"
           c:type="GVirConfigStoragePool"
           parent="Object"
           glib:type-name="GVirConfigStoragePool"
           glib:get-type="gvir_config_storage_pool_get_type"
           glib:type-struct="StoragePoolClass">
      <constructor name="new" c:identifier="gvir_config_storage_pool_new">
        <return-value transfer-ownership="full">
          <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_storage_pool_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_allocation"
              c:identifier="gvir_config_storage_pool_get_allocation">
        <doc xml:space="preserve">Gets the total storage allocation for the pool.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">total storage allocation in bytes.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePool</doc>
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_available"
              c:identifier="gvir_config_storage_pool_get_available">
        <doc xml:space="preserve">Gets the free space available for allocating new volumes in the pool.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">free space available in bytes.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePool</doc>
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_capacity"
              c:identifier="gvir_config_storage_pool_get_capacity">
        <doc xml:space="preserve">Gets the total storage capacity for the pool.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">total storage capacity in bytes.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePool</doc>
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="gvir_config_storage_pool_get_name">
        <doc xml:space="preserve">Gets the name of the pool.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">name of @pool.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePool</doc>
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pool_type"
              c:identifier="gvir_config_storage_pool_get_pool_type">
        <doc xml:space="preserve">Gets the type of the pool.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">#Gname of @pool.</doc>
          <type name="StoragePoolType" c:type="GVirConfigStoragePoolType"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePool</doc>
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source"
              c:identifier="gvir_config_storage_pool_get_source">
        <doc xml:space="preserve">Gets the source for @pool</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GVirConfigStoragePoolSource instance.</doc>
          <type name="StoragePoolSource"
                c:type="GVirConfigStoragePoolSource*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePool</doc>
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_target"
              c:identifier="gvir_config_storage_pool_get_target">
        <doc xml:space="preserve">Gets the target for @pool</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GVirConfigStoragePoolTarget instance.</doc>
          <type name="StoragePoolTarget"
                c:type="GVirConfigStoragePoolTarget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePool</doc>
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uuid" c:identifier="gvir_config_storage_pool_get_uuid">
        <doc xml:space="preserve">Gets the unique identifier for @pool.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">unique identifier for @pool.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePool</doc>
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_allocation"
              c:identifier="gvir_config_storage_pool_set_allocation">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
          <parameter name="allocation" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_available"
              c:identifier="gvir_config_storage_pool_set_available">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
          <parameter name="available" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_capacity"
              c:identifier="gvir_config_storage_pool_set_capacity">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
          <parameter name="capacity" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="gvir_config_storage_pool_set_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pool_type"
              c:identifier="gvir_config_storage_pool_set_pool_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="StoragePoolType" c:type="GVirConfigStoragePoolType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source"
              c:identifier="gvir_config_storage_pool_set_source">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none" allow-none="1">
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_target"
              c:identifier="gvir_config_storage_pool_set_target">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
          <parameter name="target" transfer-ownership="none" allow-none="1">
            <type name="StoragePoolTarget"
                  c:type="GVirConfigStoragePoolTarget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uuid" c:identifier="gvir_config_storage_pool_set_uuid">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <type name="StoragePool" c:type="GVirConfigStoragePool*"/>
          </instance-parameter>
          <parameter name="uuid" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="StoragePoolPrivate"
              c:type="GVirConfigStoragePoolPrivate*"/>
      </field>
    </class>
    <record name="StoragePoolClass"
            c:type="GVirConfigStoragePoolClass"
            glib:is-gtype-struct-for="StoragePool">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="StoragePoolPrivate"
            c:type="GVirConfigStoragePoolPrivate"
            disguised="1">
    </record>
    <class name="StoragePoolSource"
           c:symbol-prefix="storage_pool_source"
           c:type="GVirConfigStoragePoolSource"
           parent="Object"
           glib:type-name="GVirConfigStoragePoolSource"
           glib:get-type="gvir_config_storage_pool_source_get_type"
           glib:type-struct="StoragePoolSourceClass">
      <constructor name="new"
                   c:identifier="gvir_config_storage_pool_source_new">
        <return-value transfer-ownership="full">
          <type name="StoragePoolSource"
                c:type="GVirConfigStoragePoolSource*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_storage_pool_source_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="StoragePoolSource"
                c:type="GVirConfigStoragePoolSource*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_adapter"
              c:identifier="gvir_config_storage_pool_source_get_adapter">
        <doc xml:space="preserve">For pools backed by a SCSI adapter, returns the SCSI adapter name</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the SCSI adapter name.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolSource</doc>
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_device_path"
              c:identifier="gvir_config_storage_pool_source_get_device_path">
        <doc xml:space="preserve">For pools backed by a physical device, returns the path to the block
device node</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">fully qualified path to the block device node.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolSource</doc>
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_directory"
              c:identifier="gvir_config_storage_pool_source_get_directory">
        <doc xml:space="preserve">For pools backed by a directory, returns the path to the backing directory</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">path to the directory backing directory.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolSource</doc>
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_format"
              c:identifier="gvir_config_storage_pool_source_get_format">
        <doc xml:space="preserve">Provides information about the format of the pool. This format is
backend-specific but is typically used to indicate filesystem type, or
network filesystem type, or partition table type, or LVM metadata type.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the storage pool format.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolSource</doc>
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_host"
              c:identifier="gvir_config_storage_pool_source_get_host">
        <doc xml:space="preserve">For pools backed by storage from remote server, returns the hostname
of the remote server.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">hostname or IP address of the remote server.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolSource</doc>
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gvir_config_storage_pool_source_get_name">
        <doc xml:space="preserve">For pools backed by storage from a named element (for example, LV
groups), returns the name of the element</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">name of the element used by @source</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolSource</doc>
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_product"
              c:identifier="gvir_config_storage_pool_source_get_product">
        <doc xml:space="preserve">Gets the product name of the storage device.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">product name of the storage device.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolSource</doc>
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_vendor"
              c:identifier="gvir_config_storage_pool_source_get_vendor">
        <doc xml:space="preserve">Gets the vendor name of the storage device.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">vendor name of the storage device.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolSource</doc>
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_adapter"
              c:identifier="gvir_config_storage_pool_source_set_adapter">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
          <parameter name="adapter" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_device_path"
              c:identifier="gvir_config_storage_pool_source_set_device_path">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
          <parameter name="device_path" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_directory"
              c:identifier="gvir_config_storage_pool_source_set_directory">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
          <parameter name="directory" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_format"
              c:identifier="gvir_config_storage_pool_source_set_format">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_host"
              c:identifier="gvir_config_storage_pool_source_set_host">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
          <parameter name="host" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="gvir_config_storage_pool_source_set_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_product"
              c:identifier="gvir_config_storage_pool_source_set_product">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
          <parameter name="product" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_vendor"
              c:identifier="gvir_config_storage_pool_source_set_vendor">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <type name="StoragePoolSource"
                  c:type="GVirConfigStoragePoolSource*"/>
          </instance-parameter>
          <parameter name="vendor" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="StoragePoolSourcePrivate"
              c:type="GVirConfigStoragePoolSourcePrivate*"/>
      </field>
    </class>
    <record name="StoragePoolSourceClass"
            c:type="GVirConfigStoragePoolSourceClass"
            glib:is-gtype-struct-for="StoragePoolSource">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="StoragePoolSourcePrivate"
            c:type="GVirConfigStoragePoolSourcePrivate"
            disguised="1">
    </record>
    <class name="StoragePoolTarget"
           c:symbol-prefix="storage_pool_target"
           c:type="GVirConfigStoragePoolTarget"
           parent="Object"
           glib:type-name="GVirConfigStoragePoolTarget"
           glib:get-type="gvir_config_storage_pool_target_get_type"
           glib:type-struct="StoragePoolTargetClass">
      <constructor name="new"
                   c:identifier="gvir_config_storage_pool_target_new">
        <return-value transfer-ownership="full">
          <type name="StoragePoolTarget"
                c:type="GVirConfigStoragePoolTarget*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_storage_pool_target_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="StoragePoolTarget"
                c:type="GVirConfigStoragePoolTarget*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_path"
              c:identifier="gvir_config_storage_pool_target_get_path">
        <doc xml:space="preserve">Provides the location at which the storage pool associated with @target
will be mapped into the local filesystem namespace.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">local filesystem path the storage pool is mapped at.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="target" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolTarget</doc>
            <type name="StoragePoolTarget"
                  c:type="GVirConfigStoragePoolTarget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_permissions"
              c:identifier="gvir_config_storage_pool_target_get_permissions">
        <doc xml:space="preserve">Gets the permissions associated with @target</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GVirConfigStoragePoolPermissions instance.</doc>
          <type name="StoragePermissions"
                c:type="GVirConfigStoragePermissions*"/>
        </return-value>
        <parameters>
          <instance-parameter name="target" transfer-ownership="none">
            <doc xml:space="preserve">a #GVirConfigStoragePoolTarget</doc>
            <type name="StoragePoolTarget"
                  c:type="GVirConfigStoragePoolTarget*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_path"
              c:identifier="gvir_config_storage_pool_target_set_path">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="target" transfer-ownership="none">
            <type name="StoragePoolTarget"
                  c:type="GVirConfigStoragePoolTarget*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_permissions"
              c:identifier="gvir_config_storage_pool_target_set_permissions">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="target" transfer-ownership="none">
            <type name="StoragePoolTarget"
                  c:type="GVirConfigStoragePoolTarget*"/>
          </instance-parameter>
          <parameter name="perms" transfer-ownership="none">
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="StoragePoolTargetPrivate"
              c:type="GVirConfigStoragePoolTargetPrivate*"/>
      </field>
    </class>
    <record name="StoragePoolTargetClass"
            c:type="GVirConfigStoragePoolTargetClass"
            glib:is-gtype-struct-for="StoragePoolTarget">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="StoragePoolTargetPrivate"
            c:type="GVirConfigStoragePoolTargetPrivate"
            disguised="1">
    </record>
    <enumeration name="StoragePoolType"
                 glib:type-name="GVirConfigStoragePoolType"
                 glib:get-type="gvir_config_storage_pool_type_get_type"
                 c:type="GVirConfigStoragePoolType">
      <member name="dir"
              value="0"
              c:identifier="GVIR_CONFIG_STORAGE_POOL_TYPE_DIR"
              glib:nick="dir">
      </member>
      <member name="fs"
              value="1"
              c:identifier="GVIR_CONFIG_STORAGE_POOL_TYPE_FS"
              glib:nick="fs">
      </member>
      <member name="netfs"
              value="2"
              c:identifier="GVIR_CONFIG_STORAGE_POOL_TYPE_NETFS"
              glib:nick="netfs">
      </member>
      <member name="logical"
              value="3"
              c:identifier="GVIR_CONFIG_STORAGE_POOL_TYPE_LOGICAL"
              glib:nick="logical">
      </member>
      <member name="disk"
              value="4"
              c:identifier="GVIR_CONFIG_STORAGE_POOL_TYPE_DISK"
              glib:nick="disk">
      </member>
      <member name="iscsi"
              value="5"
              c:identifier="GVIR_CONFIG_STORAGE_POOL_TYPE_ISCSI"
              glib:nick="iscsi">
      </member>
      <member name="scsi"
              value="6"
              c:identifier="GVIR_CONFIG_STORAGE_POOL_TYPE_SCSI"
              glib:nick="scsi">
      </member>
      <member name="mpath"
              value="7"
              c:identifier="GVIR_CONFIG_STORAGE_POOL_TYPE_MPATH"
              glib:nick="mpath">
      </member>
    </enumeration>
    <class name="StorageVol"
           c:symbol-prefix="storage_vol"
           c:type="GVirConfigStorageVol"
           parent="Object"
           glib:type-name="GVirConfigStorageVol"
           glib:get-type="gvir_config_storage_vol_get_type"
           glib:type-struct="StorageVolClass">
      <constructor name="new" c:identifier="gvir_config_storage_vol_new">
        <return-value transfer-ownership="full">
          <type name="StorageVol" c:type="GVirConfigStorageVol*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_storage_vol_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="StorageVol" c:type="GVirConfigStorageVol*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_allocation"
              c:identifier="gvir_config_storage_vol_set_allocation">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="vol" transfer-ownership="none">
            <type name="StorageVol" c:type="GVirConfigStorageVol*"/>
          </instance-parameter>
          <parameter name="allocation" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_backing_store"
              c:identifier="gvir_config_storage_vol_set_backing_store">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="vol" transfer-ownership="none">
            <type name="StorageVol" c:type="GVirConfigStorageVol*"/>
          </instance-parameter>
          <parameter name="backing_store"
                     transfer-ownership="none"
                     allow-none="1">
            <type name="StorageVolBackingStore"
                  c:type="GVirConfigStorageVolBackingStore*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_capacity"
              c:identifier="gvir_config_storage_vol_set_capacity">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="vol" transfer-ownership="none">
            <type name="StorageVol" c:type="GVirConfigStorageVol*"/>
          </instance-parameter>
          <parameter name="capacity" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="gvir_config_storage_vol_set_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="vol" transfer-ownership="none">
            <type name="StorageVol" c:type="GVirConfigStorageVol*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_target"
              c:identifier="gvir_config_storage_vol_set_target">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="vol" transfer-ownership="none">
            <type name="StorageVol" c:type="GVirConfigStorageVol*"/>
          </instance-parameter>
          <parameter name="target" transfer-ownership="none" allow-none="1">
            <type name="StorageVolTarget"
                  c:type="GVirConfigStorageVolTarget*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="StorageVolPrivate" c:type="GVirConfigStorageVolPrivate*"/>
      </field>
    </class>
    <class name="StorageVolBackingStore"
           c:symbol-prefix="storage_vol_backing_store"
           c:type="GVirConfigStorageVolBackingStore"
           parent="Object"
           glib:type-name="GVirConfigStorageVolBackingStore"
           glib:get-type="gvir_config_storage_vol_backing_store_get_type"
           glib:type-struct="StorageVolBackingStoreClass">
      <constructor name="new"
                   c:identifier="gvir_config_storage_vol_backing_store_new">
        <return-value transfer-ownership="full">
          <type name="StorageVolBackingStore"
                c:type="GVirConfigStorageVolBackingStore*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_storage_vol_backing_store_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="StorageVolBackingStore"
                c:type="GVirConfigStorageVolBackingStore*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_format"
              c:identifier="gvir_config_storage_vol_backing_store_set_format">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backing_store" transfer-ownership="none">
            <type name="StorageVolBackingStore"
                  c:type="GVirConfigStorageVolBackingStore*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_path"
              c:identifier="gvir_config_storage_vol_backing_store_set_path">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="backing_store" transfer-ownership="none">
            <type name="StorageVolBackingStore"
                  c:type="GVirConfigStorageVolBackingStore*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none" allow-none="1">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="StorageVolBackingStorePrivate"
              c:type="GVirConfigStorageVolBackingStorePrivate*"/>
      </field>
    </class>
    <record name="StorageVolBackingStoreClass"
            c:type="GVirConfigStorageVolBackingStoreClass"
            glib:is-gtype-struct-for="StorageVolBackingStore">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="StorageVolBackingStorePrivate"
            c:type="GVirConfigStorageVolBackingStorePrivate"
            disguised="1">
    </record>
    <record name="StorageVolClass"
            c:type="GVirConfigStorageVolClass"
            glib:is-gtype-struct-for="StorageVol">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="StorageVolPrivate"
            c:type="GVirConfigStorageVolPrivate"
            disguised="1">
    </record>
    <class name="StorageVolTarget"
           c:symbol-prefix="storage_vol_target"
           c:type="GVirConfigStorageVolTarget"
           parent="Object"
           glib:type-name="GVirConfigStorageVolTarget"
           glib:get-type="gvir_config_storage_vol_target_get_type"
           glib:type-struct="StorageVolTargetClass">
      <constructor name="new"
                   c:identifier="gvir_config_storage_vol_target_new">
        <return-value transfer-ownership="full">
          <type name="StorageVolTarget" c:type="GVirConfigStorageVolTarget*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_xml"
                   c:identifier="gvir_config_storage_vol_target_new_from_xml"
                   throws="1">
        <return-value transfer-ownership="full">
          <type name="StorageVolTarget" c:type="GVirConfigStorageVolTarget*"/>
        </return-value>
        <parameters>
          <parameter name="xml" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="set_format"
              c:identifier="gvir_config_storage_vol_target_set_format">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="target" transfer-ownership="none">
            <type name="StorageVolTarget"
                  c:type="GVirConfigStorageVolTarget*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_permissions"
              c:identifier="gvir_config_storage_vol_target_set_permissions">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="target" transfer-ownership="none">
            <type name="StorageVolTarget"
                  c:type="GVirConfigStorageVolTarget*"/>
          </instance-parameter>
          <parameter name="perms" transfer-ownership="none" allow-none="1">
            <type name="StoragePermissions"
                  c:type="GVirConfigStoragePermissions*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Object" c:type="GVirConfigObject"/>
      </field>
      <field name="priv">
        <type name="StorageVolTargetPrivate"
              c:type="GVirConfigStorageVolTargetPrivate*"/>
      </field>
    </class>
    <record name="StorageVolTargetClass"
            c:type="GVirConfigStorageVolTargetClass"
            glib:is-gtype-struct-for="StorageVolTarget">
      <field name="parent_class">
        <type name="ObjectClass" c:type="GVirConfigObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="StorageVolTargetPrivate"
            c:type="GVirConfigStorageVolTargetPrivate"
            disguised="1">
    </record>
    <function name="init" c:identifier="gvir_config_init">
      <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">pointer to application's argc</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">pointer to application's argv</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_config_init_check"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="argc"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve">pointer to application's argc</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">pointer to application's argv</doc>
          <array length="0" zero-terminated="0" c:type="char***">
            <type name="utf8" c:type="char**"/>
          </array>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
