<?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="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <package name="gvnc-1.0"/>
  <c:include name="gvnc.h"/>
  <doc:format name="unknown"/>
  <namespace name="GVnc"
             version="1.0"
             shared-library="libgvnc-1.0.so.0"
             c:identifier-prefixes="Vnc"
             c:symbol-prefixes="vnc">
    <function-macro name="AUDIO" c:identifier="VNC_AUDIO" introspectable="0">
      <source-position filename="src/vncaudio.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="AUDIO_GET_INTERFACE"
                    c:identifier="VNC_AUDIO_GET_INTERFACE"
                    introspectable="0">
      <source-position filename="src/vncaudio.h" line="34"/>
      <parameters>
        <parameter name="inst">
        </parameter>
      </parameters>
    </function-macro>
    <interface name="Audio"
               c:symbol-prefix="audio"
               c:type="VncAudio"
               glib:type-name="VncAudio"
               glib:get-type="vnc_audio_get_type"
               glib:type-struct="AudioInterface">
      <source-position filename="src/vncaudio.h" line="46"/>
      <virtual-method name="playback_data">
        <source-position filename="src/vncaudio.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="audio" transfer-ownership="none">
            <type name="Audio" c:type="VncAudio*"/>
          </instance-parameter>
          <parameter name="sample" transfer-ownership="none">
            <type name="AudioSample" c:type="VncAudioSample*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="playback_start">
        <source-position filename="src/vncaudio.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="audio" transfer-ownership="none">
            <type name="Audio" c:type="VncAudio*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="AudioFormat" c:type="VncAudioFormat*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="playback_stop">
        <source-position filename="src/vncaudio.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="audio" transfer-ownership="none">
            <type name="Audio" c:type="VncAudio*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="playback_data" c:identifier="vnc_audio_playback_data">
        <doc xml:space="preserve"
             filename="src/vncaudio.c"
             line="51">Request playback of a single audio sample in @sample</doc>
        <source-position filename="src/vncaudio.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="aud" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudio.c"
                 line="53">the audio object</doc>
            <type name="Audio" c:type="VncAudio*"/>
          </instance-parameter>
          <parameter name="sample" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudio.c"
                 line="54">the audio sample</doc>
            <type name="AudioSample" c:type="VncAudioSample*"/>
          </parameter>
        </parameters>
      </method>
      <method name="playback_start" c:identifier="vnc_audio_playback_start">
        <doc xml:space="preserve"
             filename="src/vncaudio.c"
             line="25">Indicate that the remote desktop is about to start
audio playback in format @format.</doc>
        <source-position filename="src/vncaudio.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="aud" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudio.c"
                 line="27">the audio object</doc>
            <type name="Audio" c:type="VncAudio*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudio.c"
                 line="28">the new audio format</doc>
            <type name="AudioFormat" c:type="VncAudioFormat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="playback_stop" c:identifier="vnc_audio_playback_stop">
        <doc xml:space="preserve"
             filename="src/vncaudio.c"
             line="39">Indicate that the remote desktop has completed
audio playback</doc>
        <source-position filename="src/vncaudio.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="aud" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudio.c"
                 line="41">the audio object</doc>
            <type name="Audio" c:type="VncAudio*"/>
          </instance-parameter>
        </parameters>
      </method>
    </interface>
    <record name="AudioFormat"
            c:type="VncAudioFormat"
            glib:type-name="VncAudioFormat"
            glib:get-type="vnc_audio_format_get_type"
            c:symbol-prefix="audio_format">
      <source-position filename="src/vncaudioformat.h" line="37"/>
      <field name="format" writable="1">
        <type name="guint8" c:type="guint8"/>
      </field>
      <field name="nchannels" writable="1">
        <type name="guint8" c:type="guint8"/>
      </field>
      <field name="frequency" writable="1">
        <type name="guint32" c:type="guint32"/>
      </field>
      <constructor name="new" c:identifier="vnc_audio_format_new">
        <doc xml:space="preserve"
             filename="src/vncaudioformat.c"
             line="40">Allocate a new VNC audio format struct whose
contents is initialized to all zeros. The
struct must be released using vnc_audio_format_free
when no longer required</doc>
        <source-position filename="src/vncaudioformat.h" line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vncaudioformat.c"
               line="48">the new audio format struct</doc>
          <type name="AudioFormat" c:type="VncAudioFormat*"/>
        </return-value>
      </constructor>
      <method name="copy" c:identifier="vnc_audio_format_copy">
        <doc xml:space="preserve"
             filename="src/vncaudioformat.c"
             line="60">Allocate a new VNC audio format struct whose
contents is initialized with the data found
in @format. The struct must be released using
vnc_audio_format_free when no longer required.</doc>
        <source-position filename="src/vncaudioformat.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vncaudioformat.c"
               line="69">the new audio format struct</doc>
          <type name="AudioFormat" c:type="VncAudioFormat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudioformat.c"
                 line="62">the format to copy</doc>
            <type name="AudioFormat" c:type="VncAudioFormat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="vnc_audio_format_free">
        <doc xml:space="preserve"
             filename="src/vncaudioformat.c"
             line="81">Release the memory associated with @format</doc>
        <source-position filename="src/vncaudioformat.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudioformat.c"
                 line="83">the format to free</doc>
            <type name="AudioFormat" c:type="VncAudioFormat*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="AudioFormatType" c:type="VncAudioFormatType">
      <source-position filename="src/vncaudioformat.h" line="46"/>
      <member name="u8" value="0" c:identifier="VNC_AUDIO_FORMAT_RAW_U8">
      </member>
      <member name="s8" value="1" c:identifier="VNC_AUDIO_FORMAT_RAW_S8">
      </member>
      <member name="u16" value="2" c:identifier="VNC_AUDIO_FORMAT_RAW_U16">
      </member>
      <member name="s16" value="3" c:identifier="VNC_AUDIO_FORMAT_RAW_S16">
      </member>
      <member name="u32" value="4" c:identifier="VNC_AUDIO_FORMAT_RAW_U32">
      </member>
      <member name="s32" value="5" c:identifier="VNC_AUDIO_FORMAT_RAW_S32">
      </member>
    </enumeration>
    <record name="AudioInterface"
            c:type="VncAudioInterface"
            glib:is-gtype-struct-for="Audio">
      <source-position filename="src/vncaudio.h" line="46"/>
      <field name="parent">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="playback_start">
        <callback name="playback_start">
          <source-position filename="src/vncaudio.h" line="43"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="audio" transfer-ownership="none">
              <type name="Audio" c:type="VncAudio*"/>
            </parameter>
            <parameter name="format" transfer-ownership="none">
              <type name="AudioFormat" c:type="VncAudioFormat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="playback_stop">
        <callback name="playback_stop">
          <source-position filename="src/vncaudio.h" line="44"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="audio" transfer-ownership="none">
              <type name="Audio" c:type="VncAudio*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="playback_data">
        <callback name="playback_data">
          <source-position filename="src/vncaudio.h" line="45"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="audio" transfer-ownership="none">
              <type name="Audio" c:type="VncAudio*"/>
            </parameter>
            <parameter name="sample" transfer-ownership="none">
              <type name="AudioSample" c:type="VncAudioSample*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="AudioSample"
            c:type="VncAudioSample"
            glib:type-name="VncAudioSample"
            glib:get-type="vnc_audio_sample_get_type"
            c:symbol-prefix="audio_sample">
      <source-position filename="src/vncaudiosample.h" line="37"/>
      <field name="data" writable="1">
        <type name="guint8" c:type="guint8*"/>
      </field>
      <field name="length" writable="1">
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="capacity" writable="1">
        <type name="guint32" c:type="guint32"/>
      </field>
      <constructor name="new" c:identifier="vnc_audio_sample_new">
        <doc xml:space="preserve"
             filename="src/vncaudiosample.c"
             line="42">Allocate a new audio sample able to store @capacity
bytes of audio data.

The returned sample must be freed with
vnc_audio_sample_free when no longer required.</doc>
        <source-position filename="src/vncaudiosample.h" line="41"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vncaudiosample.c"
               line="52">the new audio sample.</doc>
          <type name="AudioSample" c:type="VncAudioSample*"/>
        </return-value>
        <parameters>
          <parameter name="capacity" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudiosample.c"
                 line="44">the sample size in bytes</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy" c:identifier="vnc_audio_sample_copy">
        <doc xml:space="preserve"
             filename="src/vncaudiosample.c"
             line="67">Allocate a new audio sample, initializing it with a copy
of the data in @sample.

The returned sample must be freed with
vnc_audio_sample_free when no longer required.</doc>
        <source-position filename="src/vncaudiosample.h" line="42"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vncaudiosample.c"
               line="77">the new audio sample.</doc>
          <type name="AudioSample" c:type="VncAudioSample*"/>
        </return-value>
        <parameters>
          <instance-parameter name="sample" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudiosample.c"
                 line="69">the sample to copy</doc>
            <type name="AudioSample" c:type="VncAudioSample*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="vnc_audio_sample_free">
        <doc xml:space="preserve"
             filename="src/vncaudiosample.c"
             line="91">Release memory associated with the audio sample
@sample</doc>
        <source-position filename="src/vncaudiosample.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sample" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncaudiosample.c"
                 line="93">the sample to free</doc>
            <type name="AudioSample" c:type="VncAudioSample*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <function-macro name="BASE_AUDIO"
                    c:identifier="VNC_BASE_AUDIO"
                    introspectable="0">
      <source-position filename="src/vncbaseaudio.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BASE_AUDIO_CLASS"
                    c:identifier="VNC_BASE_AUDIO_CLASS"
                    introspectable="0">
      <source-position filename="src/vncbaseaudio.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BASE_AUDIO_GET_CLASS"
                    c:identifier="VNC_BASE_AUDIO_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/vncbaseaudio.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BASE_FRAMEBUFFER"
                    c:identifier="VNC_BASE_FRAMEBUFFER"
                    introspectable="0">
      <source-position filename="src/vncbaseframebuffer.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BASE_FRAMEBUFFER_CLASS"
                    c:identifier="VNC_BASE_FRAMEBUFFER_CLASS"
                    introspectable="0">
      <source-position filename="src/vncbaseframebuffer.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BASE_FRAMEBUFFER_GET_CLASS"
                    c:identifier="VNC_BASE_FRAMEBUFFER_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/vncbaseframebuffer.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="BaseAudio"
           c:symbol-prefix="base_audio"
           c:type="VncBaseAudio"
           parent="GObject.Object"
           glib:type-name="VncBaseAudio"
           glib:get-type="vnc_base_audio_get_type"
           glib:type-struct="BaseAudioClass">
      <source-position filename="src/vncbaseaudio.h" line="56"/>
      <implements name="Audio"/>
      <constructor name="new" c:identifier="vnc_base_audio_new">
        <doc xml:space="preserve"
             filename="src/vncbaseaudio.c"
             line="85">Create a new generic VNC audio object, which will emit
