<?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="Gio" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <c:include name="gtk-frdp.h"/>
  <namespace name="GtkFrdp"
             version="0.1"
             shared-library="libgtk-frdp-0.1.so"
             c:identifier-prefixes="Frdp"
             c:symbol-prefixes="frdp">
    <class name="Display"
           c:symbol-prefix="display"
           c:type="FrdpDisplay"
           parent="Gtk.DrawingArea"
           glib:type-name="FrdpDisplay"
           glib:get-type="frdp_display_get_type"
           glib:type-struct="DisplayClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="frdp_display_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="authenticate" invoker="authenticate">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Display" c:type="FrdpDisplay*"/>
          </instance-parameter>
          <parameter name="username" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="password" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="domain" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="authenticate" c:identifier="frdp_display_authenticate">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Display" c:type="FrdpDisplay*"/>
          </instance-parameter>
          <parameter name="username" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="password" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="domain" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="close" c:identifier="frdp_display_close">
        <doc xml:space="preserve">Request the closing of the RDP session.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="display" transfer-ownership="none">
            <doc xml:space="preserve">the RDP display widget</doc>
            <type name="Display" c:type="FrdpDisplay*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixbuf" c:identifier="frdp_display_get_pixbuf">
        <doc xml:space="preserve">Take a screenshot of the display.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GdkPixbuf with the screenshot image buffer</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="display" transfer-ownership="none">
            <doc xml:space="preserve">the RDP display widget</doc>
            <type name="Display" c:type="FrdpDisplay*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_open" c:identifier="frdp_display_is_open">
        <doc xml:space="preserve">Check if the connection for the display is currently open</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">TRUE if open, FALSE if closing/closed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="display" transfer-ownership="none">
            <doc xml:space="preserve">the RDP display widget</doc>
            <type name="Display" c:type="FrdpDisplay*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="open_host" c:identifier="frdp_display_open_host">
        <doc xml:space="preserve">Opens a TCP connection to the given @host litening on
@port.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="display" transfer-ownership="none">
            <doc xml:space="preserve">the RDP display widget</doc>
            <type name="Display" c:type="FrdpDisplay*"/>
          </instance-parameter>
          <parameter name="host" transfer-ownership="none">
            <doc xml:space="preserve">the hostname or IP address</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="port" transfer-ownership="none">
            <doc xml:space="preserve">the service name or port number</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scaling" c:identifier="frdp_display_set_scaling">
        <doc xml:space="preserve">Set whether the remote desktop contents is automatically
scaled to fit the available widget size, or whether it will
be rendered at 1:1 size</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="display" transfer-ownership="none">
            <doc xml:space="preserve">the RDP display widget</doc>
            <type name="Display" c:type="FrdpDisplay*"/>
          </instance-parameter>
          <parameter name="scaling" transfer-ownership="none">
            <doc xml:space="preserve">TRUE to scale the desktop to fit, FALSE otherwise</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="password" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="scaling" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="username" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.DrawingArea" c:type="GtkDrawingArea"/>
      </field>
      <glib:signal name="rdp-connected" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="rdp-disconnected" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="rdp-needs-authentication" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="DisplayClass"
            c:type="FrdpDisplayClass"
            glib:is-gtype-struct-for="Display">
      <field name="parent_parent">
        <type name="Gtk.DrawingAreaClass" c:type="GtkDrawingAreaClass"/>
      </field>
      <field name="authenticate">
        <callback name="authenticate">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Display" c:type="FrdpDisplay*"/>
            </parameter>
            <parameter name="username" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="password" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="domain" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DisplayPrivate" c:type="FrdpDisplayPrivate" disguised="1">
    </record>
    <bitfield name="KeyEvent" c:type="FrdpKeyEvent">
      <member name="press" value="1" c:identifier="FRDP_KEY_EVENT_PRESS">
      </member>
      <member name="release" value="2" c:identifier="FRDP_KEY_EVENT_RELEASE">
      </member>
    </bitfield>
    <bitfield name="MouseEvent" c:type="FrdpMouseEvent">
      <member name="move" value="1" c:identifier="FRDP_MOUSE_EVENT_MOVE">
      </member>
      <member name="down" value="2" c:identifier="FRDP_MOUSE_EVENT_DOWN">
      </member>
      <member name="wheel" value="4" c:identifier="FRDP_MOUSE_EVENT_WHEEL">
      </member>
      <member name="wheel_negative"
              value="8"
              c:identifier="FRDP_MOUSE_EVENT_WHEEL_NEGATIVE">
      </member>
      <member name="button1"
              value="16"
              c:identifier="FRDP_MOUSE_EVENT_BUTTON1">
      </member>
      <member name="button2"
              value="32"
              c:identifier="FRDP_MOUSE_EVENT_BUTTON2">
      </member>
      <member name="button3"
              value="64"
              c:identifier="FRDP_MOUSE_EVENT_BUTTON3">
      </member>
      <member name="button4"
              value="128"
              c:identifier="FRDP_MOUSE_EVENT_BUTTON4">
      </member>
      <member name="button5"
              value="256"
              c:identifier="FRDP_MOUSE_EVENT_BUTTON5">
      </member>
      <member name="hwheel" value="512" c:identifier="FRDP_MOUSE_EVENT_HWHEEL">
      </member>
    </bitfield>
    <class name="Session"
           c:symbol-prefix="session"
           c:type="FrdpSession"
           parent="GObject.Object"
           glib:type-name="FrdpSession"
           glib:get-type="frdp_session_get_type"
           glib:type-struct="SessionClass">
      <constructor name="new" c:identifier="frdp_session_new">
        <return-value transfer-ownership="full">
          <type name="Session" c:type="FrdpSession*"/>
        </return-value>
        <parameters>
          <parameter name="display" transfer-ownership="none">
            <type name="Display" c:type="FrdpDisplay*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="close" c:identifier="frdp_session_close">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="FrdpSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="connect" c:identifier="frdp_session_connect">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="FrdpSession*"/>
          </instance-parameter>
          <parameter name="hostname" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="port" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="connect_finish"
              c:identifier="frdp_session_connect_finish"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="FrdpSession*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_pixbuf"
              c:identifier="frdp_session_get_pixbuf"
              introspectable="0">
        <return-value>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="FrdpSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_open" c:identifier="frdp_session_is_open">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="FrdpSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="mouse_event" c:identifier="frdp_session_mouse_event">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="FrdpSession*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="MouseEvent" c:type="FrdpMouseEvent"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="mouse_pointer" c:identifier="frdp_session_mouse_pointer">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="FrdpSession*"/>
          </instance-parameter>
          <parameter name="enter" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_key" c:identifier="frdp_session_send_key">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Session" c:type="FrdpSession*"/>
          </instance-parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="KeyEvent" c:type="FrdpKeyEvent"/>
          </parameter>
          <parameter name="keycode" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <property name="display" writable="1" transfer-ownership="none">
        <type name="Gtk.Widget"/>
      </property>
      <property name="hostname" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="password" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="port" writable="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="scaling" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="username" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="SessionPrivate" c:type="FrdpSessionPrivate*"/>
      </field>
      <glib:signal name="rdp-disconnected" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="SessionClass"
            c:type="FrdpSessionClass"
            glib:is-gtype-struct-for="Session">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="SessionPrivate" c:type="FrdpSessionPrivate" disguised="1">
    </record>
  </namespace>
</repository>
