<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <package name="gupnp-1.2"/>
  <namespace name="GUPnPIgd"
             version="1.0"
             shared-library="libgupnp-igd-1.0.so.4"
             c:identifier-prefixes="gupnp,gupnp_igd,GUPnP,GUPnPIgd"
             c:symbol-prefixes="gupnp,gupnp_igd,g_u_pn_p,g_u_pn_pigd">
    <function-macro name="IS_SIMPLE_IGD"
                    c:identifier="GUPNP_IS_SIMPLE_IGD"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd.h" line="39"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SIMPLE_IGD_CLASS"
                    c:identifier="GUPNP_IS_SIMPLE_IGD_CLASS"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd.h" line="41"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SIMPLE_IGD_THREAD"
                    c:identifier="GUPNP_IS_SIMPLE_IGD_THREAD"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd-thread.h" line="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SIMPLE_IGD_THREAD_CLASS"
                    c:identifier="GUPNP_IS_SIMPLE_IGD_THREAD_CLASS"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd-thread.h" line="40"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIMPLE_IGD"
                    c:identifier="GUPNP_SIMPLE_IGD"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIMPLE_IGD_CAST"
                    c:identifier="GUPNP_SIMPLE_IGD_CAST"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd.h" line="46"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIMPLE_IGD_CLASS"
                    c:identifier="GUPNP_SIMPLE_IGD_CLASS"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIMPLE_IGD_GET_CLASS"
                    c:identifier="GUPNP_SIMPLE_IGD_GET_CLASS"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIMPLE_IGD_THREAD"
                    c:identifier="GUPNP_SIMPLE_IGD_THREAD"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd-thread.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIMPLE_IGD_THREAD_CAST"
                    c:identifier="GUPNP_SIMPLE_IGD_THREAD_CAST"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd-thread.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIMPLE_IGD_THREAD_CLASS"
                    c:identifier="GUPNP_SIMPLE_IGD_THREAD_CLASS"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd-thread.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIMPLE_IGD_THREAD_GET_CLASS"
                    c:identifier="GUPNP_SIMPLE_IGD_THREAD_GET_CLASS"
                    introspectable="0">
      <source-position filename="gupnp-simple-igd-thread.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="SimpleIgd"
           c:symbol-prefix="simple_igd"
           c:type="GUPnPSimpleIgd"
           parent="GObject.Object"
           glib:type-name="GUPnPSimpleIgd"
           glib:get-type="gupnp_simple_igd_get_type"
           glib:type-struct="SimpleIgdClass">
      <doc xml:space="preserve"
           filename="gupnp-simple-igd.h"
           line="55">All members are private, access them using methods and properties</doc>
      <source-position filename="gupnp-simple-igd-priv.h" line="62"/>
      <constructor name="new" c:identifier="gupnp_simple_igd_new">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="601">main context)
This creates a new #GUPnpSimpleIgd object using the special GMainContext</doc>
        <source-position filename="gupnp-simple-igd.h" line="93"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gupnp-simple-igd.c"
               line="607">a new #GUPnPSimpleIgd</doc>
          <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
        </return-value>
      </constructor>
      <virtual-method name="add_port" invoker="add_port">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="894">This adds a port to the router's forwarding table. The mapping will
be automatically refreshed by this object until it is either
removed with gupnp_simple_igd_remove_port(),
gupnp_simple_igd_remove_port_local() or the object disapears.

If there is a problem, the #GUPnPSimpleIgd::error-mapping-port signal will
be emitted. If a router is found and a port is mapped correctly,
#GUPnPSimpleIgd::mapped-external-port will be emitted. These signals may
be emitted multiple times if there are multiple routers present.</doc>
        <source-position filename="gupnp-simple-igd-priv.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="896">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="897">the protocol "UDP" or "TCP"</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="external_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="898">The port to try to open on the external device,
  0 means to try a random port if the same port as the local port is already
  taken</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="local_ip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="901">The IP address to forward packets to (most likely the local ip address)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="local_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="902">The local port to forward packets to</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="lease_duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="903">The duration of the lease (it will be auto-renewed before it expires). This is in seconds.</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="904">The description that will appear in the router's table</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_port" invoker="remove_port">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="963">This tries to remove a port entry from the routers that was previously added
with gupnp_simple_igd_add_port(). There is no indicated of success or failure
it is a best effort mechanism. If it fails, the bindings will disapears after
the lease duration set when the port where added.</doc>
        <source-position filename="gupnp-simple-igd-priv.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="965">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="966">the protocol "UDP" or "TCP" as given to
 gupnp_simple_igd_add_port()</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="external_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="968">The port to try to open on the external device as given to
 gupnp_simple_igd_add_port()</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_port_local" invoker="remove_port_local">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="1020">This tries to remove a port entry from the routers that was previously added
