<?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:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Eek" version="0.90"/>
  <doc:format name="unknown"/>
  <namespace name="Eekboard"
             version="0.90"
             shared-library="libeekboard.so.0"
             c:identifier-prefixes="Eekboard"
             c:symbol-prefixes="eekboard">
    <function-macro name="CLIENT"
                    c:identifier="EEKBOARD_CLIENT"
                    introspectable="0">
      <source-position filename="eekboard-client.h" line="29"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLIENT_CLASS"
                    c:identifier="EEKBOARD_CLIENT_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-client.h" line="30"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CLIENT_GET_CLASS"
                    c:identifier="EEKBOARD_CLIENT_GET_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-client.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="CLIENT_H" value="1" c:type="EEKBOARD_CLIENT_H">
      <source-position filename="eekboard-client.h" line="19"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="CONTEXT"
                    c:identifier="EEKBOARD_CONTEXT"
                    introspectable="0">
      <source-position filename="eekboard-context.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONTEXT_CLASS"
                    c:identifier="EEKBOARD_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-context.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONTEXT_GET_CLASS"
                    c:identifier="EEKBOARD_CONTEXT_GET_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-context.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="CONTEXT_H" value="1" c:type="EEKBOARD_CONTEXT_H">
      <source-position filename="eekboard-context.h" line="23"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <function-macro name="CONTEXT_SERVICE"
                    c:identifier="EEKBOARD_CONTEXT_SERVICE"
                    introspectable="0">
      <source-position filename="eekboard-context-service.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONTEXT_SERVICE_CLASS"
                    c:identifier="EEKBOARD_CONTEXT_SERVICE_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-context-service.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONTEXT_SERVICE_GET_CLASS"
                    c:identifier="EEKBOARD_CONTEXT_SERVICE_GET_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-context-service.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="CONTEXT_SERVICE_H"
              value="1"
              c:type="EEKBOARD_CONTEXT_SERVICE_H">
      <source-position filename="eekboard-context-service.h" line="23"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CONTEXT_SERVICE_INTERFACE"
              value="org.fedorahosted.Eekboard.Context"
              c:type="EEKBOARD_CONTEXT_SERVICE_INTERFACE">
      <source-position filename="eekboard-context-service.h" line="30"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CONTEXT_SERVICE_PATH"
              value="/org/fedorahosted/Eekboard/Context_%d"
              c:type="EEKBOARD_CONTEXT_SERVICE_PATH">
      <source-position filename="eekboard-context-service.h" line="29"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Client"
           c:symbol-prefix="client"
           c:type="EekboardClient"
           parent="Gio.DBusProxy"
           glib:type-name="EekboardClient"
           glib:get-type="eekboard_client_get_type"
           glib:type-struct="ClientClass">
      <source-position filename="eekboard-client.h" line="56"/>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.DBusInterface"/>
      <implements name="Gio.Initable"/>
      <constructor name="new" c:identifier="eekboard_client_new">
        <doc xml:space="preserve"
             filename="eekboard-client.c"
             line="135">Create a client.</doc>
        <source-position filename="eekboard-client.h" line="60"/>
        <return-value transfer-ownership="full">
          <type name="Client" c:type="EekboardClient*"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="137">a #GDBusConnection</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="138">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="destroyed">
        <source-position filename="eekboard-client.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Client" c:type="EekboardClient*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="create_context"
              c:identifier="eekboard_client_create_context">
        <doc xml:space="preserve"
             filename="eekboard-client.c"
             line="196">Create a new input context.</doc>
        <source-position filename="eekboard-client.h" line="62"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="eekboard-client.c"
               line="204">a newly created #EekboardContext.</doc>
          <type name="Context" c:type="EekboardContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="eekboard" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="198">an #EekboardClient</doc>
            <type name="Client" c:type="EekboardClient*"/>
          </instance-parameter>
          <parameter name="client_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="199">name of the client</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="200">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="destroy_context"
              c:identifier="eekboard_client_destroy_context">
        <doc xml:space="preserve"
             filename="eekboard-client.c"
             line="379">Remove @context from @eekboard.</doc>
        <source-position filename="eekboard-client.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eekboard" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="381">an #EekboardClient</doc>
            <type name="Client" c:type="EekboardClient*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="382">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="383">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="hide_keyboard"
              c:identifier="eekboard_client_hide_keyboard">
        <source-position filename="eekboard-client.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eekboard" transfer-ownership="none">
            <type name="Client" c:type="EekboardClient*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="pop_context" c:identifier="eekboard_client_pop_context">
        <doc xml:space="preserve"
             filename="eekboard-client.c"
             line="305">Disable the current input context and enable the previous one.</doc>
        <source-position filename="eekboard-client.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eekboard" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="307">an #EekboardClient</doc>
            <type name="Client" c:type="EekboardClient*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="308">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_context" c:identifier="eekboard_client_push_context">
        <doc xml:space="preserve"
             filename="eekboard-client.c"
             line="269">Enable the input context @context and disable the others.</doc>
        <source-position filename="eekboard-client.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eekboard" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="271">an #EekboardClient</doc>
            <type name="Client" c:type="EekboardClient*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="272">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-client.c"
                 line="273">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_keyboard"
              c:identifier="eekboard_client_show_keyboard">
        <source-position filename="eekboard-client.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="eekboard" transfer-ownership="none">
            <type name="Client" c:type="EekboardClient*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent" readable="0" private="1">
        <type name="Gio.DBusProxy" c:type="GDBusProxy"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ClientPrivate" c:type="EekboardClientPrivate*"/>
      </field>
      <glib:signal name="destroyed" when="last">
        <doc xml:space="preserve"
             filename="eekboard-client.c"
             line="96">The ::destroyed signal is emitted each time the name of remote