signals when key audio events occur. Callers can connect
to these signals to provide playback facilities.</doc>
        <source-position filename="src/vncbaseaudio.h" line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vncbaseaudio.c"
               line="92">a new audio object</doc>
          <type name="BaseAudio" c:type="VncBaseAudio*"/>
        </return-value>
      </constructor>
      <virtual-method name="playback_data">
        <source-position filename="src/vncbaseaudio.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="audio" transfer-ownership="none">
            <type name="BaseAudio" c:type="VncBaseAudio*"/>
          </instance-parameter>
          <parameter name="sample" transfer-ownership="none">
            <type name="AudioSample" c:type="VncAudioSample*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="playback_start">
        <source-position filename="src/vncbaseaudio.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="audio" transfer-ownership="none">
            <type name="BaseAudio" c:type="VncBaseAudio*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="AudioFormat" c:type="VncAudioFormat*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="playback_stop">
        <source-position filename="src/vncbaseaudio.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="audio" transfer-ownership="none">
            <type name="BaseAudio" c:type="VncBaseAudio*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="BaseAudioPrivate" c:type="VncBaseAudioPrivate*"/>
      </field>
      <glib:signal name="vnc-audio-playback-data" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="AudioSample"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-audio-playback-start" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="AudioFormat"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-audio-playback-stop" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="BaseAudioClass"
            c:type="VncBaseAudioClass"
            glib:is-gtype-struct-for="BaseAudio">
      <source-position filename="src/vncbaseaudio.h" line="56"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="playback_start">
        <callback name="playback_start">
          <source-position filename="src/vncbaseaudio.h" line="53"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="audio" transfer-ownership="none">
              <type name="BaseAudio" c:type="VncBaseAudio*"/>
            </parameter>
            <parameter name="format" transfer-ownership="none">
              <type name="AudioFormat" c:type="VncAudioFormat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="playback_stop">
        <callback name="playback_stop">
          <source-position filename="src/vncbaseaudio.h" line="54"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="audio" transfer-ownership="none">
              <type name="BaseAudio" c:type="VncBaseAudio*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="playback_data">
        <callback name="playback_data">
          <source-position filename="src/vncbaseaudio.h" line="55"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="audio" transfer-ownership="none">
              <type name="BaseAudio" c:type="VncBaseAudio*"/>
            </parameter>
            <parameter name="sample" transfer-ownership="none">
              <type name="AudioSample" c:type="VncAudioSample*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="BaseAudioPrivate"
            c:type="VncBaseAudioPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/vncbaseaudio.h" line="39"/>
    </record>
    <class name="BaseFramebuffer"
           c:symbol-prefix="base_framebuffer"
           c:type="VncBaseFramebuffer"
           parent="GObject.Object"
           glib:type-name="VncBaseFramebuffer"
           glib:get-type="vnc_base_framebuffer_get_type"
           glib:type-struct="BaseFramebufferClass">
      <source-position filename="src/vncbaseframebuffer.h" line="62"/>
      <implements name="Framebuffer"/>
      <constructor name="new" c:identifier="vnc_base_framebuffer_new">
        <doc xml:space="preserve"
             filename="src/vncbaseframebuffer.c"
             line="330">Allocate a new general purpose framebuffer object storing
screen updates in @buffer. @buffer must be @height *
@rowstride bytes in size. The returned object will
store a pointer to @buffer, so it should not be free'd
for as long as the framebuffer object exists</doc>
        <source-position filename="src/vncbaseframebuffer.h" line="67"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vncbaseframebuffer.c"
               line="345">the new framebuffer</doc>
          <type name="BaseFramebuffer" c:type="VncBaseFramebuffer*"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncbaseframebuffer.c"
                 line="332">the buffer representing the screen</doc>
            <array zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncbaseframebuffer.c"
                 line="333">the width of the screen</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncbaseframebuffer.c"
                 line="334">the height of the screen</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="rowstride" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncbaseframebuffer.c"
                 line="335">the number of bytes per line in @buffer</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="localFormat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncbaseframebuffer.c"
                 line="336">the format for data stored in @buffer</doc>
            <type name="PixelFormat" c:type="const VncPixelFormat*"/>
          </parameter>
          <parameter name="remoteFormat" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncbaseframebuffer.c"
                 line="337">the format for data before storage in @buffer</doc>
            <type name="PixelFormat" c:type="const VncPixelFormat*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="buffer"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="color-map" writable="1" transfer-ownership="none">
        <type name="ColorMap"/>
      </property>
      <property name="height"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="local-format"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="PixelFormat"/>
      </property>
      <property name="remote-format"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="PixelFormat"/>
      </property>
      <property name="rowstride"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="width"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="BaseFramebufferPrivate"
              c:type="VncBaseFramebufferPrivate*"/>
      </field>
    </class>
    <record name="BaseFramebufferClass"
            c:type="VncBaseFramebufferClass"
            glib:is-gtype-struct-for="BaseFramebuffer">
      <source-position filename="src/vncbaseframebuffer.h" line="62"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_vnc_reserved">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="BaseFramebufferPrivate"
            c:type="VncBaseFramebufferPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/vncbaseframebuffer.h" line="41"/>
    </record>
    <function-macro name="CHECK_VERSION"
                    c:identifier="VNC_CHECK_VERSION"
                    introspectable="0">
      <source-position filename="src/vncversion.h" line="34"/>
      <parameters>
        <parameter name="major">
        </parameter>
        <parameter name="minor">
        </parameter>
        <parameter name="micro">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONNECTION"
                    c:identifier="VNC_CONNECTION"
                    introspectable="0">
      <source-position filename="src/vncconnection.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONNECTION_CLASS"
                    c:identifier="VNC_CONNECTION_CLASS"
                    introspectable="0">
      <source-position filename="src/vncconnection.h" line="37"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CONNECTION_GET_CLASS"
                    c:identifier="VNC_CONNECTION_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/vncconnection.h" line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CURSOR" c:identifier="VNC_CURSOR" introspectable="0">
      <source-position filename="src/vnccursor.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CURSOR_CLASS"
                    c:identifier="VNC_CURSOR_CLASS"
                    introspectable="0">
      <source-position filename="src/vnccursor.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CURSOR_GET_CLASS"
                    c:identifier="VNC_CURSOR_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/vnccursor.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <record name="ColorMap"
            c:type="VncColorMap"
            glib:type-name="VncColorMap"
            glib:get-type="vnc_color_map_get_type"
            c:symbol-prefix="color_map">
      <source-position filename="src/vnccolormap.h" line="41"/>
      <field name="offset" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="size" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="colors" writable="1">
        <type name="ColorMapEntry" c:type="VncColorMapEntry*"/>
      </field>
      <constructor name="new" c:identifier="vnc_color_map_new">
        <doc xml:space="preserve"
             filename="src/vnccolormap.c"
             line="42">Allocate a new colour map object able to store colour
map entries with indexes in the range @offset to
@offset + @size.

The color map must be freed with vnc_color_map_free
when no longer required.</doc>
        <source-position filename="src/vnccolormap.h" line="54"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vnccolormap.c"
               line="54">the new color map</doc>
          <type name="ColorMap" c:type="VncColorMap*"/>
        </return-value>
        <parameters>
          <parameter name="offset" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="44">the offset at which the color map starts</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="45">the number of entries</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="copy" c:identifier="vnc_color_map_copy">
        <doc xml:space="preserve"
             filename="src/vnccolormap.c"
             line="69">Allocate a new color map initializing it with a
copy of the data stored in @map.</doc>
        <source-position filename="src/vnccolormap.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vnccolormap.c"
               line="76">the new color map</doc>
          <type name="ColorMap" c:type="VncColorMap*"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="71">the original color map</doc>
            <type name="ColorMap" c:type="VncColorMap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="vnc_color_map_free">
        <doc xml:space="preserve"
             filename="src/vnccolormap.c"
             line="90">Release the memory associated with the
color map @map</doc>
        <source-position filename="src/vnccolormap.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="92">the color map object</doc>
            <type name="ColorMap" c:type="VncColorMap*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="vnc_color_map_lookup">
        <doc xml:space="preserve"
             filename="src/vnccolormap.c"
             line="133">Lookup the RGB values associated with the
colour map entry at position @idx</doc>
        <source-position filename="src/vnccolormap.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vnccolormap.c"
               line="144">TRUE if @idx was in range, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="135">the color map object</doc>
            <type name="ColorMap" c:type="VncColorMap*"/>
          </instance-parameter>
          <parameter name="idx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="136">the index to set</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="red"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="137">pointer to hold the red value</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
          <parameter name="green"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="138">pointer to hold the green value</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
          <parameter name="blue"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="139">pointer to hold the blue value</doc>
            <type name="guint16" c:type="guint16*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set" c:identifier="vnc_color_map_set">
        <doc xml:space="preserve"
             filename="src/vnccolormap.c"
             line="103">Update the RGB value associated with the
color map entry at position @idx.</doc>
        <source-position filename="src/vnccolormap.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vnccolormap.c"
               line="114">TRUE if @idx was in range, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="105">the color map object</doc>
            <type name="ColorMap" c:type="VncColorMap*"/>
          </instance-parameter>
          <parameter name="idx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="106">the index to set</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="red" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="107">the new red value</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="green" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="108">the new green value</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="blue" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccolormap.c"
                 line="109">the new blue value</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ColorMapEntry" c:type="VncColorMapEntry">
      <source-position filename="src/vnccolormap.h" line="49"/>
      <field name="red" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="green" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="blue" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
    </record>
    <class name="Connection"
           c:symbol-prefix="connection"
           c:type="VncConnection"
           parent="GObject.Object"
           glib:type-name="VncConnection"
           glib:get-type="vnc_connection_get_type"
           glib:type-struct="ConnectionClass">
      <source-position filename="src/vncconnection.h" line="92"/>
      <constructor name="new" c:identifier="vnc_connection_new">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="5473">Create a new connection object, which is initially