with gupnp_simple_igd_add_port(). There is no indicated of success or failure
it is a best effort mechanism. If it fails, the bindings will disapears after
the lease duration set when the port where added.</doc>
        <source-position filename="gupnp-simple-igd-priv.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="1022">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="1023">the protocol "UDP" or "TCP" as given to
 gupnp_simple_igd_add_port()</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="local_ip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="1025">The local ip on the internal device as was to
 gupnp_simple_igd_add_port()</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="local_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="1027">The port to try to open on the internal device as given to
 gupnp_simple_igd_add_port()</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_port" c:identifier="gupnp_simple_igd_add_port">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="894">This adds a port to the router's forwarding table. The mapping will
be automatically refreshed by this object until it is either
removed with gupnp_simple_igd_remove_port(),
gupnp_simple_igd_remove_port_local() or the object disapears.

If there is a problem, the #GUPnPSimpleIgd::error-mapping-port signal will
be emitted. If a router is found and a port is mapped correctly,
#GUPnPSimpleIgd::mapped-external-port will be emitted. These signals may
be emitted multiple times if there are multiple routers present.</doc>
        <source-position filename="gupnp-simple-igd.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="896">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="897">the protocol "UDP" or "TCP"</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="external_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="898">The port to try to open on the external device,
  0 means to try a random port if the same port as the local port is already
  taken</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="local_ip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="901">The IP address to forward packets to (most likely the local ip address)</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="local_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="902">The local port to forward packets to</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
          <parameter name="lease_duration" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="903">The duration of the lease (it will be auto-renewed before it expires). This is in seconds.</doc>
            <type name="guint32" c:type="guint32"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="904">The description that will appear in the router's table</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_all_mappings"
              c:identifier="gupnp_simple_igd_delete_all_mappings">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="273">Removes all mappings and prevents other from being formed
Should only be called by the dispose function of subclasses</doc>
        <source-position filename="gupnp-simple-igd.h" line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gupnp-simple-igd.c"
               line="280">%TRUE if the object can be disposed, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="275">a #GUPnPSimpleIgd</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_port" c:identifier="gupnp_simple_igd_remove_port">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="963">This tries to remove a port entry from the routers that was previously added
with gupnp_simple_igd_add_port(). There is no indicated of success or failure
it is a best effort mechanism. If it fails, the bindings will disapears after
the lease duration set when the port where added.</doc>
        <source-position filename="gupnp-simple-igd.h" line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="965">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="966">the protocol "UDP" or "TCP" as given to
 gupnp_simple_igd_add_port()</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="external_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="968">The port to try to open on the external device as given to
 gupnp_simple_igd_add_port()</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_port_local"
              c:identifier="gupnp_simple_igd_remove_port_local">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="1020">This tries to remove a port entry from the routers that was previously added
with gupnp_simple_igd_add_port(). There is no indicated of success or failure
it is a best effort mechanism. If it fails, the bindings will disapears after
the lease duration set when the port where added.</doc>
        <source-position filename="gupnp-simple-igd.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="1022">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="1023">the protocol "UDP" or "TCP" as given to
 gupnp_simple_igd_add_port()</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="local_ip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="1025">The local ip on the internal device as was to
 gupnp_simple_igd_add_port()</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="local_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="1027">The port to try to open on the internal device as given to
 gupnp_simple_igd_add_port()</doc>
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </method>
      <property name="main-context" transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="SimpleIgdPrivate" c:type="GUPnPSimpleIgdPrivate*"/>
      </field>
      <glib:signal name="context-available" when="last">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="241">This is to allow the application to control which #GUPnPContext this
client should use. If the application connects to this signal, it controls
if a context will be used by changing the return value of the signal
handler.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gupnp-simple-igd.c"
               line="251">FALSE if the context should be used or TRUE if it should
be ignored</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="244">a #GUPnPContext</doc>
            <type name="GObject.Object"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="error-mapping-port" when="last" detailed="1">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="218">This means that mapping a port on a specific IGD has failed (it may still
succeed on other IGDs on the network).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="221">a #GError</doc>
            <type name="GLib.Error"/>
          </parameter>
          <parameter name="proto" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="222">The requested protocol</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="external_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="223">the external port requested in gupnp_simple_igd_add_port()</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="local_ip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="224">internal ip this is forwarded to</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="local_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="225">the local port</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="226">the passed description</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="mapped-external-port" when="last">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.c"
             line="192">This signal means that an IGD has been found that that adding a port