end is vanished.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ClientClass"
            c:type="EekboardClientClass"
            glib:is-gtype-struct-for="Client">
      <source-position filename="eekboard-client.h" line="56"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Gio.DBusProxyClass" c:type="GDBusProxyClass"/>
      </field>
      <field name="destroyed">
        <callback name="destroyed">
          <source-position filename="eekboard-client.h" line="51"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Client" c:type="EekboardClient*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pdummy" readable="0" private="1">
        <array zero-terminated="0" fixed-size="23">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ClientPrivate"
            c:type="EekboardClientPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="eekboard-client.h" line="37"/>
    </record>
    <class name="Context"
           c:symbol-prefix="context"
           c:type="EekboardContext"
           parent="Gio.DBusProxy"
           glib:type-name="EekboardContext"
           glib:get-type="eekboard_context_get_type"
           glib:type-struct="ContextClass">
      <doc xml:space="preserve"
           filename="eekboard-context.h"
           line="41">The #EekboardContext structure contains only private data and
should only be accessed using the provided API.</doc>
      <source-position filename="eekboard-context.h" line="79"/>
      <implements name="Gio.AsyncInitable"/>
      <implements name="Gio.DBusInterface"/>
      <implements name="Gio.Initable"/>
      <constructor name="new" c:identifier="eekboard_context_new">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="302">Create a D-Bus proxy of an input context maintained by