in the disconnected state.</doc>
        <source-position filename="src/vncconnection.h" line="203"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="5479">the new connection</doc>
          <type name="Connection" c:type="VncConnection*"/>
        </return-value>
      </constructor>
      <virtual-method name="vnc_auth_choose_subtype">
        <source-position filename="src/vncconnection.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
          <parameter name="subtypes" transfer-ownership="none">
            <type name="GObject.ValueArray" c:type="GValueArray*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_auth_choose_type">
        <source-position filename="src/vncconnection.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="types" transfer-ownership="none">
            <type name="GObject.ValueArray" c:type="GValueArray*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_auth_credential">
        <source-position filename="src/vncconnection.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="creds" transfer-ownership="none">
            <type name="GObject.ValueArray" c:type="GValueArray*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_auth_failure">
        <source-position filename="src/vncconnection.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="reason" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_auth_unsupported">
        <source-position filename="src/vncconnection.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="authType" transfer-ownership="none">
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_bell">
        <source-position filename="src/vncconnection.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_connected">
        <source-position filename="src/vncconnection.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_cursor_changed">
        <source-position filename="src/vncconnection.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="cursor" transfer-ownership="none">
            <type name="Cursor" c:type="VncCursor*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_desktop_rename">
        <source-position filename="src/vncconnection.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_desktop_resize">
        <source-position filename="src/vncconnection.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_disconnected">
        <source-position filename="src/vncconnection.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_error">
        <source-position filename="src/vncconnection.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_framebuffer_update">
        <source-position filename="src/vncconnection.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-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>
          <parameter name="width" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_initialized">
        <source-position filename="src/vncconnection.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_led_state">
        <source-position filename="src/vncconnection.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_pixel_format_changed">
        <source-position filename="src/vncconnection.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="PixelFormat" c:type="VncPixelFormat*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_pointer_mode_changed">
        <source-position filename="src/vncconnection.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="absPointer" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_power_control_failed">
        <source-position filename="src/vncconnection.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_power_control_initialized">
        <source-position filename="src/vncconnection.h" line="83"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="vnc_server_cut_text">
        <source-position filename="src/vncconnection.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="GLib.String" c:type="const GString*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="audio_disable" c:identifier="vnc_connection_audio_disable">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1799">Tell the server that it is no longer permitted to send
audio. The client may continue to receive audio for a
time after this, since packets may already be in flight.</doc>
        <source-position filename="src/vncconnection.h" line="266"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1807">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1801">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="audio_enable" c:identifier="vnc_connection_audio_enable">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1772">Tell the server that it is permitted to send audio
data.</doc>
        <source-position filename="src/vncconnection.h" line="265"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1779">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1774">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="client_cut_text"
              c:identifier="vnc_connection_client_cut_text">
        <source-position filename="src/vncconnection.h" line="218"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="void*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gsize" c:type="size_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="framebuffer_update_request"
              c:identifier="vnc_connection_framebuffer_update_request">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1886">Request that the server send a framebuffer update when the
region positioned at (@x, @y) wth size (@width, @height)
sees damage. The update sent may be a subset of the region
requested, if @incremental is FALSE.</doc>
        <source-position filename="src/vncconnection.h" line="227"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1900">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1888">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="incremental" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1889">TRUE to only receive region with changes</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1890">horizontal offset to region of update</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1891">vertical offset to region of update</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1892">horizontal size of region of update</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1893">vertical size of region of update</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_abs_pointer"
              c:identifier="vnc_connection_get_abs_pointer">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6498">Determine if the remote server supports absolute pointer
motion events. This will only be valid once the
"vnc-initialized" signal has been emitted.</doc>
        <source-position filename="src/vncconnection.h" line="253"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6506">TRUE if the server supports absolute pointer mode</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6500">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_audio_format"
              c:identifier="vnc_connection_get_audio_format">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1757">Get the current audio format specification</doc>
        <source-position filename="src/vncconnection.h" line="263"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1763">the current audio format</doc>
          <type name="AudioFormat" c:type="const VncAudioFormat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1759">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cursor" c:identifier="vnc_connection_get_cursor">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6481">Get the cursor currently associated with the desktop,
if any.</doc>
        <source-position filename="src/vncconnection.h" line="251"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6488">the cursor or NULL</doc>
          <type name="Cursor" c:type="VncCursor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6483">the VNC connection</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ext_key_event"
              c:identifier="vnc_connection_get_ext_key_event">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6462">Determine if the remote server supports the extended
keyboard event which transmits raw XT scancodes.
This will only be valid once the "vnc-initialized"
signal has been emitted</doc>
        <source-position filename="src/vncconnection.h" line="254"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6471">TRUE if supported, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6464">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height" c:identifier="vnc_connection_get_height">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6445">Get the height of the remote display. The height will
only be set once the "vnc-initialized" signal has
been emitted</doc>
        <source-position filename="src/vncconnection.h" line="249"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6453">the desktop height</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6447">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_ledstate" c:identifier="vnc_connection_get_ledstate">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6515">Get the current LED state bitmap. This is only
valid once the "vnc-initialized" signal has been
emitted.</doc>
        <source-position filename="src/vncconnection.h" line="256"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6523">the LED state</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6517">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="vnc_connection_get_name">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6411">Get the name of the remote display. A name will only
be available once the "vnc-initialized" signal has
been emitted</doc>
        <source-position filename="src/vncconnection.h" line="247"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6419">the remote display name</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6413">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixel_format"
              c:identifier="vnc_connection_get_pixel_format">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1514">Get a specification of the current pixel format</doc>
        <source-position filename="src/vncconnection.h" line="237"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1520">the current pixel format</doc>
          <type name="PixelFormat" c:type="const VncPixelFormat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1516">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_power_control"
              c:identifier="vnc_connection_get_power_control">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6532">Determine if the remote server supports power control.
This will only be valid once the "vnc-initialized"
signal has been emitted.</doc>
        <source-position filename="src/vncconnection.h" line="255"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6540">TRUE if the server supports power control</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6534">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_shared" c:identifier="vnc_connection_get_shared">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1555">Get the sharing state for the connection</doc>
        <source-position filename="src/vncconnection.h" line="240"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1561">TRUE if other clients are permitted, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1557">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width" c:identifier="vnc_connection_get_width">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6428">Get the width of the remote display. The width will
only be set once the "vnc-initialized" signal has
been emitted</doc>
        <source-position filename="src/vncconnection.h" line="248"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6436">the desktop width</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6430">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_error" c:identifier="vnc_connection_has_error">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1498">Determine if the current connection is in an error
state</doc>
        <source-position filename="src/vncconnection.h" line="242"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1505">TRUE if an error has occurred, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1500">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_initialized"
              c:identifier="vnc_connection_is_initialized">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="5651">Determine if the connection to the remote desktop is
fully initialized and thus receiving framebuffer
updates.</doc>
        <source-position filename="src/vncconnection.h" line="216"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="5659">TRUE if initialized, FALSE if closed or still negotiating</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="5653">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_open" c:identifier="vnc_connection_is_open">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="5627">Check if the connection is currently open</doc>
        <source-position filename="src/vncconnection.h" line="209"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="5633">TRUE if open, FALSE if closing/closed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="5629">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="key_event" c:identifier="vnc_connection_key_event">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1963">Send a key press/release event to the server. By default the
event will be sent with the X11 key code from @key. If the
extended key event protocol extension is active, the @scancode
will be sent instead.</doc>
        <source-position filename="src/vncconnection.h" line="224"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1975">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1965">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="down_flag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1966">TRUE if this is a key press, FALSE for a key release</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1967">the X11 key code</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="scancode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1968">the XT scan code</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_addr" c:identifier="vnc_connection_open_addr">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6142">Open a socket connection to server identified by @addr.
@addr may refer to either a TCP address (IPv4/6) or
a UNIX socket address. The @hostname provided should
reflect the name of the host that the @addr provides a
connection to, if it is not already available in @addr.
For example, if @addr points to a proxy server, then
@hostname can be used to provide the name of the final
endpoint. This will be used by some authentication
schemes, for example x509 certificate validation
against @hostname.</doc>
        <source-position filename="src/vncconnection.h" line="208"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6159">TRUE if a connection was opened, FALSE if already open</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6144">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="addr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6145">the socket address</doc>
            <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
          </parameter>
          <parameter name="hostname"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6146">the hostname</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_fd" c:identifier="vnc_connection_open_fd">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6055">Open a connection using @fd as the transport. If @fd
refers to a TCP connection, it is recommended to use
vnc_connection_open_fd_with_hostname instead, to
provide the remote hostname. This allows use of
x509 based authentication which requires a hostname
to be available.</doc>
        <source-position filename="src/vncconnection.h" line="205"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6067">TRUE if a connection was opened, FALSE if already open</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6057">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="fd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6058">file descriptor to use for the connection</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_fd_with_hostname"
              c:identifier="vnc_connection_open_fd_with_hostname">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6075">Open a connection using @fd as the transport. The
@hostname provided should reflect the name of the
host that the @fd provides a connection to. This
will be used by some authentication schemes, for
example x509 certificate validation against @hostname.</doc>
        <source-position filename="src/vncconnection.h" line="206"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6087">TRUE if a connection was opened, FALSE if already open</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6077">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="fd" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6078">file descriptor to use for the connection</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="hostname"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6079">the host associated with the connection</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_host" c:identifier="vnc_connection_open_host">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6110">Open a TCP connection to the remote desktop at @host
listening on @port.</doc>
        <source-position filename="src/vncconnection.h" line="207"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6119">TRUE if a connection was opened, FALSE if already open</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6112">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="host" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6113">the host name or IP address</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6114">the service name or port number</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="pointer_event" c:identifier="vnc_connection_pointer_event">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="2001">Send a pointer event to the server, reflecting either movement