mapping has succeeded.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="proto" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="195">the requested protocol ("UDP" or "TCP")</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="external_ip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="196">the external IP</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="replaces_external_ip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="197">if this mapping replaces another mapping,
 this is the old external IP</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="external_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="199">the external port that was allocated</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="local_ip" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="200">IP address that the router should forward the packets to. It
 could be the address of another machine on the local network</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="local_port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="202">the local port</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gupnp-simple-igd.c"
                 line="203">the user's selected description</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="SimpleIgdClass"
            c:type="GUPnPSimpleIgdClass"
            glib:is-gtype-struct-for="SimpleIgd">
      <doc xml:space="preserve"
           filename="gupnp-simple-igd-priv.h"
           line="28">The Raw UDP component transmitter class</doc>
      <source-position filename="gupnp-simple-igd-priv.h" line="62"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="add_port">
        <callback name="add_port">
          <source-position filename="gupnp-simple-igd-priv.h" line="44"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="896">The #GUPnPSimpleIgd object</doc>
              <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
            </parameter>
            <parameter name="protocol" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="897">the protocol "UDP" or "TCP"</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="external_port" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="898">The port to try to open on the external device,
  0 means to try a random port if the same port as the local port is already
  taken</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="local_ip" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="901">The IP address to forward packets to (most likely the local ip address)</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="local_port" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="902">The local port to forward packets to</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
            <parameter name="lease_duration" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="903">The duration of the lease (it will be auto-renewed before it expires). This is in seconds.</doc>
              <type name="guint32" c:type="guint32"/>
            </parameter>
            <parameter name="description" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="904">The description that will appear in the router's table</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_port">
        <callback name="remove_port">
          <source-position filename="gupnp-simple-igd-priv.h" line="52"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="965">The #GUPnPSimpleIgd object</doc>
              <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
            </parameter>
            <parameter name="protocol" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="966">the protocol "UDP" or "TCP" as given to
 gupnp_simple_igd_add_port()</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="external_port" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="968">The port to try to open on the external device as given to
 gupnp_simple_igd_add_port()</doc>
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_port_local">
        <callback name="remove_port_local">
          <source-position filename="gupnp-simple-igd-priv.h" line="56"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="1022">The #GUPnPSimpleIgd object</doc>
              <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
            </parameter>
            <parameter name="protocol" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="1023">the protocol "UDP" or "TCP" as given to
 gupnp_simple_igd_add_port()</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="local_ip" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="1025">The local ip on the internal device as was to
 gupnp_simple_igd_add_port()</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="local_port" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gupnp-simple-igd.c"
                   line="1027">The port to try to open on the internal device as given to
 gupnp_simple_igd_add_port()</doc>
              <type name="guint16" c:type="guint16"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="SimpleIgdError"
                 glib:type-name="GUPnPSimpleIgdError"
                 glib:get-type="gupnp_simple_igd_error_get_type"
                 c:type="GUPnPSimpleIgdError"
                 glib:error-domain="gupnp-simple-igd-error">
      <doc xml:space="preserve"
           filename="gupnp-simple-igd.h"
           line="76">Errors coming out of the GUPnPSimpleIGD object.</doc>
      <member name="address"
              value="0"
              c:identifier="GUPNP_SIMPLE_IGD_ERROR_EXTERNAL_ADDRESS"
              glib:nick="address">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd.h"
             line="78">Error getting the external
address of the router</doc>
      </member>
      <function name="quark" c:identifier="gupnp_simple_igd_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="SimpleIgdPrivate"
            c:type="GUPnPSimpleIgdPrivate"
            disguised="1">
      <source-position filename="gupnp-simple-igd.h" line="52"/>
    </record>
    <class name="SimpleIgdThread"
           c:symbol-prefix="simple_igd_thread"
           c:type="GUPnPSimpleIgdThread"
           parent="SimpleIgd"
           glib:type-name="GUPnPSimpleIgdThread"
           glib:get-type="gupnp_simple_igd_thread_get_type"
           glib:type-struct="SimpleIgdThreadClass">
      <doc xml:space="preserve"
           filename="gupnp-simple-igd-thread.h"
           line="54">All members are private, access them using methods and properties</doc>
      <source-position filename="gupnp-simple-igd-thread.h" line="50"/>
      <constructor name="new" c:identifier="gupnp_simple_igd_thread_new">
        <doc xml:space="preserve"
             filename="gupnp-simple-igd-thread.c"
             line="546">Creates a new #GUPnPSimpleIgdThread</doc>
        <source-position filename="gupnp-simple-igd-thread.h" line="70"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gupnp-simple-igd-thread.c"
               line="551">the new #GUPnPSimpleIgdThread</doc>
          <type name="SimpleIgdThread" c:type="GUPnPSimpleIgdThread*"/>
        </return-value>
      </constructor>
      <field name="parent">
        <type name="SimpleIgd" c:type="GUPnPSimpleIgd"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="SimpleIgdThreadPrivate"
              c:type="GUPnPSimpleIgdThreadPrivate*"/>
      </field>
    </class>
    <record name="SimpleIgdThreadClass"
            c:type="GUPnPSimpleIgdThreadClass"
            disguised="1"
            glib:is-gtype-struct-for="SimpleIgdThread">
      <doc xml:space="preserve"
           filename="gupnp-simple-igd-thread.c"
           line="41">The Raw UDP component transmitter class</doc>
      <source-position filename="gupnp-simple-igd-thread.h" line="50"/>
    </record>
    <record name="SimpleIgdThreadPrivate"
            c:type="GUPnPSimpleIgdThreadPrivate"
            disguised="1">
      <source-position filename="gupnp-simple-igd-thread.h" line="51"/>
    </record>
    <function name="simple_igd_error_quark"
              c:identifier="gupnp_simple_igd_error_quark"
              moved-to="SimpleIgdError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