eekboard-server.  This function is seldom called from applications
since eekboard_server_create_context() calls it implicitly.</doc>
        <source-position filename="eekboard-context.h" line="83"/>
        <return-value transfer-ownership="full">
          <type name="Context" c:type="EekboardContext*"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="304">a #GDBusConnection</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="305">object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="306">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="destroyed">
        <doc xml:space="preserve"
             filename="eekboard-context.h"
             line="59">class handler for #EekboardContext::destroyed signal</doc>
        <source-position filename="eekboard-context.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="disabled">
        <doc xml:space="preserve"
             filename="eekboard-context.h"
             line="57">class handler for #EekboardContext::disabled signal</doc>
        <source-position filename="eekboard-context.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="enabled">
        <doc xml:space="preserve"
             filename="eekboard-context.h"
             line="56">class handler for #EekboardContext::enabled signal</doc>
        <source-position filename="eekboard-context.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="key_activated">
        <source-position filename="eekboard-context.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="keycode" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="symbol" transfer-ownership="none">
            <type name="Eek.Symbol" c:type="EekSymbol*"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_keyboard" c:identifier="eekboard_context_add_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="380">Register @keyboard in @context.</doc>
        <source-position filename="eekboard-context.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="382">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="keyboard" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="383">a string representing keyboard</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="384">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_group" c:identifier="eekboard_context_get_group">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="499">Get the keyboard group of @context.</doc>
        <source-position filename="eekboard-context.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="501">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="502">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="hide_keyboard"
              c:identifier="eekboard_context_hide_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="540">Request eekboard-server to hide a keyboard.</doc>
        <source-position filename="eekboard-context.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="542">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="543">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_enabled" c:identifier="eekboard_context_is_enabled">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="649">Check if @context is enabled.</doc>
        <source-position filename="eekboard-context.h" line="114"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="651">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_visible"
              c:identifier="eekboard_context_is_visible"
              glib:get-property="visible">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="619">Check if keyboard is visible.</doc>
        <source-position filename="eekboard-context.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="621">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="press_keycode"
              c:identifier="eekboard_context_press_keycode">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="565">Tell eekboard-server that a key identified by @keycode is pressed.</doc>
        <source-position filename="eekboard-context.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="567">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="keycode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="568">keycode number</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="569">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="release_keycode"
              c:identifier="eekboard_context_release_keycode">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="592">Tell eekboard-server that a key identified by @keycode is released.</doc>
        <source-position filename="eekboard-context.h" line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="594">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="keycode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="595">keycode number</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="596">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_keyboard"
              c:identifier="eekboard_context_remove_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="422">Unregister the keyboard with @keyboard_id in @context.</doc>
        <source-position filename="eekboard-context.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="424">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="keyboard_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="425">keyboard ID</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="426">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enabled" c:identifier="eekboard_context_set_enabled">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="632">Set @context enabled or disabled.  This function is seldom called
since the flag is set via D-Bus signal #EekboardContext::enabled
and #EekboardContext::disabled.</doc>
        <source-position filename="eekboard-context.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="634">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="635">flag to indicate if @context is enabled</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fullscreen"
              c:identifier="eekboard_context_set_fullscreen">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="662">Set the fullscreen mode of @context.</doc>
        <source-position filename="eekboard-context.h" line="115"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="664">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="fullscreen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="665">a flag to indicate fullscreen mode</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="666">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_group" c:identifier="eekboard_context_set_group">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="472">Set the keyboard group of @context.</doc>
        <source-position filename="eekboard-context.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="474">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="group" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="475">group number</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="476">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_keyboard" c:identifier="eekboard_context_set_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="447">Select a keyboard with ID @keyboard_id in @context.</doc>
        <source-position filename="eekboard-context.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="449">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="keyboard_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="450">keyboard ID</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="451">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_keyboard"
              c:identifier="eekboard_context_show_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="514">Request eekboard-server to show a keyboard set by
eekboard_context_set_keyboard().</doc>
        <source-position filename="eekboard-context.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="516">an #EekboardContext</doc>
            <type name="Context" c:type="EekboardContext*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="517">a #GCancellable</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <property name="visible"
                transfer-ownership="none"
                getter="is_visible"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="196">Flag to indicate if keyboard is visible or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="Gio.DBusProxy" c:type="GDBusProxy"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ContextPrivate" c:type="EekboardContextPrivate*"/>
      </field>
      <glib:signal name="destroyed" when="last">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="268">The ::destroyed signal is emitted each time the name of remote
end is vanished.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="disabled" when="last">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="227">The ::disabled signal is emitted each time @context is disabled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="enabled" when="last">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="210">Emitted when @context is enabled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="key-activated" when="last">
        <doc xml:space="preserve"
             filename="eekboard-context.c"
             line="244">The ::key-activated signal is emitted each time a key is