of the pointer, or a change in state of its buttons, or both.</doc>
        <source-position filename="src/vncconnection.h" line="221"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="2011">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="2003">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="button_mask" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="2004">the new state of the buttons</doc>
            <type name="guint8" c:type="guint8"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="2005">the new horizontal position of the pointer</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="2006">the new veritical position of the pointer</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="power_control" c:identifier="vnc_connection_power_control">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6550">Perform a power control action on the remote server.

This is only valid if the "vnc-power-control" signal
has been emitted with a VNC_CONNECTION_POWER_STATUS_INIT
code.

The action should be assumed to be accepted unless
"vnc-power-control" signal is emitted with a
VNC_CONNECTION_POWER_STATUS_FAIL code.</doc>
        <source-position filename="src/vncconnection.h" line="268"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6564">TRUE if the action was sent, FALSE if
power control is not supported</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6552">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="action" transfer-ownership="none">
            <type name="ConnectionPowerAction"
                  c:type="VncConnectionPowerAction"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_audio" c:identifier="vnc_connection_set_audio">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1689">Set the audio sink to use for playing back audio from
the remote session.</doc>
        <source-position filename="src/vncconnection.h" line="258"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1697">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1691">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="audio" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1692">the audio sink</doc>
            <type name="Audio" c:type="VncAudio*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_audio_format"
              c:identifier="vnc_connection_set_audio_format">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1729">Set the audio format specification to use for playback
from the remote session. The format should only be set
when the audio stream is not active, otherwise it will
be impossible to determine when the server has switched
to sending data in the new format</doc>
        <source-position filename="src/vncconnection.h" line="261"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1740">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1731">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="fmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1732">the audio format</doc>
            <type name="AudioFormat" c:type="const VncAudioFormat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auth_subtype"
              c:identifier="vnc_connection_set_auth_subtype">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6228">If a multi-level authentication scheme was requested, this
identifies which auth type to use for the second phase.</doc>
        <source-position filename="src/vncconnection.h" line="213"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6236">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6230">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6231">the auth sub-type</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auth_type" c:identifier="vnc_connection_set_auth_type">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6188">Set the authentication type to use to complete the
connection.</doc>
        <source-position filename="src/vncconnection.h" line="212"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6196">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6190">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6191">the requested auth type</doc>
            <type name="guint" c:type="unsigned int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_credential"
              c:identifier="vnc_connection_set_credential">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6328">Sets the value of the authentication credential
@type to the string @data.

@type is one of the VncConnectionCredential enum vlaues</doc>
        <source-position filename="src/vncconnection.h" line="214"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6339">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6330">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6331">the authentication credential type</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6332">the value associated with the credential</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_encodings" c:identifier="vnc_connection_set_encodings">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1828">Inform the server of the list of encodings that it is
allowed to send. This should be done before requesting
any framebuffer updates</doc>
        <source-position filename="src/vncconnection.h" line="232"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1838">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1830">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="n_encoding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1831">number of entries in @encoding</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1832">the list of permitted encodings</doc>
            <array length="0" zero-terminated="0" c:type="gint32*">
              <type name="gint32" c:type="gint32"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_framebuffer"
              c:identifier="vnc_connection_set_framebuffer"
              glib:set-property="framebuffer">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="6372">Set the framebuffer object to which frame buffer updates
will be written.</doc>
        <source-position filename="src/vncconnection.h" line="244"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="6380">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6374">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="6375">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pixel_format"
              c:identifier="vnc_connection_set_pixel_format">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1638">Tell the server what pixel format  to use for
framebuffer updates. It is only safe to use this
when no framebuffer updates are pending, otherwise
it is impossible to determine when the server has
switched over to using the new format.</doc>
        <source-position filename="src/vncconnection.h" line="234"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1649">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1640">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="fmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1641">the new pixel format</doc>
            <type name="PixelFormat" c:type="const VncPixelFormat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_shared" c:identifier="vnc_connection_set_shared">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="1530">Set the shared state for the connection. A TRUE value
allow allow this client to co-exist with other existing
clients. A FALSE value will cause other clients to be
dropped</doc>
        <source-position filename="src/vncconnection.h" line="239"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncconnection.c"
               line="1540">TRUE if the connection is ok, FALSE if it has an error</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1532">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="shared" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="1533">the new sharing state</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_size" c:identifier="vnc_connection_set_size">
        <source-position filename="src/vncconnection.h" line="271"/>
        <return-value transfer-ownership="none">
          <type name="ConnectionResizeStatus"
                c:type="VncConnectionResizeStatus"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="shutdown" c:identifier="vnc_connection_shutdown">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="5594">Initiate a shutdown of the current connection
