<?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="Eek" version="0.90"/>
  <include name="GObject" version="2.0"/>
  <namespace name="EekXkl"
             version="0.90"
             shared-library="libeek-xkl.so.0"
             c:identifier-prefixes="EekXkl"
             c:symbol-prefixes="eek_xkl">
    <constant name="H" value="1" c:type="EEK_XKL_H">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LAYOUT_H" value="1" c:type="EEK_XKL_LAYOUT_H">
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="Layout"
           c:symbol-prefix="layout"
           c:type="EekXklLayout"
           parent="Eek.Layout"
           glib:type-name="EekXklLayout"
           glib:get-type="eek_xkl_layout_get_type"
           glib:type-struct="LayoutClass">
      <implements name="Gio.Initable"/>
      <constructor name="new"
                   c:identifier="eek_xkl_layout_new"
                   introspectable="0"
                   throws="1">
        <doc xml:space="preserve">Create a new #EekXklLayout.</doc>
        <return-value transfer-ownership="full">
          <type name="Eek.Layout" c:type="EekLayout*"/>
        </return-value>
        <parameters>
          <parameter name="display" transfer-ownership="none">
            <type c:type="Display*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="disable_option"
              c:identifier="eek_xkl_layout_disable_option">
        <doc xml:space="preserve">Unset the option of @layout (in the Libxklavier terminology).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the current layout changed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
          <parameter name="option" transfer-ownership="none">
            <doc xml:space="preserve">option name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="enable_option" c:identifier="eek_xkl_layout_enable_option">
        <doc xml:space="preserve">Set the option of @layout (in the Libxklavier terminology).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the current layout changed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
          <parameter name="option" transfer-ownership="none">
            <doc xml:space="preserve">option name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_layouts"
              c:identifier="eek_xkl_layout_get_layouts"
              introspectable="0">
        <doc xml:space="preserve">Get the layout names of @layout configuration (in the Libxklavier
terminology).</doc>
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_model" c:identifier="eek_xkl_layout_get_model">
        <doc xml:space="preserve">Get the model name of @layout configuration (in the Libxklavier terminology).</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_option" c:identifier="eek_xkl_layout_get_option">
        <doc xml:space="preserve">Tell if the option of @layout (in the Libxklavier terminology) is set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the option is set, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
          <parameter name="option" transfer-ownership="none">
            <doc xml:space="preserve">option name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_options"
              c:identifier="eek_xkl_layout_get_options"
              introspectable="0">
        <doc xml:space="preserve">Get the option names of @layout configuration (in the Libxklavier
terminology).</doc>
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_variants"
              c:identifier="eek_xkl_layout_get_variants"
              introspectable="0">
        <doc xml:space="preserve">Get the variant names of @layout configuration (in the Libxklavier
terminology).</doc>
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_config"
              c:identifier="eek_xkl_layout_set_config"
              introspectable="0">
        <doc xml:space="preserve">Reconfigure @layout with @config.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the current layout changed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
          <parameter name="config" transfer-ownership="none">
            <doc xml:space="preserve">Libxklavier configuration</doc>
            <type c:type="XklConfigRec*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_config_full"
              c:identifier="eek_xkl_layout_set_config_full"
              version="0.0.2">
        <doc xml:space="preserve">Reconfigure @layout with @model, @layouts, @variants, and @options.
This function is merely a wrapper around
eek_xkl_layout_set_config() to avoid passing a pointer of
XklConfigRec, which is not currently available in the
gobject-introspection repository.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the current layout changed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve">Libxklavier model name</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="layouts" transfer-ownership="none">
            <doc xml:space="preserve">Libxklavier layouts</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="variants" transfer-ownership="none">
            <doc xml:space="preserve">Libxklavier variants</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="options" transfer-ownership="none">
            <doc xml:space="preserve">Libxklavier options</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_layouts" c:identifier="eek_xkl_layout_set_layouts">
        <doc xml:space="preserve">Set the layout names of @layout (in the Libxklavier terminology).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the current layout changed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
          <parameter name="layouts" transfer-ownership="none">
            <doc xml:space="preserve">layout names</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_model" c:identifier="eek_xkl_layout_set_model">
        <doc xml:space="preserve">Set the model name of @layout configuration (in the Libxklavier terminology).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the current layout changed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
          <parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve">model name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_options" c:identifier="eek_xkl_layout_set_options">
        <doc xml:space="preserve">Set the option names of @layout (in the Libxklavier terminology).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the current layout changed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
          <parameter name="options" transfer-ownership="none">
            <doc xml:space="preserve">option names</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_variants" c:identifier="eek_xkl_layout_set_variants">
        <doc xml:space="preserve">Set the variant names of @layout (in the Libxklavier terminology).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the current layout changed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="layout" transfer-ownership="none">
            <doc xml:space="preserve">an #EekXklLayout</doc>
            <type name="Layout" c:type="EekXklLayout*"/>
          </instance-parameter>
          <parameter name="variants" transfer-ownership="none">
            <doc xml:space="preserve">variant names</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <property name="layouts" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The libxklavier layout names of #EekXklLayout.</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="model" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The libxklavier model name of #EekXklLayout.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="options" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The libxklavier option names of #EekXklLayout.</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <property name="variants" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The libxklavier variant names of #EekXklLayout.</doc>
        <array>
          <type name="utf8"/>
        </array>
      </property>
      <field name="parent" introspectable="0" readable="0" private="1">
        <type c:type="EekXkbLayout"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="LayoutPrivate" c:type="EekXklLayoutPrivate*"/>
      </field>
    </class>
    <record name="LayoutClass"
            c:type="EekXklLayoutClass"
            glib:is-gtype-struct-for="Layout">
      <field name="parent_class" introspectable="0" readable="0" private="1">
        <type c:type="EekXkbLayoutClass"/>
      </field>
      <field name="pdummy" readable="0" private="1">
        <array zero-terminated="0" c:type="gpointer" fixed-size="24">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="LayoutPrivate" c:type="EekXklLayoutPrivate" disguised="1">
    </record>
  </namespace>
</repository>