pressed in @context.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="keycode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="247">a keycode</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="symbol" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="248">an #EekSymbol</doc>
            <type name="GObject.Object"/>
          </parameter>
          <parameter name="modifiers" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context.c"
                 line="249">modifiers</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ContextClass"
            c:type="EekboardContextClass"
            glib:is-gtype-struct-for="Context">
      <source-position filename="eekboard-context.h" line="79"/>
      <field name="parent_class" readable="0" private="1">
        <type name="Gio.DBusProxyClass" c:type="GDBusProxyClass"/>
      </field>
      <field name="enabled">
        <doc xml:space="preserve"
             filename="eekboard-context.h"
             line="56">class handler for #EekboardContext::enabled signal</doc>
        <callback name="enabled">
          <source-position filename="eekboard-context.h" line="67"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Context" c:type="EekboardContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="disabled">
        <doc xml:space="preserve"
             filename="eekboard-context.h"
             line="57">class handler for #EekboardContext::disabled signal</doc>
        <callback name="disabled">
          <source-position filename="eekboard-context.h" line="68"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Context" c:type="EekboardContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="destroyed">
        <doc xml:space="preserve"
             filename="eekboard-context.h"
             line="59">class handler for #EekboardContext::destroyed signal</doc>
        <callback name="destroyed">
          <source-position filename="eekboard-context.h" line="69"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Context" c:type="EekboardContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="key_activated">
        <callback name="key_activated">
          <source-position filename="eekboard-context.h" line="71"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Context" c:type="EekboardContext*"/>
            </parameter>
            <parameter name="keycode" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
            <parameter name="symbol" transfer-ownership="none">
              <type name="Eek.Symbol" c:type="EekSymbol*"/>
            </parameter>
            <parameter name="modifiers" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pdummy" readable="0" private="1">
        <array zero-terminated="0" fixed-size="24">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ContextPrivate"
            c:type="EekboardContextPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="eekboard-context.h" line="39"/>
    </record>
    <class name="ContextService"
           c:symbol-prefix="context_service"
           c:type="EekboardContextService"
           parent="GObject.Object"
           glib:type-name="EekboardContextService"
           glib:get-type="eekboard_context_service_get_type"
           glib:type-struct="ContextServiceClass">
      <doc xml:space="preserve"
           filename="eekboard-context-service.h"
           line="43">The #EekboardContextService structure contains only private data