by closing its socket</doc>
        <source-position filename="src/vncconnection.h" line="210"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="conn" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="5596">the connection object</doc>
            <type name="Connection" c:type="VncConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="framebuffer"
                writable="1"
                transfer-ownership="none"
                setter="set_framebuffer">
        <type name="Framebuffer"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ConnectionPrivate" c:type="VncConnectionPrivate*"/>
      </field>
      <glib:signal name="vnc-auth-choose-subtype" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="GObject.ValueArray"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-auth-choose-type" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GObject.ValueArray"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-auth-credential" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GObject.ValueArray"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-auth-failure" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-auth-unsupported" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-bell" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="vnc-connected" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="vnc-cursor-changed" when="first">
        <doc xml:space="preserve"
             filename="src/vncconnection.c"
             line="5234">Emitted when the cursor is changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="cursor"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/vncconnection.c"
                 line="5237">the new cursor</doc>
            <type name="Cursor"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-desktop-rename" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-desktop-resize" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-disconnected" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="vnc-error" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-framebuffer-update" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p2" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-initialized" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="vnc-led-state" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="vnc-pixel-format-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="PixelFormat"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-pointer-mode-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="vnc-power-control-failed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="vnc-power-control-initialized" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="vnc-server-cut-text" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <enumeration name="ConnectionAuth"
                 glib:type-name="VncConnectionAuth"
                 glib:get-type="vnc_connection_auth_get_type"
                 c:type="VncConnectionAuth">
      <member name="invalid"
              value="0"
              c:identifier="VNC_CONNECTION_AUTH_INVALID"
              glib:nick="invalid"
              glib:name="VNC_CONNECTION_AUTH_INVALID">
      </member>
      <member name="none"
              value="1"
              c:identifier="VNC_CONNECTION_AUTH_NONE"
              glib:nick="none"
              glib:name="VNC_CONNECTION_AUTH_NONE">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="139">No authentication is needed and protocol data is to be sent unencrypted.</doc>
      </member>
      <member name="vnc"
              value="2"
              c:identifier="VNC_CONNECTION_AUTH_VNC"
              glib:nick="vnc"
              glib:name="VNC_CONNECTION_AUTH_VNC">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="140">VNC authentication is to be used and protocol data is to be sent unencrypted.</doc>
      </member>
      <member name="ra2"
              value="5"
              c:identifier="VNC_CONNECTION_AUTH_RA2"
              glib:nick="ra2"
              glib:name="VNC_CONNECTION_AUTH_RA2">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="141">RealVNC authentication.</doc>
      </member>
      <member name="ra2ne"
              value="6"
              c:identifier="VNC_CONNECTION_AUTH_RA2NE"
              glib:nick="ra2ne"
              glib:name="VNC_CONNECTION_AUTH_RA2NE">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="142">RealVNC authentication.</doc>
      </member>
      <member name="tight"
              value="16"
              c:identifier="VNC_CONNECTION_AUTH_TIGHT"
              glib:nick="tight"
              glib:name="VNC_CONNECTION_AUTH_TIGHT">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="143">The Tight security type is a generic protocol extension.</doc>
      </member>
      <member name="ultra"
              value="17"
              c:identifier="VNC_CONNECTION_AUTH_ULTRA"
              glib:nick="ultra"
              glib:name="VNC_CONNECTION_AUTH_ULTRA">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="144">Ultra authentication.</doc>
      </member>
      <member name="tls"
              value="18"
              c:identifier="VNC_CONNECTION_AUTH_TLS"
              glib:nick="tls"
              glib:name="VNC_CONNECTION_AUTH_TLS">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="145">TLS authentication.</doc>
      </member>
      <member name="vencrypt"
              value="19"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT"
              glib:nick="vencrypt"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="146">The VeNCrypt security type is a generic authentication method which encapsulates multiple authentication subtypes.</doc>
      </member>
      <member name="sasl"
              value="20"
              c:identifier="VNC_CONNECTION_AUTH_SASL"
              glib:nick="sasl"
              glib:name="VNC_CONNECTION_AUTH_SASL">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="147">SASL authentication.</doc>
      </member>
      <member name="ard"
              value="30"
              c:identifier="VNC_CONNECTION_AUTH_ARD"
              glib:nick="ard"
              glib:name="VNC_CONNECTION_AUTH_ARD">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="148">Apple remote desktop (screen sharing) authentication.</doc>
      </member>
      <member name="mslogonii"
              value="113"
              c:identifier="VNC_CONNECTION_AUTH_MSLOGONII"
              glib:nick="mslogonii"
              glib:name="VNC_CONNECTION_AUTH_MSLOGONII">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="149">Authentication used by UltraVNC.</doc>
      </member>
      <member name="mslogon"
              value="4294967290"
              c:identifier="VNC_CONNECTION_AUTH_MSLOGON"
              glib:nick="mslogon"
              glib:name="VNC_CONNECTION_AUTH_MSLOGON">
        <doc xml:space="preserve"
             filename="src/vncconnection.h"
             line="150">Authentication used by UltraVNC.</doc>
      </member>
    </enumeration>
    <enumeration name="ConnectionAuthVencrypt"
                 glib:type-name="VncConnectionAuthVencrypt"
                 glib:get-type="vnc_connection_auth_vencrypt_get_type"
                 c:type="VncConnectionAuthVencrypt">
      <member name="plain"
              value="256"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT_PLAIN"
              glib:nick="plain"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT_PLAIN">
      </member>
      <member name="tlsnone"
              value="257"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT_TLSNONE"
              glib:nick="tlsnone"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT_TLSNONE">
      </member>
      <member name="tlsvnc"
              value="258"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT_TLSVNC"
              glib:nick="tlsvnc"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT_TLSVNC">
      </member>
      <member name="tlsplain"
              value="259"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT_TLSPLAIN"
              glib:nick="tlsplain"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT_TLSPLAIN">
      </member>
      <member name="x509none"
              value="260"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT_X509NONE"
              glib:nick="x509none"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT_X509NONE">
      </member>
      <member name="x509vnc"
              value="261"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT_X509VNC"
              glib:nick="x509vnc"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT_X509VNC">
      </member>
      <member name="x509plain"
              value="262"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT_X509PLAIN"
              glib:nick="x509plain"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT_X509PLAIN">
      </member>
      <member name="x509sasl"
              value="263"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT_X509SASL"
              glib:nick="x509sasl"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT_X509SASL">
      </member>
      <member name="tlssasl"
              value="264"
              c:identifier="VNC_CONNECTION_AUTH_VENCRYPT_TLSSASL"
              glib:nick="tlssasl"
              glib:name="VNC_CONNECTION_AUTH_VENCRYPT_TLSSASL">
      </member>
    </enumeration>
    <record name="ConnectionClass"
            c:type="VncConnectionClass"
            glib:is-gtype-struct-for="Connection">
      <source-position filename="src/vncconnection.h" line="92"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="vnc_cursor_changed">
        <callback name="vnc_cursor_changed">
          <source-position filename="src/vncconnection.h" line="66"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="cursor" transfer-ownership="none">
              <type name="Cursor" c:type="VncCursor*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_pointer_mode_changed">
        <callback name="vnc_pointer_mode_changed">
          <source-position filename="src/vncconnection.h" line="67"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="absPointer" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_bell">
        <callback name="vnc_bell">
          <source-position filename="src/vncconnection.h" line="68"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_server_cut_text">
        <callback name="vnc_server_cut_text">
          <source-position filename="src/vncconnection.h" line="69"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <type name="GLib.String" c:type="const GString*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_framebuffer_update">
        <callback name="vnc_framebuffer_update">
          <source-position filename="src/vncconnection.h" line="70"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </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>
            <parameter name="width" transfer-ownership="none">
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="height" transfer-ownership="none">
              <type name="guint16" c:type="guint16"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_desktop_resize">
        <callback name="vnc_desktop_resize">
          <source-position filename="src/vncconnection.h" line="71"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="width" transfer-ownership="none">
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="height" transfer-ownership="none">
              <type name="guint16" c:type="guint16"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_pixel_format_changed">
        <callback name="vnc_pixel_format_changed">
          <source-position filename="src/vncconnection.h" line="72"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="format" transfer-ownership="none">
              <type name="PixelFormat" c:type="VncPixelFormat*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_auth_failure">
        <callback name="vnc_auth_failure">
          <source-position filename="src/vncconnection.h" line="73"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="reason" transfer-ownership="none">
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_auth_unsupported">
        <callback name="vnc_auth_unsupported">
          <source-position filename="src/vncconnection.h" line="74"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="authType" transfer-ownership="none">
              <type name="guint" c:type="unsigned int"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_auth_credential">
        <callback name="vnc_auth_credential">
          <source-position filename="src/vncconnection.h" line="75"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="creds" transfer-ownership="none">
              <type name="GObject.ValueArray" c:type="GValueArray*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_auth_choose_type">
        <callback name="vnc_auth_choose_type">
          <source-position filename="src/vncconnection.h" line="76"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="types" transfer-ownership="none">
              <type name="GObject.ValueArray" c:type="GValueArray*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_auth_choose_subtype">
        <callback name="vnc_auth_choose_subtype">
          <source-position filename="src/vncconnection.h" line="77"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="type" transfer-ownership="none">
              <type name="guint" c:type="unsigned int"/>
            </parameter>
            <parameter name="subtypes" transfer-ownership="none">
              <type name="GObject.ValueArray" c:type="GValueArray*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_connected">
        <callback name="vnc_connected">
          <source-position filename="src/vncconnection.h" line="78"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_initialized">
        <callback name="vnc_initialized">
          <source-position filename="src/vncconnection.h" line="79"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_disconnected">
        <callback name="vnc_disconnected">
          <source-position filename="src/vncconnection.h" line="80"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_led_state">
        <callback name="vnc_led_state">
          <source-position filename="src/vncconnection.h" line="81"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_error">
        <callback name="vnc_error">
          <source-position filename="src/vncconnection.h" line="82"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="message" transfer-ownership="none">
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_power_control_initialized">
        <callback name="vnc_power_control_initialized">
          <source-position filename="src/vncconnection.h" line="83"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_power_control_failed">
        <callback name="vnc_power_control_failed">
          <source-position filename="src/vncconnection.h" line="84"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="vnc_desktop_rename">
        <callback name="vnc_desktop_rename">
          <source-position filename="src/vncconnection.h" line="85"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="conn" transfer-ownership="none">
              <type name="Connection" c:type="VncConnection*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="const char*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_vnc_reserved">
        <array zero-terminated="0" fixed-size="15">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="ConnectionCredential"
                 glib:type-name="VncConnectionCredential"
                 glib:get-type="vnc_connection_credential_get_type"
                 c:type="VncConnectionCredential">
      <member name="password"
              value="0"
              c:identifier="VNC_CONNECTION_CREDENTIAL_PASSWORD"
              glib:nick="password"
              glib:name="VNC_CONNECTION_CREDENTIAL_PASSWORD">
      </member>
      <member name="username"
              value="1"
              c:identifier="VNC_CONNECTION_CREDENTIAL_USERNAME"
              glib:nick="username"
              glib:name="VNC_CONNECTION_CREDENTIAL_USERNAME">
      </member>
      <member name="clientname"
              value="2"
              c:identifier="VNC_CONNECTION_CREDENTIAL_CLIENTNAME"
              glib:nick="clientname"
              glib:name="VNC_CONNECTION_CREDENTIAL_CLIENTNAME">
      </member>
    </enumeration>
    <enumeration name="ConnectionEncoding"
                 glib:type-name="VncConnectionEncoding"
                 glib:get-type="vnc_connection_encoding_get_type"
                 c:type="VncConnectionEncoding">
      <member name="raw"
              value="0"
              c:identifier="VNC_CONNECTION_ENCODING_RAW"
              glib:nick="raw"
              glib:name="VNC_CONNECTION_ENCODING_RAW">
      </member>
      <member name="copy_rect"
              value="1"
              c:identifier="VNC_CONNECTION_ENCODING_COPY_RECT"
              glib:nick="copy-rect"
              glib:name="VNC_CONNECTION_ENCODING_COPY_RECT">
      </member>
      <member name="rre"
              value="2"
              c:identifier="VNC_CONNECTION_ENCODING_RRE"
              glib:nick="rre"
              glib:name="VNC_CONNECTION_ENCODING_RRE">
      </member>
      <member name="corre"
              value="4"
              c:identifier="VNC_CONNECTION_ENCODING_CORRE"
              glib:nick="corre"
              glib:name="VNC_CONNECTION_ENCODING_CORRE">
      </member>
      <member name="hextile"
              value="5"
              c:identifier="VNC_CONNECTION_ENCODING_HEXTILE"
              glib:nick="hextile"
              glib:name="VNC_CONNECTION_ENCODING_HEXTILE">
      </member>
      <member name="tight"
              value="7"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT"
              glib:nick="tight"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT">
      </member>
      <member name="zrle"
              value="16"
              c:identifier="VNC_CONNECTION_ENCODING_ZRLE"
              glib:nick="zrle"
              glib:name="VNC_CONNECTION_ENCODING_ZRLE">
      </member>
      <member name="tight_jpeg0"
              value="-32"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG0"
              glib:nick="tight-jpeg0"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG0">
      </member>
      <member name="tight_jpeg1"
              value="-31"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG1"
              glib:nick="tight-jpeg1"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG1">
      </member>
      <member name="tight_jpeg2"
              value="-30"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG2"
              glib:nick="tight-jpeg2"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG2">
      </member>
      <member name="tight_jpeg3"
              value="-29"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG3"
              glib:nick="tight-jpeg3"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG3">
      </member>
      <member name="tight_jpeg4"
              value="-28"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG4"
              glib:nick="tight-jpeg4"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG4">
      </member>
      <member name="tight_jpeg5"
              value="-27"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG5"
              glib:nick="tight-jpeg5"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG5">
      </member>
      <member name="tight_jpeg6"
              value="-26"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG6"
              glib:nick="tight-jpeg6"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG6">
      </member>
      <member name="tight_jpeg7"
              value="-25"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG7"
              glib:nick="tight-jpeg7"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG7">
      </member>
      <member name="tight_jpeg8"
              value="-24"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG8"
              glib:nick="tight-jpeg8"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG8">
      </member>
      <member name="tight_jpeg9"
              value="-23"
              c:identifier="VNC_CONNECTION_ENCODING_TIGHT_JPEG9"
              glib:nick="tight-jpeg9"
              glib:name="VNC_CONNECTION_ENCODING_TIGHT_JPEG9">
      </member>
      <member name="desktop_resize"
              value="-223"
              c:identifier="VNC_CONNECTION_ENCODING_DESKTOP_RESIZE"
              glib:nick="desktop-resize"
              glib:name="VNC_CONNECTION_ENCODING_DESKTOP_RESIZE">
      </member>
      <member name="last_rect"
              value="-224"
              c:identifier="VNC_CONNECTION_ENCODING_LAST_RECT"
              glib:nick="last-rect"
              glib:name="VNC_CONNECTION_ENCODING_LAST_RECT">
      </member>
      <member name="wmvi"
              value="1464686185"
              c:identifier="VNC_CONNECTION_ENCODING_WMVi"
              glib:nick="wmvi"
              glib:name="VNC_CONNECTION_ENCODING_WMVi">
      </member>
      <member name="cursor_pos"
              value="-232"
              c:identifier="VNC_CONNECTION_ENCODING_CURSOR_POS"
              glib:nick="cursor-pos"
              glib:name="VNC_CONNECTION_ENCODING_CURSOR_POS">
      </member>
      <member name="rich_cursor"
              value="-239"
              c:identifier="VNC_CONNECTION_ENCODING_RICH_CURSOR"
              glib:nick="rich-cursor"
              glib:name="VNC_CONNECTION_ENCODING_RICH_CURSOR">
      </member>
      <member name="xcursor"
              value="-240"
              c:identifier="VNC_CONNECTION_ENCODING_XCURSOR"
              glib:nick="xcursor"
              glib:name="VNC_CONNECTION_ENCODING_XCURSOR">
      </member>
      <member name="pointer_change"
              value="-257"
              c:identifier="VNC_CONNECTION_ENCODING_POINTER_CHANGE"
              glib:nick="pointer-change"
              glib:name="VNC_CONNECTION_ENCODING_POINTER_CHANGE">
      </member>
      <member name="ext_key_event"
              value="-258"
              c:identifier="VNC_CONNECTION_ENCODING_EXT_KEY_EVENT"
              glib:nick="ext-key-event"
              glib:name="VNC_CONNECTION_ENCODING_EXT_KEY_EVENT">
      </member>
      <member name="audio"
              value="-259"
              c:identifier="VNC_CONNECTION_ENCODING_AUDIO"
              glib:nick="audio"
              glib:name="VNC_CONNECTION_ENCODING_AUDIO">
      </member>
      <member name="led_state"
              value="-261"
              c:identifier="VNC_CONNECTION_ENCODING_LED_STATE"
              glib:nick="led-state"
              glib:name="VNC_CONNECTION_ENCODING_LED_STATE">
      </member>
      <member name="desktop_name"
              value="-307"
              c:identifier="VNC_CONNECTION_ENCODING_DESKTOP_NAME"
              glib:nick="desktop-name"
              glib:name="VNC_CONNECTION_ENCODING_DESKTOP_NAME">
      </member>
      <member name="extended_desktop_resize"
              value="-308"
              c:identifier="VNC_CONNECTION_ENCODING_EXTENDED_DESKTOP_RESIZE"
              glib:nick="extended-desktop-resize"
              glib:name="VNC_CONNECTION_ENCODING_EXTENDED_DESKTOP_RESIZE">
      </member>
      <member name="xvp"
              value="-309"
              c:identifier="VNC_CONNECTION_ENCODING_XVP"
              glib:nick="xvp"
              glib:name="VNC_CONNECTION_ENCODING_XVP">
      </member>
      <member name="alpha_cursor"
              value="-314"
              c:identifier="VNC_CONNECTION_ENCODING_ALPHA_CURSOR"
              glib:nick="alpha-cursor"
              glib:name="VNC_CONNECTION_ENCODING_ALPHA_CURSOR">
      </member>
    </enumeration>
    <enumeration name="ConnectionPowerAction"
                 glib:type-name="VncConnectionPowerAction"
                 glib:get-type="vnc_connection_power_action_get_type"
                 c:type="VncConnectionPowerAction">
      <member name="shutdown"
              value="2"
              c:identifier="VNC_CONNECTION_POWER_ACTION_SHUTDOWN"
              glib:nick="shutdown"
              glib:name="VNC_CONNECTION_POWER_ACTION_SHUTDOWN">
      </member>
      <member name="reboot"
              value="3"
              c:identifier="VNC_CONNECTION_POWER_ACTION_REBOOT"
              glib:nick="reboot"
              glib:name="VNC_CONNECTION_POWER_ACTION_REBOOT">
      </member>
      <member name="reset"
              value="4"
              c:identifier="VNC_CONNECTION_POWER_ACTION_RESET"
              glib:nick="reset"
              glib:name="VNC_CONNECTION_POWER_ACTION_RESET">
      </member>
    </enumeration>
    <record name="ConnectionPrivate"
            c:type="VncConnectionPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/vncconnection.h" line="49"/>
    </record>
    <enumeration name="ConnectionResizeStatus"
                 glib:type-name="VncConnectionResizeStatus"
                 glib:get-type="vnc_connection_resize_status_get_type"
                 c:type="VncConnectionResizeStatus">
      <member name="unsupported"
              value="-1"
              c:identifier="VNC_CONNECTION_RESIZE_STATUS_UNSUPPORTED"
              glib:nick="unsupported"
              glib:name="VNC_CONNECTION_RESIZE_STATUS_UNSUPPORTED">
      </member>
      <member name="ok"
              value="0"
              c:identifier="VNC_CONNECTION_RESIZE_STATUS_OK"
              glib:nick="ok"
              glib:name="VNC_CONNECTION_RESIZE_STATUS_OK">
      </member>
      <member name="admin_prohibited"
              value="1"
              c:identifier="VNC_CONNECTION_RESIZE_STATUS_ADMIN_PROHIBITED"
              glib:nick="admin-prohibited"
              glib:name="VNC_CONNECTION_RESIZE_STATUS_ADMIN_PROHIBITED">
      </member>
      <member name="out_of_resources"
              value="2"
              c:identifier="VNC_CONNECTION_RESIZE_STATUS_OUT_OF_RESOURCES"
              glib:nick="out-of-resources"
              glib:name="VNC_CONNECTION_RESIZE_STATUS_OUT_OF_RESOURCES">
      </member>
      <member name="invalid_laout"
              value="3"
              c:identifier="VNC_CONNECTION_RESIZE_STATUS_INVALID_LAOUT"
              glib:nick="invalid-laout"
              glib:name="VNC_CONNECTION_RESIZE_STATUS_INVALID_LAOUT">
      </member>
      <member name="forwarded"
              value="4"
              c:identifier="VNC_CONNECTION_RESIZE_STATUS_FORWARDED"
              glib:nick="forwarded"
              glib:name="VNC_CONNECTION_RESIZE_STATUS_FORWARDED">
      </member>
    </enumeration>
    <class name="Cursor"
           c:symbol-prefix="cursor"
           c:type="VncCursor"
           parent="GObject.Object"
           glib:type-name="VncCursor"
           glib:get-type="vnc_cursor_get_type"
           glib:type-struct="CursorClass">
      <source-position filename="src/vnccursor.h" line="60"/>
      <constructor name="new" c:identifier="vnc_cursor_new">
        <doc xml:space="preserve"
             filename="src/vnccursor.c"
             line="124">Creates a new cursor using the bitmap data in @data
