This file is indexed.

/usr/share/gir-1.0/GUPnPIgd-1.0.gir is in libgupnp-igd-1.0-dev 0.2.5-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
<?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.0"/>
  <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">
    <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">All members are private, access them using methods and properties</doc>
      <constructor name="new" c:identifier="gupnp_simple_igd_new">
        <doc xml:space="preserve">main context)
This creates a new #GUPnpSimpleIgd object using the special GMainContext</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">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">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>
        <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">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve">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">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">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">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">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">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">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>
        <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">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve">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">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">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>
        <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">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve">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">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">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">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>
        <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">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve">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">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">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">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">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">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">Removes all mappings and prevents other from being formed
Should only be called by the dispose function of subclasses</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%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">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">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>
        <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">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve">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">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">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>
        <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">The #GUPnPSimpleIgd object</doc>
            <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
          </instance-parameter>
          <parameter name="protocol" transfer-ownership="none">
            <doc xml:space="preserve">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">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">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">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">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">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">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">a #GError</doc>
            <type name="GLib.Error"/>
          </parameter>
          <parameter name="proto" transfer-ownership="none">
            <doc xml:space="preserve">The requested protocol</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="external_port" transfer-ownership="none">
            <doc xml:space="preserve">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">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">the local port</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve">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">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">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">the external IP</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="replaces_external_ip" transfer-ownership="none">
            <doc xml:space="preserve">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">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">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">the local port</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve">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">The Raw UDP component transmitter class</doc>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="add_port">
        <callback name="add_port">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve">The #GUPnPSimpleIgd object</doc>
              <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
            </parameter>
            <parameter name="protocol" transfer-ownership="none">
              <doc xml:space="preserve">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">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">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">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">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">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">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve">The #GUPnPSimpleIgd object</doc>
              <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
            </parameter>
            <parameter name="protocol" transfer-ownership="none">
              <doc xml:space="preserve">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">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">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve">The #GUPnPSimpleIgd object</doc>
              <type name="SimpleIgd" c:type="GUPnPSimpleIgd*"/>
            </parameter>
            <parameter name="protocol" transfer-ownership="none">
              <doc xml:space="preserve">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">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">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">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">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">
    </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">All members are private, access them using methods and properties</doc>
      <constructor name="new" c:identifier="gupnp_simple_igd_thread_new">
        <doc xml:space="preserve">Creates a new #GUPnPSimpleIgdThread</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">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">The Raw UDP component transmitter class</doc>
    </record>
    <record name="SimpleIgdThreadPrivate"
            c:type="GUPnPSimpleIgdThreadPrivate"
            disguised="1">
    </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>