and should only be accessed using the provided API.</doc>
      <source-position filename="eekboard-context-service.h" line="81"/>
      <virtual-method name="create_keyboard" introspectable="0">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="57">virtual function for create a keyboard from string</doc>
        <source-position filename="eekboard-context-service.h" line="68"/>
        <return-value>
          <type name="Eek.Keyboard" c:type="EekKeyboard*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
          <parameter name="keyboard_type" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="destroyed">
        <source-position filename="eekboard-context-service.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="disabled">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="61">class handler for #EekboardContextService::disabled signal</doc>
        <source-position filename="eekboard-context-service.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="enabled">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="60">class handler for #EekboardContextService::enabled signal</doc>
        <source-position filename="eekboard-context-service.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hide_keyboard" invoker="hide_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="59">virtual function for hide a keyboard</doc>
        <source-position filename="eekboard-context-service.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show_keyboard" invoker="show_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="58">virtual function for show a keyboard</doc>
        <source-position filename="eekboard-context-service.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="destroy" c:identifier="eekboard_context_service_destroy">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="1038">Destroy @context.</doc>
        <source-position filename="eekboard-context-service.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context-service.c"
                 line="1040">an #EekboardContextService</doc>
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="disable" c:identifier="eekboard_context_service_disable">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="982">Disable @context.  This function is called when @context is pushed
by eekboard_service_pop_context().</doc>
        <source-position filename="eekboard-context-service.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context-service.c"
                 line="984">an #EekboardContextService</doc>
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="enable" c:identifier="eekboard_context_service_enable">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="944">Enable @context.  This function is called when @context is pushed
by eekboard_service_push_context().</doc>
        <source-position filename="eekboard-context-service.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context-service.c"
                 line="946">an #EekboardContextService</doc>
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_client_name"
              c:identifier="eekboard_context_service_get_client_name"
              glib:get-property="client-name">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="1100">Get the name of client which created @context.</doc>
        <source-position filename="eekboard-context-service.h" line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="eekboard-context-service.c"
               line="1105">a string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context-service.c"
                 line="1102">an #EekboardContextService</doc>
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fullscreen"
              c:identifier="eekboard_context_service_get_fullscreen"
              glib:get-property="fullscreen">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="1087">Check if keyboard is rendered in fullscreen mode in @context.</doc>
        <source-position filename="eekboard-context-service.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="eekboard-context-service.c"
               line="1092">%TRUE or %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context-service.c"
                 line="1089">an #EekboardContextService</doc>
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_keyboard"
              c:identifier="eekboard_context_service_get_keyboard"
              glib:get-property="keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="1074">Get keyboard currently active in @context.</doc>
        <source-position filename="eekboard-context-service.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="eekboard-context-service.c"
               line="1079">an #EekKeyboard</doc>
          <type name="Eek.Keyboard" c:type="EekKeyboard*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-context-service.c"
                 line="1076">an #EekboardContextService</doc>
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="hide_keyboard"
              c:identifier="eekboard_context_service_hide_keyboard">
        <source-position filename="eekboard-context-service.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="show_keyboard"
              c:identifier="eekboard_context_service_show_keyboard">
        <source-position filename="eekboard-context-service.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="ContextService" c:type="EekboardContextService*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="client-name"
                writable="1"
                transfer-ownership="none"
                getter="get_client_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="469">Name of a client who created this context service.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="connection"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="455">D-Bus connection.</doc>
        <type name="Gio.DBusConnection"/>
      </property>
      <property name="fullscreen"
                writable="1"
                transfer-ownership="none"
                getter="get_fullscreen"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="511">Flag to indicate if keyboard is rendered in fullscreen mode.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="keyboard"
                writable="1"
                transfer-ownership="none"
                getter="get_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="483">An #EekKeyboard currently active in this context.</doc>
        <type name="Eek.Keyboard"/>
      </property>
      <property name="object-path"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="441">D-Bus object path.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="visible"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="497">Flag to indicate if keyboard is visible or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ContextServicePrivate"
              c:type="EekboardContextServicePrivate*"/>
      </field>
      <glib:signal name="destroyed" when="last">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="424">Emitted when @context is destroyed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="disabled" when="last">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="407">Emitted when @context is enabled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="enabled" when="last">
        <doc xml:space="preserve"
             filename="eekboard-context-service.c"
             line="390">Emitted when @context is enabled.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ContextServiceClass"
            c:type="EekboardContextServiceClass"
            glib:is-gtype-struct-for="ContextService">
      <source-position filename="eekboard-context-service.h" line="81"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="create_keyboard" introspectable="0">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="57">virtual function for create a keyboard from string</doc>
        <callback name="create_keyboard" introspectable="0">
          <source-position filename="eekboard-context-service.h" line="68"/>
          <return-value>
            <type name="Eek.Keyboard" c:type="EekKeyboard*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ContextService" c:type="EekboardContextService*"/>
            </parameter>
            <parameter name="keyboard_type" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="show_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="58">virtual function for show a keyboard</doc>
        <callback name="show_keyboard">
          <source-position filename="eekboard-context-service.h" line="70"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ContextService" c:type="EekboardContextService*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hide_keyboard">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="59">virtual function for hide a keyboard</doc>
        <callback name="hide_keyboard">
          <source-position filename="eekboard-context-service.h" line="71"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ContextService" c:type="EekboardContextService*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="enabled">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="60">class handler for #EekboardContextService::enabled signal</doc>
        <callback name="enabled">
          <source-position filename="eekboard-context-service.h" line="74"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ContextService" c:type="EekboardContextService*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="disabled">
        <doc xml:space="preserve"
             filename="eekboard-context-service.h"
             line="61">class handler for #EekboardContextService::disabled signal</doc>
        <callback name="disabled">
          <source-position filename="eekboard-context-service.h" line="75"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ContextService" c:type="EekboardContextService*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="destroyed">
        <callback name="destroyed">
          <source-position filename="eekboard-context-service.h" line="76"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ContextService" c:type="EekboardContextService*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pdummy" readable="0" private="1">
        <array zero-terminated="0" fixed-size="24">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ContextServicePrivate"
            c:type="EekboardContextServicePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="eekboard-context-service.h" line="41"/>
    </record>
    <function-macro name="IS_CLIENT"
                    c:identifier="EEKBOARD_IS_CLIENT"
                    introspectable="0">
      <source-position filename="eekboard-client.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CLIENT_CLASS"
                    c:identifier="EEKBOARD_IS_CLIENT_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-client.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONTEXT"
                    c:identifier="EEKBOARD_IS_CONTEXT"
                    introspectable="0">
      <source-position filename="eekboard-context.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONTEXT_CLASS"
                    c:identifier="EEKBOARD_IS_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-context.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONTEXT_SERVICE"
                    c:identifier="EEKBOARD_IS_CONTEXT_SERVICE"
                    introspectable="0">
      <source-position filename="eekboard-context-service.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONTEXT_SERVICE_CLASS"
                    c:identifier="EEKBOARD_IS_CONTEXT_SERVICE_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-context-service.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SERVICE"
                    c:identifier="EEKBOARD_IS_SERVICE"
                    introspectable="0">
      <source-position filename="eekboard-service.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SERVICE_CLASS"
                    c:identifier="EEKBOARD_IS_SERVICE_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-service.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SERVICE"
                    c:identifier="EEKBOARD_SERVICE"
                    introspectable="0">
      <source-position filename="eekboard-service.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SERVICE_CLASS"
                    c:identifier="EEKBOARD_SERVICE_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-service.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SERVICE_GET_CLASS"
                    c:identifier="EEKBOARD_SERVICE_GET_CLASS"
                    introspectable="0">
      <source-position filename="eekboard-service.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="SERVICE_H" value="1" c:type="EEKBOARD_SERVICE_H">
      <source-position filename="eekboard-service.h" line="19"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="SERVICE_INTERFACE"
              value="org.fedorahosted.Eekboard"
              c:type="EEKBOARD_SERVICE_INTERFACE">
      <source-position filename="eekboard-service.h" line="28"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="SERVICE_PATH"
              value="/org/fedorahosted/Eekboard"
              c:type="EEKBOARD_SERVICE_PATH">
      <source-position filename="eekboard-service.h" line="27"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Service"
           c:symbol-prefix="service"
           c:type="EekboardService"
           parent="GObject.Object"
           glib:type-name="EekboardService"
           glib:get-type="eekboard_service_get_type"
           glib:type-struct="ServiceClass">
      <doc xml:space="preserve"
           filename="eekboard-service.h"
           line="41">The #EekboardService structure contains only private data and