which should be @width * @height * 4 in size. The
@data parameter should be in the RGBA format, so
each pixel is 32-bits in size.</doc>
        <source-position filename="src/vnccursor.h" line="64"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vnccursor.c"
               line="137">the new cursor</doc>
          <type name="Cursor" c:type="VncCursor*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="126">the bitmap data for the cursor</doc>
            <array zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="hotx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="127">the horizontal position of the hot point</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="hoty" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="128">the vertical position of the hot point</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="129">the width of the cursor</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="130">the height of the cursor</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_data"
              c:identifier="vnc_cursor_get_data"
              glib:get-property="data">
        <doc xml:space="preserve"
             filename="src/vnccursor.c"
             line="235">Get the bitmap data representing the cursor</doc>
        <source-position filename="src/vnccursor.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vnccursor.c"
               line="241">the bitmap data</doc>
          <array zero-terminated="0" c:type="const guint8*">
            <type name="guint8" c:type="guint8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="237">the cursor object</doc>
            <type name="Cursor" c:type="VncCursor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height"
              c:identifier="vnc_cursor_get_height"
              glib:get-property="height">
        <doc xml:space="preserve"
             filename="src/vnccursor.c"
             line="299">Get the height of the cursor bitmap</doc>
        <source-position filename="src/vnccursor.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vnccursor.c"
               line="305">the height of the bitmap</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="301">the cursor object</doc>
            <type name="Cursor" c:type="VncCursor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_hotx"
              c:identifier="vnc_cursor_get_hotx"
              glib:get-property="hotx">
        <doc xml:space="preserve"
             filename="src/vnccursor.c"
             line="251">Get the horizontal position of the cursor hot point</doc>
        <source-position filename="src/vnccursor.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vnccursor.c"
               line="257">the horizontal position of the hot point</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="253">the cursor object</doc>
            <type name="Cursor" c:type="VncCursor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_hoty"
              c:identifier="vnc_cursor_get_hoty"
              glib:get-property="hoty">
        <doc xml:space="preserve"
             filename="src/vnccursor.c"
             line="267">Get the vertical position of the cursor hot point</doc>
        <source-position filename="src/vnccursor.h" line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vnccursor.c"
               line="273">the vertical position of the hot point</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="269">the cursor object</doc>
            <type name="Cursor" c:type="VncCursor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width"
              c:identifier="vnc_cursor_get_width"
              glib:get-property="width">
        <doc xml:space="preserve"
             filename="src/vnccursor.c"
             line="283">Get the width of the cursor bitmap</doc>
        <source-position filename="src/vnccursor.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vnccursor.c"
               line="289">the width of the bitmap</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vnccursor.c"
                 line="285">the cursor object</doc>
            <type name="Cursor" c:type="VncCursor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="data"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_data">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="height"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_height"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="hotx"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_hotx"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="hoty"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_hoty"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="width"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_width"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="CursorPrivate" c:type="VncCursorPrivate*"/>
      </field>
    </class>
    <record name="CursorClass"
            c:type="VncCursorClass"
            glib:is-gtype-struct-for="Cursor">
      <source-position filename="src/vnccursor.h" line="60"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_vnc_reserved">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CursorPrivate"
            c:type="VncCursorPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="src/vnccursor.h" line="40"/>
    </record>
    <function-macro name="DEBUG" c:identifier="VNC_DEBUG" introspectable="0">
      <source-position filename="src/vncutil.h" line="34"/>
      <parameters>
        <parameter name="fmt">
        </parameter>
        <parameter name="...">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FRAMEBUFFER"
                    c:identifier="VNC_FRAMEBUFFER"
                    introspectable="0">
      <source-position filename="src/vncframebuffer.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FRAMEBUFFER_GET_INTERFACE"
                    c:identifier="VNC_FRAMEBUFFER_GET_INTERFACE"
                    introspectable="0">
      <source-position filename="src/vncframebuffer.h" line="35"/>
      <parameters>
        <parameter name="inst">
        </parameter>
      </parameters>
    </function-macro>
    <interface name="Framebuffer"
               c:symbol-prefix="framebuffer"
               c:type="VncFramebuffer"
               glib:type-name="VncFramebuffer"
               glib:get-type="vnc_framebuffer_get_type"
               glib:type-struct="FramebufferInterface">
      <source-position filename="src/vncframebuffer.h" line="77"/>
      <virtual-method name="blt" invoker="blt">
        <source-position filename="src/vncframebuffer.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="src" transfer-ownership="none">
            <type name="guint8" c:type="guint8*"/>
          </parameter>
          <parameter name="rowstride" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </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>
          <parameter name="width" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="copyrect" invoker="copyrect">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="158">Copies data from the range (@srcx, @srcy) to