should only be accessed using the provided API.</doc>
      <source-position filename="eekboard-service.h" line="70"/>
      <constructor name="new" c:identifier="eekboard_service_new">
        <doc xml:space="preserve"
             filename="eekboard-service.c"
             line="506">Create an empty server for testing purpose.</doc>
        <source-position filename="eekboard-service.h" line="73"/>
        <return-value transfer-ownership="full">
          <type name="Service" c:type="EekboardService*"/>
        </return-value>
        <parameters>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-service.c"
                 line="508">a #GDBusConnection</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="eekboard-service.c"
                 line="509">object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="create_context" introspectable="0">
        <doc xml:space="preserve"
             filename="eekboard-service.h"
             line="56">virtual function for creating a context</doc>
        <source-position filename="eekboard-service.h" line="63"/>
        <return-value>
          <type name="ContextService" c:type="EekboardContextService*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Service" c:type="EekboardService*"/>
          </instance-parameter>
          <parameter name="client_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <property name="connection"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="eekboard-service.c"
             line="263">D-Bus connection.</doc>
        <type name="Gio.DBusConnection"/>
      </property>
      <property name="object-path"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="eekboard-service.c"
             line="249">D-Bus object path.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ServicePrivate" c:type="EekboardServicePrivate*"/>
      </field>
      <glib:signal name="destroyed" when="last">
        <doc xml:space="preserve"
             filename="eekboard-service.c"
             line="232">The ::destroyed signal is emitted when the service is vanished.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ServiceClass"
            c:type="EekboardServiceClass"
            glib:is-gtype-struct-for="Service">
      <source-position filename="eekboard-service.h" line="70"/>
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="create_context" introspectable="0">
        <doc xml:space="preserve"
             filename="eekboard-service.h"
             line="56">virtual function for creating a context</doc>
        <callback name="create_context" introspectable="0">
          <source-position filename="eekboard-service.h" line="63"/>
          <return-value>
            <type name="ContextService" c:type="EekboardContextService*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Service" c:type="EekboardService*"/>
            </parameter>
            <parameter name="client_name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="object_path" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="pdummy" readable="0" private="1">
        <array zero-terminated="0" fixed-size="24">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ServicePrivate"
            c:type="EekboardServicePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="eekboard-service.h" line="39"/>
    </record>
    <constant name="XKLUTIL_H" value="1" c:type="EEKBOARD_XKLUTIL_H">
      <source-position filename="eekboard-xklutil.h" line="21"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <docsection name="eekboard-client">
      <doc xml:space="preserve"
           filename="eekboard-client.c"
           line="19">The #EekboardClient class provides a client side access to eekboard-server.</doc>
    </docsection>
    <docsection name="eekboard-context">
      <doc xml:space="preserve"
           filename="eekboard-context.c"
           line="19">The #EekboardContext class provides a client access to remote input