(@srcx+@width, @srcy+@height) over to the
range starting at (@dstx, @dsty).</doc>
        <source-position filename="src/vncframebuffer.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="160">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="srcx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="161">the horizontal starting pixel</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="srcy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="162">the vertical starting pixel</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="dstx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="163">the horizontal target pixel</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="dsty" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="164">the vertical target pixel</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="165">the width of the region</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="166">the height of the region</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="fill" invoker="fill">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="136">Fill all the pixels in the range (@x, @y) to
(@x + @width, @y + @height) to the value in
@src. The number of bytes in @src is
determined by the remote pixel format</doc>
        <source-position filename="src/vncframebuffer.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="138">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="139">the new pixel data</doc>
            <array zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="140">the horizontal pixel to start filling</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="141">the vertical pixel to start filling</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="142">the number of pixels to fill horizontally</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="143">the number of pixels to fill vertically</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_buffer">
        <source-position filename="src/vncframebuffer.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="guint8" c:type="guint8*"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_height" invoker="get_height">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="39">Query the height of the remote framebuffer</doc>
        <source-position filename="src/vncframebuffer.h" line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="45">the frambuffer height</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="41">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_local_format" invoker="get_local_format">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="78">Get the pixel format used to store the framebuffer locally</doc>
        <source-position filename="src/vncframebuffer.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="84">the local pixel format</doc>
          <type name="PixelFormat" c:type="const VncPixelFormat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="80">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_remote_format" invoker="get_remote_format">
        <source-position filename="src/vncframebuffer.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="PixelFormat" c:type="const VncPixelFormat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_rowstride" invoker="get_rowstride">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="52">Get the number of bytes per line of the framebuffer</doc>
        <source-position filename="src/vncframebuffer.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="58">the framebuffer row stride</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="54">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_width" invoker="get_width">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="26">Query the width of the remote framebuffer</doc>
        <source-position filename="src/vncframebuffer.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="32">the framebuffer width</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="28">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="perfect_format_match"
                      invoker="perfect_format_match">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="105">Determine if the local and remote pixel formats match</doc>
        <source-position filename="src/vncframebuffer.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="111">TRUE if the local and remote pixel formats match</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="107">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="rgb24_blt" invoker="rgb24_blt">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="204">Fill all the pixels in the range (@x, @y) to
(@x + @width, @y + @height) to the value in
@src. The number of bytes in @src is always
3 as it must be in plain RGB24 format.</doc>
        <source-position filename="src/vncframebuffer.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="206">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="207">the new pixel data</doc>
            <array zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="rowstride" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="208">the number of bytes per row</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="209">the horizontal pixel to start filling</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="210">the vertical pixel to start filling</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="211">the number of pixels to fill horizontally</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="212">the number of pixels to fill vertically</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_color_map" invoker="set_color_map">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="229">Set the color map to use for the framebuffer</doc>
        <source-position filename="src/vncframebuffer.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="231">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="232">the new color map</doc>
            <type name="ColorMap" c:type="VncColorMap*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_pixel_at" invoker="set_pixel_at">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="118">Sets a pixel in the framebuffer at (@x, @y) to the
value in @src. The number of bytes in @src is
determined by the remote pixel format</doc>
        <source-position filename="src/vncframebuffer.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="120">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="121">the new pixel data</doc>
            <array zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="122">the horizontal pixel to set</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="123">the vertical pixel to set</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="blt" c:identifier="vnc_framebuffer_blt">
        <source-position filename="src/vncframebuffer.h" line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="src" transfer-ownership="none">
            <type name="guint8" c:type="guint8*"/>
          </parameter>
          <parameter name="rowstride" transfer-ownership="none">
            <type name="gint" c:type="int"/>
          </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>
          <parameter name="width" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="copyrect" c:identifier="vnc_framebuffer_copyrect">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="158">Copies data from the range (@srcx, @srcy) to
(@srcx+@width, @srcy+@height) over to the
range starting at (@dstx, @dsty).</doc>
        <source-position filename="src/vncframebuffer.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="160">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="srcx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="161">the horizontal starting pixel</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="srcy" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="162">the vertical starting pixel</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="dstx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="163">the horizontal target pixel</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="dsty" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="164">the vertical target pixel</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="165">the width of the region</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="166">the height of the region</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="fill" c:identifier="vnc_framebuffer_fill">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="136">Fill all the pixels in the range (@x, @y) to
(@x + @width, @y + @height) to the value in
@src. The number of bytes in @src is
determined by the remote pixel format</doc>
        <source-position filename="src/vncframebuffer.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="138">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="139">the new pixel data</doc>
            <array zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="140">the horizontal pixel to start filling</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="141">the vertical pixel to start filling</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="142">the number of pixels to fill horizontally</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="143">the number of pixels to fill vertically</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_buffer" c:identifier="vnc_framebuffer_get_buffer">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="65">Get a pointer to the framebuffer contents</doc>
        <source-position filename="src/vncframebuffer.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="71">the framebuffer data</doc>
          <array zero-terminated="0" c:type="guint8*">
            <type name="guint8" c:type="guint8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="67">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height" c:identifier="vnc_framebuffer_get_height">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="39">Query the height of the remote framebuffer</doc>
        <source-position filename="src/vncframebuffer.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="45">the frambuffer height</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="41">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_local_format"
              c:identifier="vnc_framebuffer_get_local_format">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="78">Get the pixel format used to store the framebuffer locally</doc>
        <source-position filename="src/vncframebuffer.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="84">the local pixel format</doc>
          <type name="PixelFormat" c:type="const VncPixelFormat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="80">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_remote_format"
              c:identifier="vnc_framebuffer_get_remote_format">
        <source-position filename="src/vncframebuffer.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="PixelFormat" c:type="const VncPixelFormat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rowstride"
              c:identifier="vnc_framebuffer_get_rowstride">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="52">Get the number of bytes per line of the framebuffer</doc>
        <source-position filename="src/vncframebuffer.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="58">the framebuffer row stride</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="54">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width" c:identifier="vnc_framebuffer_get_width">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="26">Query the width of the remote framebuffer</doc>
        <source-position filename="src/vncframebuffer.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="32">the framebuffer width</doc>
          <type name="guint16" c:type="guint16"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="28">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="perfect_format_match"
              c:identifier="vnc_framebuffer_perfect_format_match">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="105">Determine if the local and remote pixel formats match</doc>
        <source-position filename="src/vncframebuffer.h" line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncframebuffer.c"
               line="111">TRUE if the local and remote pixel formats match</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="107">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="rgb24_blt" c:identifier="vnc_framebuffer_rgb24_blt">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="204">Fill all the pixels in the range (@x, @y) to
(@x + @width, @y + @height) to the value in
@src. The number of bytes in @src is always
3 as it must be in plain RGB24 format.</doc>
        <source-position filename="src/vncframebuffer.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="206">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="207">the new pixel data</doc>
            <array zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="rowstride" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="208">the number of bytes per row</doc>
            <type name="gint" c:type="int"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="209">the horizontal pixel to start filling</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="210">the vertical pixel to start filling</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="211">the number of pixels to fill horizontally</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="212">the number of pixels to fill vertically</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_color_map"
              c:identifier="vnc_framebuffer_set_color_map">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="229">Set the color map to use for the framebuffer</doc>
        <source-position filename="src/vncframebuffer.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="231">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="map" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="232">the new color map</doc>
            <type name="ColorMap" c:type="VncColorMap*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pixel_at" c:identifier="vnc_framebuffer_set_pixel_at">
        <doc xml:space="preserve"
             filename="src/vncframebuffer.c"
             line="118">Sets a pixel in the framebuffer at (@x, @y) to the