context.</doc>
    </docsection>
    <docsection name="eekboard-context-service">
      <doc xml:space="preserve"
           filename="eekboard-context-service.c"
           line="19">The #EekboardService class provides a base server side
implementation of eekboard input context service.</doc>
    </docsection>
    <docsection name="eekboard-service">
      <doc xml:space="preserve"
           filename="eekboard-service.c"
           line="19">The #EekboardService class provides a base server side
implementation of eekboard service.</doc>
    </docsection>
    <function name="xkl_config_rec_from_string"
              c:identifier="eekboard_xkl_config_rec_from_string"
              introspectable="0">
      <source-position filename="eekboard-xklutil.h" line="27"/>
      <return-value>
        <type c:type="XklConfigRec*"/>
      </return-value>
      <parameters>
        <parameter name="layouts" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="xkl_config_rec_to_string"
              c:identifier="eekboard_xkl_config_rec_to_string"
              introspectable="0">
      <source-position filename="eekboard-xklutil.h" line="28"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="rec" transfer-ownership="none">
          <type c:type="XklConfigRec*"/>
        </parameter>
      </parameters>
    </function>
    <function name="xkl_list_layout_variants"
              c:identifier="eekboard_xkl_list_layout_variants"
              introspectable="0">
      <source-position filename="eekboard-xklutil.h" line="33"/>
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="registry" transfer-ownership="none">
          <type c:type="XklConfigRegistry*"/>
        </parameter>
        <parameter name="layout" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="xkl_list_layouts"
              c:identifier="eekboard_xkl_list_layouts"
              introspectable="0">
      <source-position filename="eekboard-xklutil.h" line="31"/>
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="registry" transfer-ownership="none">
          <type c:type="XklConfigRegistry*"/>
        </parameter>
      </parameters>
    </function>
    <function name="xkl_list_models"
              c:identifier="eekboard_xkl_list_models"
              introspectable="0">
      <source-position filename="eekboard-xklutil.h" line="30"/>
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="registry" transfer-ownership="none">
          <type c:type="XklConfigRegistry*"/>
        </parameter>
      </parameters>
    </function>
    <function name="xkl_list_option_groups"
              c:identifier="eekboard_xkl_list_option_groups"
              introspectable="0">
      <source-position filename="eekboard-xklutil.h" line="32"/>
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="registry" transfer-ownership="none">
          <type c:type="XklConfigRegistry*"/>
        </parameter>
      </parameters>
    </function>
    <function name="xkl_list_options"
              c:identifier="eekboard_xkl_list_options"
              introspectable="0">
      <source-position filename="eekboard-xklutil.h" line="35"/>
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="registry" transfer-ownership="none">
          <type c:type="XklConfigRegistry*"/>
        </parameter>
        <parameter name="group" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