value in @src. The number of bytes in @src is
determined by the remote pixel format</doc>
        <source-position filename="src/vncframebuffer.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="120">the framebuffer object</doc>
            <type name="Framebuffer" c:type="VncFramebuffer*"/>
          </instance-parameter>
          <parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="121">the new pixel data</doc>
            <array zero-terminated="0" c:type="guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="122">the horizontal pixel to set</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="123">the vertical pixel to set</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="FramebufferInterface"
            c:type="VncFramebufferInterface"
            glib:is-gtype-struct-for="Framebuffer">
      <source-position filename="src/vncframebuffer.h" line="77"/>
      <field name="parent">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_width">
        <callback name="get_width">
          <source-position filename="src/vncframebuffer.h" line="44"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="32">the framebuffer width</doc>
            <type name="guint16" c:type="guint16"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="28">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_height">
        <callback name="get_height">
          <source-position filename="src/vncframebuffer.h" line="45"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="45">the frambuffer height</doc>
            <type name="guint16" c:type="guint16"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="41">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_rowstride">
        <callback name="get_rowstride">
          <source-position filename="src/vncframebuffer.h" line="46"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="58">the framebuffer row stride</doc>
            <type name="gint" c:type="int"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="54">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_buffer">
        <callback name="get_buffer">
          <source-position filename="src/vncframebuffer.h" line="47"/>
          <return-value transfer-ownership="none">
            <type name="guint8" c:type="guint8*"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_local_format">
        <callback name="get_local_format">
          <source-position filename="src/vncframebuffer.h" line="48"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="84">the local pixel format</doc>
            <type name="PixelFormat" c:type="const VncPixelFormat*"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="80">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_remote_format">
        <callback name="get_remote_format">
          <source-position filename="src/vncframebuffer.h" line="49"/>
          <return-value transfer-ownership="none">
            <type name="PixelFormat" c:type="const VncPixelFormat*"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="perfect_format_match">
        <callback name="perfect_format_match">
          <source-position filename="src/vncframebuffer.h" line="50"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncframebuffer.c"
                 line="111">TRUE if the local and remote pixel formats match</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="107">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_pixel_at">
        <callback name="set_pixel_at">
          <source-position filename="src/vncframebuffer.h" line="52"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="120">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
            <parameter name="src" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="121">the new pixel data</doc>
              <array zero-terminated="0" c:type="guint8*">
                <type name="guint8" c:type="guint8"/>
              </array>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="122">the horizontal pixel to set</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="123">the vertical pixel to set</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="fill">
        <callback name="fill">
          <source-position filename="src/vncframebuffer.h" line="55"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="138">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
            <parameter name="src" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="139">the new pixel data</doc>
              <array zero-terminated="0" c:type="guint8*">
                <type name="guint8" c:type="guint8"/>
              </array>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="140">the horizontal pixel to start filling</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="141">the vertical pixel to start filling</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="width" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="142">the number of pixels to fill horizontally</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="height" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="143">the number of pixels to fill vertically</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="copyrect">
        <callback name="copyrect">
          <source-position filename="src/vncframebuffer.h" line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="160">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
            <parameter name="srcx" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="161">the horizontal starting pixel</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="srcy" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="162">the vertical starting pixel</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="dstx" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="163">the horizontal target pixel</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="dsty" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="164">the vertical target pixel</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="width" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="165">the width of the region</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="height" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="166">the height of the region</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="blt">
        <callback name="blt">
          <source-position filename="src/vncframebuffer.h" line="63"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
            <parameter name="src" transfer-ownership="none">
              <type name="guint8" c:type="guint8*"/>
            </parameter>
            <parameter name="rowstride" transfer-ownership="none">
              <type name="gint" c:type="int"/>
            </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>
            <parameter name="width" transfer-ownership="none">
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="height" transfer-ownership="none">
              <type name="guint16" c:type="guint16"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="rgb24_blt">
        <callback name="rgb24_blt">
          <source-position filename="src/vncframebuffer.h" line="68"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="206">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
            <parameter name="src" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="207">the new pixel data</doc>
              <array zero-terminated="0" c:type="guint8*">
                <type name="guint8" c:type="guint8"/>
              </array>
            </parameter>
            <parameter name="rowstride" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="208">the number of bytes per row</doc>
              <type name="gint" c:type="int"/>
            </parameter>
            <parameter name="x" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="209">the horizontal pixel to start filling</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="y" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="210">the vertical pixel to start filling</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="width" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="211">the number of pixels to fill horizontally</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="height" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="212">the number of pixels to fill vertically</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_color_map">
        <callback name="set_color_map">
          <source-position filename="src/vncframebuffer.h" line="73"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="fb" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="231">the framebuffer object</doc>
              <type name="Framebuffer" c:type="VncFramebuffer*"/>
            </parameter>
            <parameter name="map" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="src/vncframebuffer.c"
                   line="232">the new color map</doc>
              <type name="ColorMap" c:type="VncColorMap*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <function-macro name="IS_AUDIO"
                    c:identifier="VNC_IS_AUDIO"
                    introspectable="0">
      <source-position filename="src/vncaudio.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BASE_AUDIO"
                    c:identifier="VNC_IS_BASE_AUDIO"
                    introspectable="0">
      <source-position filename="src/vncbaseaudio.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BASE_AUDIO_CLASS"
                    c:identifier="VNC_IS_BASE_AUDIO_CLASS"
                    introspectable="0">
      <source-position filename="src/vncbaseaudio.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BASE_FRAMEBUFFER"
                    c:identifier="VNC_IS_BASE_FRAMEBUFFER"
                    introspectable="0">
      <source-position filename="src/vncbaseframebuffer.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BASE_FRAMEBUFFER_CLASS"
                    c:identifier="VNC_IS_BASE_FRAMEBUFFER_CLASS"
                    introspectable="0">
      <source-position filename="src/vncbaseframebuffer.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONNECTION"
                    c:identifier="VNC_IS_CONNECTION"
                    introspectable="0">
      <source-position filename="src/vncconnection.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CONNECTION_CLASS"
                    c:identifier="VNC_IS_CONNECTION_CLASS"
                    introspectable="0">
      <source-position filename="src/vncconnection.h" line="39"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CURSOR"
                    c:identifier="VNC_IS_CURSOR"
                    introspectable="0">
      <source-position filename="src/vnccursor.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CURSOR_CLASS"
                    c:identifier="VNC_IS_CURSOR_CLASS"
                    introspectable="0">
      <source-position filename="src/vnccursor.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_FRAMEBUFFER"
                    c:identifier="VNC_IS_FRAMEBUFFER"
                    introspectable="0">
      <source-position filename="src/vncframebuffer.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="LEDSTATE_CAPS_LOCK"
              value="4"
              c:type="VNC_LEDSTATE_CAPS_LOCK">
      <source-position filename="src/vncconnection.h" line="45"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LEDSTATE_NUM_LOCK"
              value="2"
              c:type="VNC_LEDSTATE_NUM_LOCK">
      <source-position filename="src/vncconnection.h" line="44"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LEDSTATE_SCROLL_LOCK"
              value="1"
              c:type="VNC_LEDSTATE_SCROLL_LOCK">
      <source-position filename="src/vncconnection.h" line="43"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MAJOR_VERSION" value="1" c:type="VNC_MAJOR_VERSION">
      <source-position filename="src/vncversion.h" line="28"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MICRO_VERSION" value="1" c:type="VNC_MICRO_VERSION">
      <source-position filename="src/vncversion.h" line="32"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="3" c:type="VNC_MINOR_VERSION">
      <source-position filename="src/vncversion.h" line="30"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PADDING" value="4" c:type="VNC_PADDING">
      <source-position filename="src/vncutil.h" line="41"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PADDING_LARGE" value="20" c:type="VNC_PADDING_LARGE">
      <source-position filename="src/vncutil.h" line="44"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="PixelFormat"
            c:type="VncPixelFormat"
            glib:type-name="VncPixelFormat"
            glib:get-type="vnc_pixel_format_get_type"
            c:symbol-prefix="pixel_format">
      <source-position filename="src/vncpixelformat.h" line="47"/>
      <field name="bits_per_pixel" writable="1">
        <type name="guint8" c:type="guint8"/>
      </field>
      <field name="depth" writable="1">
        <type name="guint8" c:type="guint8"/>
      </field>
      <field name="byte_order" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="true_color_flag" writable="1">
        <type name="guint8" c:type="guint8"/>
      </field>
      <field name="red_max" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="green_max" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="blue_max" writable="1">
        <type name="guint16" c:type="guint16"/>
      </field>
      <field name="red_shift" writable="1">
        <type name="guint8" c:type="guint8"/>
      </field>
      <field name="green_shift" writable="1">
        <type name="guint8" c:type="guint8"/>
      </field>
      <field name="blue_shift" writable="1">
        <type name="guint8" c:type="guint8"/>
      </field>
      <constructor name="new" c:identifier="vnc_pixel_format_new">
        <doc xml:space="preserve"
             filename="src/vncpixelformat.c"
             line="40">Allocate a new VNC pixel format struct whose
contents is initialized to all zeros. The
struct must be released using vnc_pixel_format_free
when no longer required</doc>
        <source-position filename="src/vncpixelformat.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vncpixelformat.c"
               line="48">the new pixel format struct</doc>
          <type name="PixelFormat" c:type="VncPixelFormat*"/>
        </return-value>
      </constructor>
      <method name="copy" c:identifier="vnc_pixel_format_copy">
        <doc xml:space="preserve"
             filename="src/vncpixelformat.c"
             line="59">Allocate a new VNC pixel format struct whose
contents is initialized with the data found
in @srcFormat. The struct must be released using
vnc_pixel_format_free when no longer required.</doc>
        <source-position filename="src/vncpixelformat.h" line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/vncpixelformat.c"
               line="68">the new pixel format struct</doc>
          <type name="PixelFormat" c:type="VncPixelFormat*"/>
        </return-value>
        <parameters>
          <instance-parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncpixelformat.c"
                 line="61">the format to copy</doc>
            <type name="PixelFormat" c:type="VncPixelFormat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="vnc_pixel_format_free">
        <doc xml:space="preserve"
             filename="src/vncpixelformat.c"
             line="80">Release the memory associated with @format</doc>
        <source-position filename="src/vncpixelformat.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/vncpixelformat.c"
                 line="82">the format to free</doc>
            <type name="PixelFormat" c:type="VncPixelFormat*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="match" c:identifier="vnc_pixel_format_match">
        <source-position filename="src/vncpixelformat.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="format" transfer-ownership="none">
            <type name="PixelFormat" c:type="const VncPixelFormat*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <type name="PixelFormat" c:type="const VncPixelFormat*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <function name="util_check_version" c:identifier="vnc_util_check_version">
      <doc xml:space="preserve"
           filename="src/vncutil.c"
           line="84">Check whether the library is at least as new as the
version (@major, @minor, @micro)</doc>
      <source-position filename="src/vncutil.h" line="32"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/vncutil.c"
             line="93">TRUE if the library is at least as new as the requested version</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="major" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncutil.c"
               line="86">the desired major version</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="minor" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncutil.c"
               line="87">the desired minor version</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="micro" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncutil.c"
               line="88">the desired micro version</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="util_get_debug" c:identifier="vnc_util_get_debug">
      <doc xml:space="preserve"
           filename="src/vncutil.c"
           line="54">Determine whether the VNC code will emit verbose
debug messages</doc>
      <source-position filename="src/vncutil.h" line="29"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/vncutil.c"
             line="60">TRUE if debugging is enabled, FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="util_get_version" c:identifier="vnc_util_get_version">
      <doc xml:space="preserve"
           filename="src/vncutil.c"
           line="67">Get the encoded version number of the library release.
The major, minor and micro components are encoded in
8-bits each.</doc>
      <source-position filename="src/vncutil.h" line="30"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/vncutil.c"
             line="74">the library version number</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="util_get_version_string"
              c:identifier="vnc_util_get_version_string">
      <doc xml:space="preserve"
           filename="src/vncutil.c"
           line="104">Get the library version number in a printable
string format</doc>
      <source-position filename="src/vncutil.h" line="31"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/vncutil.c"
             line="110">the version string</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
    </function>
    <function name="util_set_debug" c:identifier="vnc_util_set_debug">
      <doc xml:space="preserve"
           filename="src/vncutil.c"
           line="31">Control whether the VNC code emits verbose debug
messages on stderr</doc>
      <source-position filename="src/vncutil.h" line="28"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="enabled" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/vncutil.c"
               line="33">TRUE to turn on verbose debugging</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
