~ubuntu-branches/ubuntu/raring/grilo/raring

« back to all changes in this revision

Viewing changes to src/Grl-0.1.gir

  • Committer: Package Import Robot
  • Author(s): Alberto Garcia
  • Date: 2012-05-24 18:05:32 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20120524180532-ccftaeh72upen313
Tags: 0.1.19-1
* New upstream release.
* Build using Vala 0.16:
  - debian/control: update build dependencies.
  - debian/rules: install Vala API files in /usr/share/vala/vapi.
  - debian/libgrilo-0.1-dev.install: update path of Vala API files.
* Create a new libgrilo-0.1-bin package and move grl-inspect-0.1 there.
  - debian/rules: rename manpage to match the binary name.
* Drop libgrilo-0.1-0.shlibs and use dh_makeshlibs to generate a shlibs
  file.
* Multi-arch support:
  - debian/compat: set compatibility level to 9.
  - debian/control: build depend on debhelper >= 9.
  - debian/control: Add Multi-Arch and Pre-Depends fields to
    libgrilo-0.1-0.
  - debian/libgrilo-0.1-{0,dev}.install: replace usr/lib/ with
    usr/lib/*/.
  - bump shlibs to 0.1.19 and break grilo-plugins-0.1 << 0.1.19.
* libgrilo-0.1-{0,bin}.lintian-overrides: ignore the
  hardening-no-stackprotector warning, Grilo does not use character
  arrays on the stack.
* debian/copyright: update copyright years and add section for Debian
  files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0"?>
2
 
<!-- This file was automatically generated from C sources - DO NOT EDIT!
3
 
To affect the contents of this file, edit the original C definitions,
4
 
and/or use gtk-doc annotations.  -->
5
 
<repository version="1.2"
6
 
            xmlns="http://www.gtk.org/introspection/core/1.0"
7
 
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
8
 
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9
 
  <include name="GLib" version="2.0"/>
10
 
  <include name="GModule" version="2.0"/>
11
 
  <include name="GObject" version="2.0"/>
12
 
  <namespace name="Grl"
13
 
             version="0.1"
14
 
             shared-library="libgrilo-0.1.so.0"
15
 
             c:identifier-prefixes="Grl"
16
 
             c:symbol-prefixes="grl">
17
 
    <alias name="KeyID" c:type="GrlKeyID">
18
 
      <type name="gpointer" c:type="gpointer"/>
19
 
    </alias>
20
 
    <constant name="CONFIG_KEY_APIKEY"
21
 
              value="api-key"
22
 
              c:type="GRL_CONFIG_KEY_APIKEY">
23
 
      <type name="utf8" c:type="gchar*"/>
24
 
    </constant>
25
 
    <constant name="CONFIG_KEY_APIKEY_BLOB"
26
 
              value="api-key-blob"
27
 
              c:type="GRL_CONFIG_KEY_APIKEY_BLOB">
28
 
      <type name="utf8" c:type="gchar*"/>
29
 
    </constant>
30
 
    <constant name="CONFIG_KEY_APISECRET"
31
 
              value="api-secret"
32
 
              c:type="GRL_CONFIG_KEY_APISECRET">
33
 
      <type name="utf8" c:type="gchar*"/>
34
 
    </constant>
35
 
    <constant name="CONFIG_KEY_APITOKEN"
36
 
              value="api-token"
37
 
              c:type="GRL_CONFIG_KEY_APITOKEN">
38
 
      <type name="utf8" c:type="gchar*"/>
39
 
    </constant>
40
 
    <constant name="CONFIG_KEY_PASSWORD"
41
 
              value="password"
42
 
              c:type="GRL_CONFIG_KEY_PASSWORD">
43
 
      <type name="utf8" c:type="gchar*"/>
44
 
    </constant>
45
 
    <constant name="CONFIG_KEY_PLUGIN"
46
 
              value="target-plugin"
47
 
              c:type="GRL_CONFIG_KEY_PLUGIN">
48
 
      <type name="utf8" c:type="gchar*"/>
49
 
    </constant>
50
 
    <constant name="CONFIG_KEY_SOURCE"
51
 
              value="target-source"
52
 
              c:type="GRL_CONFIG_KEY_SOURCE">
53
 
      <type name="utf8" c:type="gchar*"/>
54
 
    </constant>
55
 
    <constant name="CONFIG_KEY_USERNAME"
56
 
              value="username"
57
 
              c:type="GRL_CONFIG_KEY_USERNAME">
58
 
      <type name="utf8" c:type="gchar*"/>
59
 
    </constant>
60
 
    <class name="Config"
61
 
           c:symbol-prefix="config"
62
 
           c:type="GrlConfig"
63
 
           parent="GObject.Object"
64
 
           glib:type-name="GrlConfig"
65
 
           glib:get-type="grl_config_get_type"
66
 
           glib:type-struct="ConfigClass">
67
 
      <constructor name="new" c:identifier="grl_config_new" version="0.1.4">
68
 
        <doc xml:whitespace="preserve">Creates a new data config object that will be associated with a plugin
69
 
(if @source is NULL), or a specific source spawned from a plugin (if
70
 
@source is not NULL). The latter may be useful for plugins
71
 
spawning various sources, each one needing a different configuration.
72
 
 
73
 
config associated with the plugin should not be freed until the plugin
74
 
has been unloaded.</doc>
75
 
        <return-value transfer-ownership="none">
76
 
          <doc xml:whitespace="preserve">a newly-allocated data config. The data</doc>
77
 
          <type name="Config" c:type="GrlConfig*"/>
78
 
        </return-value>
79
 
        <parameters>
80
 
          <parameter name="plugin" transfer-ownership="none">
81
 
            <doc xml:whitespace="preserve">plugin id for this configuration</doc>
82
 
            <type name="utf8" c:type="gchar*"/>
83
 
          </parameter>
84
 
          <parameter name="source" transfer-ownership="none" allow-none="1">
85
 
            <doc xml:whitespace="preserve">source id for this configuration</doc>
86
 
            <type name="utf8" c:type="gchar*"/>
87
 
          </parameter>
88
 
        </parameters>
89
 
      </constructor>
90
 
      <method name="get_api_key"
91
 
              c:identifier="grl_config_get_api_key"
92
 
              version="0.1.4">
93
 
        <return-value transfer-ownership="full">
94
 
          <doc xml:whitespace="preserve">the webservice API key</doc>
95
 
          <type name="utf8" c:type="gchar*"/>
96
 
        </return-value>
97
 
      </method>
98
 
      <method name="get_api_key_blob"
99
 
              c:identifier="grl_config_get_api_key_blob"
100
 
              version="0.1.9">
101
 
        <return-value transfer-ownership="none">
102
 
          <doc xml:whitespace="preserve">the binary API key, size will reflect the size of the buffer</doc>
103
 
          <type name="guint8" c:type="guint8*"/>
104
 
        </return-value>
105
 
        <parameters>
106
 
          <parameter name="size" transfer-ownership="none">
107
 
            <doc xml:whitespace="preserve">pointer to size of data</doc>
108
 
            <type name="gsize" c:type="gsize*"/>
109
 
          </parameter>
110
 
        </parameters>
111
 
      </method>
112
 
      <method name="get_api_secret"
113
 
              c:identifier="grl_config_get_api_secret"
114
 
              version="0.1.4">
115
 
        <return-value transfer-ownership="full">
116
 
          <doc xml:whitespace="preserve">the webservice API passphrase</doc>
117
 
          <type name="utf8" c:type="gchar*"/>
118
 
        </return-value>
119
 
      </method>
120
 
      <method name="get_api_token"
121
 
              c:identifier="grl_config_get_api_token"
122
 
              version="0.1.4">
123
 
        <return-value transfer-ownership="full">
124
 
          <doc xml:whitespace="preserve">the webservice API token</doc>
125
 
          <type name="utf8" c:type="gchar*"/>
126
 
        </return-value>
127
 
      </method>
128
 
      <method name="get_binary" c:identifier="grl_config_get_binary">
129
 
        <return-value transfer-ownership="none">
130
 
          <type name="guint8" c:type="guint8*"/>
131
 
        </return-value>
132
 
        <parameters>
133
 
          <parameter name="param" transfer-ownership="none">
134
 
            <type name="utf8" c:type="gchar*"/>
135
 
          </parameter>
136
 
          <parameter name="size" transfer-ownership="none">
137
 
            <type name="gsize" c:type="gsize*"/>
138
 
          </parameter>
139
 
        </parameters>
140
 
      </method>
141
 
      <method name="get_boolean" c:identifier="grl_config_get_boolean">
142
 
        <return-value transfer-ownership="none">
143
 
          <type name="gboolean" c:type="gboolean"/>
144
 
        </return-value>
145
 
        <parameters>
146
 
          <parameter name="param" transfer-ownership="none">
147
 
            <type name="utf8" c:type="gchar*"/>
148
 
          </parameter>
149
 
        </parameters>
150
 
      </method>
151
 
      <method name="get_float" c:identifier="grl_config_get_float">
152
 
        <return-value transfer-ownership="none">
153
 
          <type name="gfloat" c:type="gfloat"/>
154
 
        </return-value>
155
 
        <parameters>
156
 
          <parameter name="param" transfer-ownership="none">
157
 
            <type name="utf8" c:type="gchar*"/>
158
 
          </parameter>
159
 
        </parameters>
160
 
      </method>
161
 
      <method name="get_int" c:identifier="grl_config_get_int">
162
 
        <return-value transfer-ownership="none">
163
 
          <type name="gint" c:type="gint"/>
164
 
        </return-value>
165
 
        <parameters>
166
 
          <parameter name="param" transfer-ownership="none">
167
 
            <type name="utf8" c:type="gchar*"/>
168
 
          </parameter>
169
 
        </parameters>
170
 
      </method>
171
 
      <method name="get_password"
172
 
              c:identifier="grl_config_get_password"
173
 
              version="0.1.8">
174
 
        <return-value transfer-ownership="full">
175
 
          <doc xml:whitespace="preserve">the password</doc>
176
 
          <type name="utf8" c:type="gchar*"/>
177
 
        </return-value>
178
 
      </method>
179
 
      <method name="get_plugin"
180
 
              c:identifier="grl_config_get_plugin"
181
 
              version="0.1.4">
182
 
        <return-value transfer-ownership="full">
183
 
          <doc xml:whitespace="preserve">the plugin id</doc>
184
 
          <type name="utf8" c:type="gchar*"/>
185
 
        </return-value>
186
 
      </method>
187
 
      <method name="get_string" c:identifier="grl_config_get_string">
188
 
        <return-value transfer-ownership="full">
189
 
          <type name="utf8" c:type="gchar*"/>
190
 
        </return-value>
191
 
        <parameters>
192
 
          <parameter name="param" transfer-ownership="none">
193
 
            <type name="utf8" c:type="gchar*"/>
194
 
          </parameter>
195
 
        </parameters>
196
 
      </method>
197
 
      <method name="get_username"
198
 
              c:identifier="grl_config_get_username"
199
 
              version="0.1.8">
200
 
        <return-value transfer-ownership="full">
201
 
          <doc xml:whitespace="preserve">the username</doc>
202
 
          <type name="utf8" c:type="gchar*"/>
203
 
        </return-value>
204
 
      </method>
205
 
      <method name="has_param"
206
 
              c:identifier="grl_config_has_param"
207
 
              version="0.1.8">
208
 
        <doc xml:whitespace="preserve">otherwise.</doc>
209
 
        <return-value transfer-ownership="none">
210
 
          <doc xml:whitespace="preserve">TRUE if @params has a defined value within @config, FALSE</doc>
211
 
          <type name="gboolean" c:type="gboolean"/>
212
 
        </return-value>
213
 
        <parameters>
214
 
          <parameter name="param" transfer-ownership="none">
215
 
            <doc xml:whitespace="preserve">the param</doc>
216
 
            <type name="utf8" c:type="gchar*"/>
217
 
          </parameter>
218
 
        </parameters>
219
 
      </method>
220
 
      <method name="set" c:identifier="grl_config_set">
221
 
        <return-value transfer-ownership="none">
222
 
          <type name="none" c:type="void"/>
223
 
        </return-value>
224
 
        <parameters>
225
 
          <parameter name="param" transfer-ownership="none">
226
 
            <type name="utf8" c:type="gchar*"/>
227
 
          </parameter>
228
 
          <parameter name="value" transfer-ownership="none">
229
 
            <type name="GObject.Value" c:type="GValue*"/>
230
 
          </parameter>
231
 
        </parameters>
232
 
      </method>
233
 
      <method name="set_api_key"
234
 
              c:identifier="grl_config_set_api_key"
235
 
              version="0.1.4">
236
 
        <doc xml:whitespace="preserve">Set the webservice API key in the configuration</doc>
237
 
        <return-value transfer-ownership="none">
238
 
          <type name="none" c:type="void"/>
239
 
        </return-value>
240
 
        <parameters>
241
 
          <parameter name="key" transfer-ownership="none">
242
 
            <doc xml:whitespace="preserve">the API key</doc>
243
 
            <type name="utf8" c:type="gchar*"/>
244
 
          </parameter>
245
 
        </parameters>
246
 
      </method>
247
 
      <method name="set_api_key_blob"
248
 
              c:identifier="grl_config_set_api_key_blob"
249
 
              version="0.1.9">
250
 
        <doc xml:whitespace="preserve">Set the binary API key in the configuration</doc>
251
 
        <return-value transfer-ownership="none">
252
 
          <type name="none" c:type="void"/>
253
 
        </return-value>
254
 
        <parameters>
255
 
          <parameter name="blob" transfer-ownership="none">
256
 
            <doc xml:whitespace="preserve">the binary API key blob</doc>
257
 
            <type name="guint8" c:type="guint8*"/>
258
 
          </parameter>
259
 
          <parameter name="size" transfer-ownership="none">
260
 
            <doc xml:whitespace="preserve">the size of the blob</doc>
261
 
            <type name="gsize" c:type="gsize"/>
262
 
          </parameter>
263
 
        </parameters>
264
 
      </method>
265
 
      <method name="set_api_secret"
266
 
              c:identifier="grl_config_set_api_secret"
267
 
              version="0.1.4">
268
 
        <doc xml:whitespace="preserve">Set the webservice passphrase in the configuration</doc>
269
 
        <return-value transfer-ownership="none">
270
 
          <type name="none" c:type="void"/>
271
 
        </return-value>
272
 
        <parameters>
273
 
          <parameter name="secret" transfer-ownership="none">
274
 
            <doc xml:whitespace="preserve">the webservice passphrase</doc>
275
 
            <type name="utf8" c:type="gchar*"/>
276
 
          </parameter>
277
 
        </parameters>
278
 
      </method>
279
 
      <method name="set_api_token"
280
 
              c:identifier="grl_config_set_api_token"
281
 
              version="0.1.4">
282
 
        <doc xml:whitespace="preserve">Set the webservice API token in the configuration</doc>
283
 
        <return-value transfer-ownership="none">
284
 
          <type name="none" c:type="void"/>
285
 
        </return-value>
286
 
        <parameters>
287
 
          <parameter name="token" transfer-ownership="none">
288
 
            <doc xml:whitespace="preserve">the API token</doc>
289
 
            <type name="utf8" c:type="gchar*"/>
290
 
          </parameter>
291
 
        </parameters>
292
 
      </method>
293
 
      <method name="set_binary" c:identifier="grl_config_set_binary">
294
 
        <return-value transfer-ownership="none">
295
 
          <type name="none" c:type="void"/>
296
 
        </return-value>
297
 
        <parameters>
298
 
          <parameter name="param" transfer-ownership="none">
299
 
            <type name="utf8" c:type="gchar*"/>
300
 
          </parameter>
301
 
          <parameter name="blob" transfer-ownership="none">
302
 
            <type name="guint8" c:type="guint8*"/>
303
 
          </parameter>
304
 
          <parameter name="size" transfer-ownership="none">
305
 
            <type name="gsize" c:type="gsize"/>
306
 
          </parameter>
307
 
        </parameters>
308
 
      </method>
309
 
      <method name="set_boolean" c:identifier="grl_config_set_boolean">
310
 
        <return-value transfer-ownership="none">
311
 
          <type name="none" c:type="void"/>
312
 
        </return-value>
313
 
        <parameters>
314
 
          <parameter name="param" transfer-ownership="none">
315
 
            <type name="utf8" c:type="gchar*"/>
316
 
          </parameter>
317
 
          <parameter name="value" transfer-ownership="none">
318
 
            <type name="gboolean" c:type="gboolean"/>
319
 
          </parameter>
320
 
        </parameters>
321
 
      </method>
322
 
      <method name="set_float" c:identifier="grl_config_set_float">
323
 
        <return-value transfer-ownership="none">
324
 
          <type name="none" c:type="void"/>
325
 
        </return-value>
326
 
        <parameters>
327
 
          <parameter name="param" transfer-ownership="none">
328
 
            <type name="utf8" c:type="gchar*"/>
329
 
          </parameter>
330
 
          <parameter name="value" transfer-ownership="none">
331
 
            <type name="gfloat" c:type="gfloat"/>
332
 
          </parameter>
333
 
        </parameters>
334
 
      </method>
335
 
      <method name="set_int" c:identifier="grl_config_set_int">
336
 
        <return-value transfer-ownership="none">
337
 
          <type name="none" c:type="void"/>
338
 
        </return-value>
339
 
        <parameters>
340
 
          <parameter name="param" transfer-ownership="none">
341
 
            <type name="utf8" c:type="gchar*"/>
342
 
          </parameter>
343
 
          <parameter name="value" transfer-ownership="none">
344
 
            <type name="gint" c:type="gint"/>
345
 
          </parameter>
346
 
        </parameters>
347
 
      </method>
348
 
      <method name="set_password"
349
 
              c:identifier="grl_config_set_password"
350
 
              version="0.1.8">
351
 
        <doc xml:whitespace="preserve">Set the password in the configuration</doc>
352
 
        <return-value transfer-ownership="none">
353
 
          <type name="none" c:type="void"/>
354
 
        </return-value>
355
 
        <parameters>
356
 
          <parameter name="password" transfer-ownership="none">
357
 
            <doc xml:whitespace="preserve">the password</doc>
358
 
            <type name="utf8" c:type="gchar*"/>
359
 
          </parameter>
360
 
        </parameters>
361
 
      </method>
362
 
      <method name="set_plugin"
363
 
              c:identifier="grl_config_set_plugin"
364
 
              version="0.1.4">
365
 
        <doc xml:whitespace="preserve">Set the plugin key in the configuration</doc>
366
 
        <return-value transfer-ownership="none">
367
 
          <type name="none" c:type="void"/>
368
 
        </return-value>
369
 
        <parameters>
370
 
          <parameter name="plugin" transfer-ownership="none">
371
 
            <doc xml:whitespace="preserve">the plugin id</doc>
372
 
            <type name="utf8" c:type="gchar*"/>
373
 
          </parameter>
374
 
        </parameters>
375
 
      </method>
376
 
      <method name="set_source"
377
 
              c:identifier="grl_config_set_source"
378
 
              version="0.1.4">
379
 
        <doc xml:whitespace="preserve">Set the plugin key in the configuration</doc>
380
 
        <return-value transfer-ownership="none">
381
 
          <type name="none" c:type="void"/>
382
 
        </return-value>
383
 
        <parameters>
384
 
          <parameter name="source" transfer-ownership="none">
385
 
            <doc xml:whitespace="preserve">the source id</doc>
386
 
            <type name="utf8" c:type="gchar*"/>
387
 
          </parameter>
388
 
        </parameters>
389
 
      </method>
390
 
      <method name="set_string" c:identifier="grl_config_set_string">
391
 
        <return-value transfer-ownership="none">
392
 
          <type name="none" c:type="void"/>
393
 
        </return-value>
394
 
        <parameters>
395
 
          <parameter name="param" transfer-ownership="none">
396
 
            <type name="utf8" c:type="gchar*"/>
397
 
          </parameter>
398
 
          <parameter name="value" transfer-ownership="none">
399
 
            <type name="utf8" c:type="gchar*"/>
400
 
          </parameter>
401
 
        </parameters>
402
 
      </method>
403
 
      <method name="set_username"
404
 
              c:identifier="grl_config_set_username"
405
 
              version="0.1.8">
406
 
        <doc xml:whitespace="preserve">Set the username in the configuration</doc>
407
 
        <return-value transfer-ownership="none">
408
 
          <type name="none" c:type="void"/>
409
 
        </return-value>
410
 
        <parameters>
411
 
          <parameter name="username" transfer-ownership="none">
412
 
            <doc xml:whitespace="preserve">the username</doc>
413
 
            <type name="utf8" c:type="gchar*"/>
414
 
          </parameter>
415
 
        </parameters>
416
 
      </method>
417
 
      <field name="parent">
418
 
        <type name="GObject.Object" c:type="GObject"/>
419
 
      </field>
420
 
      <field name="priv">
421
 
        <type name="ConfigPrivate" c:type="GrlConfigPrivate*"/>
422
 
      </field>
423
 
      <field name="_grl_reserved">
424
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
425
 
          <type name="gpointer" c:type="gpointer"/>
426
 
        </array>
427
 
      </field>
428
 
    </class>
429
 
    <record name="ConfigClass"
430
 
            c:type="GrlConfigClass"
431
 
            glib:is-gtype-struct-for="Config">
432
 
      <doc xml:whitespace="preserve">Grilo Config Class</doc>
433
 
      <field name="parent_class">
434
 
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
435
 
      </field>
436
 
      <field name="_grl_reserved" readable="0" private="1">
437
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
438
 
          <type name="gpointer" c:type="gpointer"/>
439
 
        </array>
440
 
      </field>
441
 
    </record>
442
 
    <record name="ConfigPrivate" c:type="GrlConfigPrivate" disguised="1">
443
 
    </record>
444
 
    <enumeration name="CoreError" c:type="GrlCoreError">
445
 
      <doc xml:whitespace="preserve">These constants identify all the available core errors</doc>
446
 
      <member name="browse_failed"
447
 
              value="1"
448
 
              c:identifier="GRL_CORE_ERROR_BROWSE_FAILED"/>
449
 
      <member name="search_failed"
450
 
              value="2"
451
 
              c:identifier="GRL_CORE_ERROR_SEARCH_FAILED"/>
452
 
      <member name="search_null_unsupported"
453
 
              value="3"
454
 
              c:identifier="GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED"/>
455
 
      <member name="query_failed"
456
 
              value="4"
457
 
              c:identifier="GRL_CORE_ERROR_QUERY_FAILED"/>
458
 
      <member name="metadata_failed"
459
 
              value="5"
460
 
              c:identifier="GRL_CORE_ERROR_METADATA_FAILED"/>
461
 
      <member name="resolve_failed"
462
 
              value="6"
463
 
              c:identifier="GRL_CORE_ERROR_RESOLVE_FAILED"/>
464
 
      <member name="media_not_found"
465
 
              value="7"
466
 
              c:identifier="GRL_CORE_ERROR_MEDIA_NOT_FOUND"/>
467
 
      <member name="store_failed"
468
 
              value="8"
469
 
              c:identifier="GRL_CORE_ERROR_STORE_FAILED"/>
470
 
      <member name="remove_failed"
471
 
              value="9"
472
 
              c:identifier="GRL_CORE_ERROR_REMOVE_FAILED"/>
473
 
      <member name="set_metadata_failed"
474
 
              value="10"
475
 
              c:identifier="GRL_CORE_ERROR_SET_METADATA_FAILED"/>
476
 
      <member name="media_from_uri_failed"
477
 
              value="11"
478
 
              c:identifier="GRL_CORE_ERROR_MEDIA_FROM_URI_FAILED"/>
479
 
      <member name="config_load_failed"
480
 
              value="12"
481
 
              c:identifier="GRL_CORE_ERROR_CONFIG_LOAD_FAILED"/>
482
 
      <member name="config_failed"
483
 
              value="13"
484
 
              c:identifier="GRL_CORE_ERROR_CONFIG_FAILED"/>
485
 
      <member name="unregister_source_failed"
486
 
              value="14"
487
 
              c:identifier="GRL_CORE_ERROR_UNREGISTER_SOURCE_FAILED"/>
488
 
      <member name="load_plugin_failed"
489
 
              value="15"
490
 
              c:identifier="GRL_CORE_ERROR_LOAD_PLUGIN_FAILED"/>
491
 
      <member name="unload_plugin_failed"
492
 
              value="16"
493
 
              c:identifier="GRL_CORE_ERROR_UNLOAD_PLUGIN_FAILED"/>
494
 
      <member name="register_metadata_key_failed"
495
 
              value="17"
496
 
              c:identifier="GRL_CORE_ERROR_REGISTER_METADATA_KEY_FAILED"/>
497
 
      <member name="notify_changed_failed"
498
 
              value="18"
499
 
              c:identifier="GRL_CORE_ERROR_NOTIFY_CHANGED_FAILED"/>
500
 
      <member name="operation_cancelled"
501
 
              value="19"
502
 
              c:identifier="GRL_CORE_ERROR_OPERATION_CANCELLED"/>
503
 
    </enumeration>
504
 
    <class name="Data"
505
 
           c:symbol-prefix="data"
506
 
           c:type="GrlData"
507
 
           parent="GObject.Object"
508
 
           glib:type-name="GrlData"
509
 
           glib:get-type="grl_data_get_type"
510
 
           glib:type-struct="DataClass">
511
 
      <constructor name="new" c:identifier="grl_data_new" version="0.1.4">
512
 
        <doc xml:whitespace="preserve">Creates a new data object.</doc>
513
 
        <return-value transfer-ownership="full">
514
 
          <doc xml:whitespace="preserve">a new data object.</doc>
515
 
          <type name="Data" c:type="GrlData*"/>
516
 
        </return-value>
517
 
      </constructor>
518
 
      <method name="add"
519
 
              c:identifier="grl_data_add"
520
 
              version="0.1.4"
521
 
              deprecated="Use grl_data_add_related_keys() instead"
522
 
              deprecated-version="0.1.13">
523
 
        <doc xml:whitespace="preserve">Adds a new @key to @data, with no value. If key already exists, it does
524
 
nothing.</doc>
525
 
        <return-value transfer-ownership="none">
526
 
          <type name="none" c:type="void"/>
527
 
        </return-value>
528
 
        <parameters>
529
 
          <parameter name="key" transfer-ownership="none">
530
 
            <doc xml:whitespace="preserve">key to add</doc>
531
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
532
 
          </parameter>
533
 
        </parameters>
534
 
      </method>
535
 
      <method name="add_binary"
536
 
              c:identifier="grl_data_add_binary"
537
 
              version="0.1.10">
538
 
        <doc xml:whitespace="preserve">Appends a new binary value for @key in @data.</doc>
539
 
        <return-value transfer-ownership="none">
540
 
          <type name="none" c:type="void"/>
541
 
        </return-value>
542
 
        <parameters>
543
 
          <parameter name="key" transfer-ownership="none">
544
 
            <doc xml:whitespace="preserve">key to append</doc>
545
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
546
 
          </parameter>
547
 
          <parameter name="buf" transfer-ownership="none">
548
 
            <doc xml:whitespace="preserve">the buffer containing the new value</doc>
549
 
            <type name="guint8" c:type="guint8*"/>
550
 
          </parameter>
551
 
          <parameter name="size" transfer-ownership="none">
552
 
            <doc xml:whitespace="preserve">size of buffer</doc>
553
 
            <type name="gsize" c:type="gsize"/>
554
 
          </parameter>
555
 
        </parameters>
556
 
      </method>
557
 
      <method name="add_float"
558
 
              c:identifier="grl_data_add_float"
559
 
              version="0.1.10">
560
 
        <doc xml:whitespace="preserve">Appends a new float value for @key in @data.</doc>
561
 
        <return-value transfer-ownership="none">
562
 
          <type name="none" c:type="void"/>
563
 
        </return-value>
564
 
        <parameters>
565
 
          <parameter name="key" transfer-ownership="none">
566
 
            <doc xml:whitespace="preserve">key to append</doc>
567
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
568
 
          </parameter>
569
 
          <parameter name="floatvalue" transfer-ownership="none">
570
 
            <doc xml:whitespace="preserve">the new value</doc>
571
 
            <type name="gfloat" c:type="gfloat"/>
572
 
          </parameter>
573
 
        </parameters>
574
 
      </method>
575
 
      <method name="add_int" c:identifier="grl_data_add_int" version="0.1.10">
576
 
        <doc xml:whitespace="preserve">Appends a new int value for @key in @data.</doc>
577
 
        <return-value transfer-ownership="none">
578
 
          <type name="none" c:type="void"/>
579
 
        </return-value>
580
 
        <parameters>
581
 
          <parameter name="key" transfer-ownership="none">
582
 
            <doc xml:whitespace="preserve">key to append</doc>
583
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
584
 
          </parameter>
585
 
          <parameter name="intvalue" transfer-ownership="none">
586
 
            <doc xml:whitespace="preserve">the new value</doc>
587
 
            <type name="gint" c:type="gint"/>
588
 
          </parameter>
589
 
        </parameters>
590
 
      </method>
591
 
      <method name="add_related_keys"
592
 
              c:identifier="grl_data_add_related_keys"
593
 
              version="0.1.10">
594
 
        <doc xml:whitespace="preserve">Adds a new set of values into @data.
595
 
 
596
 
All keys in @prop must be related among them.
597
 
 
598
 
@data will take the ownership of @relkeys, so do not modify it.</doc>
599
 
        <return-value transfer-ownership="none">
600
 
          <type name="none" c:type="void"/>
601
 
        </return-value>
602
 
        <parameters>
603
 
          <parameter name="relkeys" transfer-ownership="none">
604
 
            <doc xml:whitespace="preserve">a set of related properties with their values</doc>
605
 
            <type name="RelatedKeys" c:type="GrlRelatedKeys*"/>
606
 
          </parameter>
607
 
        </parameters>
608
 
      </method>
609
 
      <method name="add_string"
610
 
              c:identifier="grl_data_add_string"
611
 
              version="0.1.10">
612
 
        <doc xml:whitespace="preserve">Appends a new string value for @key in @data.</doc>
613
 
        <return-value transfer-ownership="none">
614
 
          <type name="none" c:type="void"/>
615
 
        </return-value>
616
 
        <parameters>
617
 
          <parameter name="key" transfer-ownership="none">
618
 
            <doc xml:whitespace="preserve">key to append</doc>
619
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
620
 
          </parameter>
621
 
          <parameter name="strvalue" transfer-ownership="none">
622
 
            <doc xml:whitespace="preserve">the new value</doc>
623
 
            <type name="utf8" c:type="gchar*"/>
624
 
          </parameter>
625
 
        </parameters>
626
 
      </method>
627
 
      <method name="dup" c:identifier="grl_data_dup" version="0.1.10">
628
 
        <doc xml:whitespace="preserve">Makes a deep copy of @data and all its contents.</doc>
629
 
        <return-value transfer-ownership="full">
630
 
          <doc xml:whitespace="preserve">a new #GrlData. Free it with #g_object_unref.</doc>
631
 
          <type name="Data" c:type="GrlData*"/>
632
 
        </return-value>
633
 
      </method>
634
 
      <method name="get" c:identifier="grl_data_get" version="0.1.4">
635
 
        <doc xml:whitespace="preserve">Get the first value from @data associated with @key.
636
 
 
637
 
freed by user.</doc>
638
 
        <return-value transfer-ownership="none">
639
 
          <doc xml:whitespace="preserve">a #GValue. This value should not be modified nor</doc>
640
 
          <type name="GObject.Value" c:type="GValue*"/>
641
 
        </return-value>
642
 
        <parameters>
643
 
          <parameter name="key" transfer-ownership="none">
644
 
            <doc xml:whitespace="preserve">key to look up.</doc>
645
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
646
 
          </parameter>
647
 
        </parameters>
648
 
      </method>
649
 
      <method name="get_all_single_related_keys"
650
 
              c:identifier="grl_data_get_all_single_related_keys"
651
 
              version="0.1.10"
652
 
              deprecated="Use grl_data_get_single_values_for_key() instead"
653
 
              deprecated-version="0.1.13">
654
 
        <doc xml:whitespace="preserve">Returns all non-%NULL values for @key from @data. This ignores related keys.
655
 
 
656
 
values. Do not change or free the values. Free the list with #g_list_free.</doc>
657
 
        <return-value transfer-ownership="container">
658
 
          <doc xml:whitespace="preserve">a #GList with</doc>
659
 
          <type name="GLib.List" c:type="GList*">
660
 
            <type name="GObject.Value"/>
661
 
          </type>
662
 
        </return-value>
663
 
        <parameters>
664
 
          <parameter name="key" transfer-ownership="none">
665
 
            <doc xml:whitespace="preserve">a metadata key</doc>
666
 
            <type name="KeyID" c:type="GrlKeyID"/>
667
 
          </parameter>
668
 
        </parameters>
669
 
      </method>
670
 
      <method name="get_all_single_related_keys_string"
671
 
              c:identifier="grl_data_get_all_single_related_keys_string"
672
 
              version="0.1.10"
673
 
              deprecated="Use grl_data_get_single_values_for_key_string() instead"
674
 
              deprecated-version="0.1.13">
675
 
        <doc xml:whitespace="preserve">Returns all non-%NULL values for @key from @data. @key must have been
676
 
registered as a string-type key. This ignores related keys.
677
 
 
678
 
not change or free the strings. Free the list with #g_list_free.</doc>
679
 
        <return-value transfer-ownership="container">
680
 
          <doc xml:whitespace="preserve">a #GList with values. Do</doc>
681
 
          <type name="GLib.List" c:type="GList*">
682
 
            <type name="utf8"/>
683
 
          </type>
684
 
        </return-value>
685
 
        <parameters>
686
 
          <parameter name="key" transfer-ownership="none">
687
 
            <doc xml:whitespace="preserve">a metadata key</doc>
688
 
            <type name="KeyID" c:type="GrlKeyID"/>
689
 
          </parameter>
690
 
        </parameters>
691
 
      </method>
692
 
      <method name="get_binary" c:identifier="grl_data_get_binary">
693
 
        <doc xml:whitespace="preserve">Returns the first binary value associated with @key from @data. If @key has
694
 
no first value, or value is not a gfloat, or @key is not in data, then %NULL
695
 
is returned.
696
 
 
697
 
successful @size will be set the to the buffer size.</doc>
698
 
        <return-value transfer-ownership="none">
699
 
          <doc xml:whitespace="preserve">buffer location associated with the @key, or %NULL in other case. If</doc>
700
 
          <type name="guint8" c:type="guint8*"/>
701
 
        </return-value>
702
 
        <parameters>
703
 
          <parameter name="key" transfer-ownership="none">
704
 
            <doc xml:whitespace="preserve">key to use</doc>
705
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
706
 
          </parameter>
707
 
          <parameter name="size"
708
 
                     direction="out"
709
 
                     caller-allocates="0"
710
 
                     transfer-ownership="full">
711
 
            <doc xml:whitespace="preserve">location to store the buffer size</doc>
712
 
            <type name="gsize" c:type="gsize*"/>
713
 
          </parameter>
714
 
        </parameters>
715
 
      </method>
716
 
      <method name="get_float"
717
 
              c:identifier="grl_data_get_float"
718
 
              version="0.1.5">
719
 
        <doc xml:whitespace="preserve">Returns the first float value associated with @key from @data. If @key has no
720
 
first value, or value is not a gfloat, or @key is not in data, then 0 is
721
 
returned.</doc>
722
 
        <return-value transfer-ownership="none">
723
 
          <doc xml:whitespace="preserve">float value associated with @key, or 0 in other case.</doc>
724
 
          <type name="gfloat" c:type="gfloat"/>
725
 
        </return-value>
726
 
        <parameters>
727
 
          <parameter name="key" transfer-ownership="none">
728
 
            <doc xml:whitespace="preserve">key to use</doc>
729
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
730
 
          </parameter>
731
 
        </parameters>
732
 
      </method>
733
 
      <method name="get_int" c:identifier="grl_data_get_int" version="0.1.4">
734
 
        <doc xml:whitespace="preserve">Returns the first int value associated with @key from @data. If @key has no
735
 
first value, or value is not a gint, or @key is not in data, then 0 is
736
 
returned.</doc>
737
 
        <return-value transfer-ownership="none">
738
 
          <doc xml:whitespace="preserve">int value associated with @key, or 0 in other case.</doc>
739
 
          <type name="gint" c:type="gint"/>
740
 
        </return-value>
741
 
        <parameters>
742
 
          <parameter name="key" transfer-ownership="none">
743
 
            <doc xml:whitespace="preserve">key to use</doc>
744
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
745
 
          </parameter>
746
 
        </parameters>
747
 
      </method>
748
 
      <method name="get_keys" c:identifier="grl_data_get_keys" version="0.1.4">
749
 
        <doc xml:whitespace="preserve">Returns a list with keys contained in @data.
750
 
 
751
 
keys. The content of the list should not be modified or freed. Use
752
 
g_list_free() when done using the list.</doc>
753
 
        <return-value transfer-ownership="container">
754
 
          <doc xml:whitespace="preserve">an array with the</doc>
755
 
          <type name="GLib.List" c:type="GList*">
756
 
            <type name="GObject.ParamSpec"/>
757
 
          </type>
758
 
        </return-value>
759
 
      </method>
760
 
      <method name="get_overwrite"
761
 
              c:identifier="grl_data_get_overwrite"
762
 
              version="0.1.4"
763
 
              deprecated="0.1.13">
764
 
        <doc xml:whitespace="preserve">Checks if old values are replaced when calling #grl_data_set.</doc>
765
 
        <return-value transfer-ownership="none">
766
 
          <doc xml:whitespace="preserve">%TRUE if values will be overwritten.</doc>
767
 
          <type name="gboolean" c:type="gboolean"/>
768
 
        </return-value>
769
 
      </method>
770
 
      <method name="get_related_keys"
771
 
              c:identifier="grl_data_get_related_keys"
772
 
              version="0.1.10">
773
 
        <doc xml:whitespace="preserve">Returns a set containing the values for @key and related keys at position
774
 
@index from @data.
775
 
 
776
 
If user changes any of the values in the related keys, the changes will
777
 
become permanent.</doc>
778
 
        <return-value transfer-ownership="none">
779
 
          <doc xml:whitespace="preserve">a #GrlRelatedKeys. Do not free it.</doc>
780
 
          <type name="RelatedKeys" c:type="GrlRelatedKeys*"/>
781
 
        </return-value>
782
 
        <parameters>
783
 
          <parameter name="key" transfer-ownership="none">
784
 
            <doc xml:whitespace="preserve">a metadata key</doc>
785
 
            <type name="KeyID" c:type="GrlKeyID"/>
786
 
          </parameter>
787
 
          <parameter name="index" transfer-ownership="none">
788
 
            <doc xml:whitespace="preserve">element to retrieve, starting at 0</doc>
789
 
            <type name="guint" c:type="guint"/>
790
 
          </parameter>
791
 
        </parameters>
792
 
      </method>
793
 
      <method name="get_single_values_for_key"
794
 
              c:identifier="grl_data_get_single_values_for_key"
795
 
              version="0.1.13">
796
 
        <doc xml:whitespace="preserve">Returns all non-%NULL values for @key from @data. This ignores related keys.
797
 
 
798
 
values. Do not change or free the values. Free the list with #g_list_free.</doc>
799
 
        <return-value transfer-ownership="container">
800
 
          <doc xml:whitespace="preserve">a #GList with</doc>
801
 
          <type name="GLib.List" c:type="GList*">
802
 
            <type name="GObject.Value"/>
803
 
          </type>
804
 
        </return-value>
805
 
        <parameters>
806
 
          <parameter name="key" transfer-ownership="none">
807
 
            <doc xml:whitespace="preserve">a metadata key</doc>
808
 
            <type name="KeyID" c:type="GrlKeyID"/>
809
 
          </parameter>
810
 
        </parameters>
811
 
      </method>
812
 
      <method name="get_single_values_for_key_string"
813
 
              c:identifier="grl_data_get_single_values_for_key_string"
814
 
              version="0.1.13">
815
 
        <doc xml:whitespace="preserve">Returns all non-%NULL values for @key from @data. @key must have been
816
 
registered as a string-type key. This ignores related keys.
817
 
 
818
 
not change or free the strings. Free the list with #g_list_free.</doc>
819
 
        <return-value transfer-ownership="container">
820
 
          <doc xml:whitespace="preserve">a #GList with values. Do</doc>
821
 
          <type name="GLib.List" c:type="GList*">
822
 
            <type name="utf8"/>
823
 
          </type>
824
 
        </return-value>
825
 
        <parameters>
826
 
          <parameter name="key" transfer-ownership="none">
827
 
            <doc xml:whitespace="preserve">a metadata key</doc>
828
 
            <type name="KeyID" c:type="GrlKeyID"/>
829
 
          </parameter>
830
 
        </parameters>
831
 
      </method>
832
 
      <method name="get_string"
833
 
              c:identifier="grl_data_get_string"
834
 
              version="0.1.4">
835
 
        <doc xml:whitespace="preserve">Returns the first string value associated with @key from @data. If @key has
836
 
no first value, or value is not string, or @key is not in @data, then %NULL
837
 
is returned.
838
 
 
839
 
not change nor free the value.</doc>
840
 
        <return-value transfer-ownership="none">
841
 
          <doc xml:whitespace="preserve">string associated with @key, or %NULL in other case. Caller should</doc>
842
 
          <type name="utf8" c:type="gchar*"/>
843
 
        </return-value>
844
 
        <parameters>
845
 
          <parameter name="key" transfer-ownership="none">
846
 
            <doc xml:whitespace="preserve">key to use</doc>
847
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
848
 
          </parameter>
849
 
        </parameters>
850
 
      </method>
851
 
      <method name="has_key" c:identifier="grl_data_has_key" version="0.1.4">
852
 
        <doc xml:whitespace="preserve">Checks if @key is in @data.</doc>
853
 
        <return-value transfer-ownership="none">
854
 
          <doc xml:whitespace="preserve">%TRUE if @key is in @data, %FALSE in other case.</doc>
855
 
          <type name="gboolean" c:type="gboolean"/>
856
 
        </return-value>
857
 
        <parameters>
858
 
          <parameter name="key" transfer-ownership="none">
859
 
            <doc xml:whitespace="preserve">key to search</doc>
860
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
861
 
          </parameter>
862
 
        </parameters>
863
 
      </method>
864
 
      <method name="key_is_known"
865
 
              c:identifier="grl_data_key_is_known"
866
 
              version="0.1.4"
867
 
              deprecated="Use grl_data_has_key() instead"
868
 
              deprecated-version="0.1.13">
869
 
        <doc xml:whitespace="preserve">Checks if the @key has a first value in @data.</doc>
870
 
        <return-value transfer-ownership="none">
871
 
          <doc xml:whitespace="preserve">%TRUE if key has a value.</doc>
872
 
          <type name="gboolean" c:type="gboolean"/>
873
 
        </return-value>
874
 
        <parameters>
875
 
          <parameter name="key" transfer-ownership="none">
876
 
            <doc xml:whitespace="preserve">key to search</doc>
877
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
878
 
          </parameter>
879
 
        </parameters>
880
 
      </method>
881
 
      <method name="length" c:identifier="grl_data_length" version="0.1.10">
882
 
        <doc xml:whitespace="preserve">Returns how many values @key or related keys have in @data: if @key has no
883
 
value, but a related key has, then it is counted as positive.
884
 
 
885
 
As example, let's think in three related keys, K1, K2 and K3, and then thinks
886
 
we have added several values for those keys, as:
887
 
 
888
 
(V10, V20, V30),, (V11, NULL, V31), (V12, NULL, V32)
889
 
 
890
 
Therefore, when invoking grl_data_length (data, K2) it will return 3:
891
 
considering K2 and the related keys (K1 and K3), there are 3 values.</doc>
892
 
        <return-value transfer-ownership="none">
893
 
          <doc xml:whitespace="preserve">number of values</doc>
894
 
          <type name="guint" c:type="guint"/>
895
 
        </return-value>
896
 
        <parameters>
897
 
          <parameter name="key" transfer-ownership="none">
898
 
            <doc xml:whitespace="preserve">a metadata key</doc>
899
 
            <type name="KeyID" c:type="GrlKeyID"/>
900
 
          </parameter>
901
 
        </parameters>
902
 
      </method>
903
 
      <method name="remove" c:identifier="grl_data_remove" version="0.1.4">
904
 
        <doc xml:whitespace="preserve">Removes the first value for @key from @data. If there are other keys related
905
 
to @key their values will also be removed from @data.</doc>
906
 
        <return-value transfer-ownership="none">
907
 
          <type name="none" c:type="void"/>
908
 
        </return-value>
909
 
        <parameters>
910
 
          <parameter name="key" transfer-ownership="none">
911
 
            <doc xml:whitespace="preserve">key to remove</doc>
912
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
913
 
          </parameter>
914
 
        </parameters>
915
 
      </method>
916
 
      <method name="remove_nth"
917
 
              c:identifier="grl_data_remove_nth"
918
 
              version="0.1.10">
919
 
        <doc xml:whitespace="preserve">Removes the value at position @index for @key from @data. If there are other
920
 
keys related to @key, their values at position @index will also be removed
921
 
from @data.</doc>
922
 
        <return-value transfer-ownership="none">
923
 
          <type name="none" c:type="void"/>
924
 
        </return-value>
925
 
        <parameters>
926
 
          <parameter name="key" transfer-ownership="none">
927
 
            <doc xml:whitespace="preserve">a metadata key</doc>
928
 
            <type name="KeyID" c:type="GrlKeyID"/>
929
 
          </parameter>
930
 
          <parameter name="index" transfer-ownership="none">
931
 
            <doc xml:whitespace="preserve">index of key to be removed, starting at 0</doc>
932
 
            <type name="guint" c:type="guint"/>
933
 
          </parameter>
934
 
        </parameters>
935
 
      </method>
936
 
      <method name="set" c:identifier="grl_data_set" version="0.1.4">
937
 
        <doc xml:whitespace="preserve">Sets the first value associated with @key in @data. If key already has a
938
 
value old value is freed and the new one is set.
939
 
 
940
 
Also, checks that @value is compliant with @key specification, modifying it
941
 
accordingly. For instance, if @key requires a number between 0 and 10, but
942
 
@value is outside this range, it will be adapted accordingly.</doc>
943
 
        <return-value transfer-ownership="none">
944
 
          <type name="none" c:type="void"/>
945
 
        </return-value>
946
 
        <parameters>
947
 
          <parameter name="key" transfer-ownership="none">
948
 
            <doc xml:whitespace="preserve">key to change or add</doc>
949
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
950
 
          </parameter>
951
 
          <parameter name="value" transfer-ownership="none">
952
 
            <doc xml:whitespace="preserve">the new value</doc>
953
 
            <type name="GObject.Value" c:type="GValue*"/>
954
 
          </parameter>
955
 
        </parameters>
956
 
      </method>
957
 
      <method name="set_binary" c:identifier="grl_data_set_binary">
958
 
        <doc xml:whitespace="preserve">Sets the first binary value associated with @key in @data. If @key already
959
 
has a first value old value is replaced by the new one.</doc>
960
 
        <return-value transfer-ownership="none">
961
 
          <type name="none" c:type="void"/>
962
 
        </return-value>
963
 
        <parameters>
964
 
          <parameter name="key" transfer-ownership="none">
965
 
            <doc xml:whitespace="preserve">key to change or add</doc>
966
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
967
 
          </parameter>
968
 
          <parameter name="buf" transfer-ownership="none">
969
 
            <doc xml:whitespace="preserve">buffer holding the data</doc>
970
 
            <type name="guint8" c:type="guint8*"/>
971
 
          </parameter>
972
 
          <parameter name="size" transfer-ownership="none">
973
 
            <doc xml:whitespace="preserve">size of the buffer</doc>
974
 
            <type name="gsize" c:type="gsize"/>
975
 
          </parameter>
976
 
        </parameters>
977
 
      </method>
978
 
      <method name="set_float"
979
 
              c:identifier="grl_data_set_float"
980
 
              version="0.1.5">
981
 
        <doc xml:whitespace="preserve">Sets the first float value associated with @key in @data. If @key already has
982
 
a first value old value is replaced by the new one.</doc>
983
 
        <return-value transfer-ownership="none">
984
 
          <type name="none" c:type="void"/>
985
 
        </return-value>
986
 
        <parameters>
987
 
          <parameter name="key" transfer-ownership="none">
988
 
            <doc xml:whitespace="preserve">key to change or add</doc>
989
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
990
 
          </parameter>
991
 
          <parameter name="floatvalue" transfer-ownership="none">
992
 
            <doc xml:whitespace="preserve">the new value</doc>
993
 
            <type name="gfloat" c:type="gfloat"/>
994
 
          </parameter>
995
 
        </parameters>
996
 
      </method>
997
 
      <method name="set_int" c:identifier="grl_data_set_int" version="0.1.4">
998
 
        <doc xml:whitespace="preserve">Sets the first int value associated with @key in @data. If @key already has a
999
 
first value old value is replaced by the new one.</doc>
1000
 
        <return-value transfer-ownership="none">
1001
 
          <type name="none" c:type="void"/>
1002
 
        </return-value>
1003
 
        <parameters>
1004
 
          <parameter name="key" transfer-ownership="none">
1005
 
            <doc xml:whitespace="preserve">key to change or add</doc>
1006
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
1007
 
          </parameter>
1008
 
          <parameter name="intvalue" transfer-ownership="none">
1009
 
            <doc xml:whitespace="preserve">the new value</doc>
1010
 
            <type name="gint" c:type="gint"/>
1011
 
          </parameter>
1012
 
        </parameters>
1013
 
      </method>
1014
 
      <method name="set_overwrite"
1015
 
              c:identifier="grl_data_set_overwrite"
1016
 
              version="0.1.4"
1017
 
              deprecated="0.1.13">
1018
 
        <doc xml:whitespace="preserve">This controls if #grl_data_set will overwrite the current value of a property
1019
 
with the new one.
1020
 
 
1021
 
Set it to %TRUE so old values are overwritten, or %FALSE in other case
1022
 
(default is %FALSE).</doc>
1023
 
        <return-value transfer-ownership="none">
1024
 
          <type name="none" c:type="void"/>
1025
 
        </return-value>
1026
 
        <parameters>
1027
 
          <parameter name="overwrite" transfer-ownership="none">
1028
 
            <doc xml:whitespace="preserve">if data can be overwritten</doc>
1029
 
            <type name="gboolean" c:type="gboolean"/>
1030
 
          </parameter>
1031
 
        </parameters>
1032
 
      </method>
1033
 
      <method name="set_related_keys"
1034
 
              c:identifier="grl_data_set_related_keys"
1035
 
              version="0.1.10">
1036
 
        <doc xml:whitespace="preserve">Updates the values at position @index in @data with values in @relkeys.
1037
 
 
1038
 
@data will take ownership of @relkeys, so do not free it after invoking this
1039
 
function.</doc>
1040
 
        <return-value transfer-ownership="none">
1041
 
          <type name="none" c:type="void"/>
1042
 
        </return-value>
1043
 
        <parameters>
1044
 
          <parameter name="relkeys" transfer-ownership="none">
1045
 
            <doc xml:whitespace="preserve">a set of related keys</doc>
1046
 
            <type name="RelatedKeys" c:type="GrlRelatedKeys*"/>
1047
 
          </parameter>
1048
 
          <parameter name="index" transfer-ownership="none">
1049
 
            <doc xml:whitespace="preserve">position to be updated, starting at 0</doc>
1050
 
            <type name="guint" c:type="guint"/>
1051
 
          </parameter>
1052
 
        </parameters>
1053
 
      </method>
1054
 
      <method name="set_string"
1055
 
              c:identifier="grl_data_set_string"
1056
 
              version="0.1.4">
1057
 
        <doc xml:whitespace="preserve">Sets the first string value associated with @key in @data. If @key already
1058
 
has a value old value is freed and the new one is set.</doc>
1059
 
        <return-value transfer-ownership="none">
1060
 
          <type name="none" c:type="void"/>
1061
 
        </return-value>
1062
 
        <parameters>
1063
 
          <parameter name="key" transfer-ownership="none">
1064
 
            <doc xml:whitespace="preserve">key to change or add</doc>
1065
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
1066
 
          </parameter>
1067
 
          <parameter name="strvalue" transfer-ownership="none">
1068
 
            <doc xml:whitespace="preserve">the new value</doc>
1069
 
            <type name="utf8" c:type="gchar*"/>
1070
 
          </parameter>
1071
 
        </parameters>
1072
 
      </method>
1073
 
      <property name="overwrite" writable="1" transfer-ownership="none">
1074
 
        <type name="gboolean"/>
1075
 
      </property>
1076
 
      <field name="parent">
1077
 
        <type name="GObject.Object" c:type="GObject"/>
1078
 
      </field>
1079
 
      <field name="priv">
1080
 
        <type name="DataPrivate" c:type="GrlDataPrivate*"/>
1081
 
      </field>
1082
 
      <field name="_grl_reserved">
1083
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
1084
 
          <type name="gpointer" c:type="gpointer"/>
1085
 
        </array>
1086
 
      </field>
1087
 
    </class>
1088
 
    <record name="DataClass"
1089
 
            c:type="GrlDataClass"
1090
 
            glib:is-gtype-struct-for="Data">
1091
 
      <doc xml:whitespace="preserve">Grilo Data class</doc>
1092
 
      <field name="parent_class">
1093
 
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
1094
 
      </field>
1095
 
      <field name="_grl_reserved" readable="0" private="1">
1096
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
1097
 
          <type name="gpointer" c:type="gpointer"/>
1098
 
        </array>
1099
 
      </field>
1100
 
    </record>
1101
 
    <record name="DataPrivate" c:type="GrlDataPrivate" disguised="1">
1102
 
    </record>
1103
 
    <constant name="KEYID_FORMAT" value="p" c:type="GRL_KEYID_FORMAT">
1104
 
      <type name="utf8" c:type="gchar*"/>
1105
 
    </constant>
1106
 
    <record name="LogDomain" c:type="GrlLogDomain" disguised="1">
1107
 
      <method name="free" c:identifier="grl_log_domain_free">
1108
 
        <return-value transfer-ownership="none">
1109
 
          <type name="none" c:type="void"/>
1110
 
        </return-value>
1111
 
      </method>
1112
 
      <function name="new"
1113
 
                c:identifier="grl_log_domain_new"
1114
 
                version="0.1.7"
1115
 
                introspectable="0">
1116
 
        <return-value>
1117
 
          <doc xml:whitespace="preserve">The new log domain</doc>
1118
 
          <type name="LogDomain" c:type="GrlLogDomain*"/>
1119
 
        </return-value>
1120
 
        <parameters>
1121
 
          <parameter name="name" transfer-ownership="none">
1122
 
            <doc xml:whitespace="preserve">The name for the new log domain</doc>
1123
 
            <type name="utf8" c:type="gchar*"/>
1124
 
          </parameter>
1125
 
        </parameters>
1126
 
      </function>
1127
 
    </record>
1128
 
    <enumeration name="LogLevel" c:type="GrlLogLevel">
1129
 
      <doc xml:whitespace="preserve">Grilo log levels. Defines the level of verbosity selected in Grilo.</doc>
1130
 
      <member name="none" value="0" c:identifier="GRL_LOG_LEVEL_NONE"/>
1131
 
      <member name="error" value="1" c:identifier="GRL_LOG_LEVEL_ERROR"/>
1132
 
      <member name="warning" value="2" c:identifier="GRL_LOG_LEVEL_WARNING"/>
1133
 
      <member name="message" value="3" c:identifier="GRL_LOG_LEVEL_MESSAGE"/>
1134
 
      <member name="info" value="4" c:identifier="GRL_LOG_LEVEL_INFO"/>
1135
 
      <member name="debug" value="5" c:identifier="GRL_LOG_LEVEL_DEBUG"/>
1136
 
      <member name="last" value="6" c:identifier="GRL_LOG_LEVEL_LAST"/>
1137
 
    </enumeration>
1138
 
    <constant name="MEDIA_PLUGIN_AUTHOR"
1139
 
              value="author"
1140
 
              c:type="GRL_MEDIA_PLUGIN_AUTHOR">
1141
 
      <type name="utf8" c:type="gchar*"/>
1142
 
    </constant>
1143
 
    <constant name="MEDIA_PLUGIN_DESCRIPTION"
1144
 
              value="description"
1145
 
              c:type="GRL_MEDIA_PLUGIN_DESCRIPTION">
1146
 
      <type name="utf8" c:type="gchar*"/>
1147
 
    </constant>
1148
 
    <constant name="MEDIA_PLUGIN_LICENSE"
1149
 
              value="license"
1150
 
              c:type="GRL_MEDIA_PLUGIN_LICENSE">
1151
 
      <type name="utf8" c:type="gchar*"/>
1152
 
    </constant>
1153
 
    <constant name="MEDIA_PLUGIN_NAME"
1154
 
              value="name"
1155
 
              c:type="GRL_MEDIA_PLUGIN_NAME">
1156
 
      <type name="utf8" c:type="gchar*"/>
1157
 
    </constant>
1158
 
    <constant name="MEDIA_PLUGIN_SITE"
1159
 
              value="site"
1160
 
              c:type="GRL_MEDIA_PLUGIN_SITE">
1161
 
      <type name="utf8" c:type="gchar*"/>
1162
 
    </constant>
1163
 
    <constant name="MEDIA_PLUGIN_VERSION"
1164
 
              value="version"
1165
 
              c:type="GRL_MEDIA_PLUGIN_VERSION">
1166
 
      <type name="utf8" c:type="gchar*"/>
1167
 
    </constant>
1168
 
    <constant name="METADATA_KEY_CHILDCOUNT_UNKNOWN"
1169
 
              value="-1"
1170
 
              c:type="GRL_METADATA_KEY_CHILDCOUNT_UNKNOWN">
1171
 
      <type name="gint" c:type="gint"/>
1172
 
    </constant>
1173
 
    <class name="Media"
1174
 
           c:symbol-prefix="media"
1175
 
           c:type="GrlMedia"
1176
 
           parent="Data"
1177
 
           glib:type-name="GrlMedia"
1178
 
           glib:get-type="grl_media_get_type"
1179
 
           glib:type-struct="MediaClass">
1180
 
      <constructor name="new" c:identifier="grl_media_new" version="0.1.4">
1181
 
        <doc xml:whitespace="preserve">Creates a new data media object.</doc>
1182
 
        <return-value transfer-ownership="full">
1183
 
          <doc xml:whitespace="preserve">a newly-allocated data media.</doc>
1184
 
          <type name="Media" c:type="GrlMedia*"/>
1185
 
        </return-value>
1186
 
      </constructor>
1187
 
      <function name="unserialize"
1188
 
                c:identifier="grl_media_unserialize"
1189
 
                version="0.1.6">
1190
 
        <doc xml:whitespace="preserve">Unserializes a GrlMedia.</doc>
1191
 
        <return-value transfer-ownership="full">
1192
 
          <doc xml:whitespace="preserve">the GrlMedia from the serial</doc>
1193
 
          <type name="Media" c:type="GrlMedia*"/>
1194
 
        </return-value>
1195
 
        <parameters>
1196
 
          <parameter name="serial" transfer-ownership="none">
1197
 
            <doc xml:whitespace="preserve">a serialized media</doc>
1198
 
            <type name="utf8" c:type="gchar*"/>
1199
 
          </parameter>
1200
 
        </parameters>
1201
 
      </function>
1202
 
      <method name="add_author"
1203
 
              c:identifier="grl_media_add_author"
1204
 
              version="0.1.10">
1205
 
        <doc xml:whitespace="preserve">Adds a new author to @media.</doc>
1206
 
        <return-value transfer-ownership="none">
1207
 
          <type name="none" c:type="void"/>
1208
 
        </return-value>
1209
 
        <parameters>
1210
 
          <parameter name="author" transfer-ownership="none">
1211
 
            <doc xml:whitespace="preserve">an author for @media</doc>
1212
 
            <type name="utf8" c:type="gchar*"/>
1213
 
          </parameter>
1214
 
        </parameters>
1215
 
      </method>
1216
 
      <method name="add_external_player"
1217
 
              c:identifier="grl_media_add_external_player"
1218
 
              version="0.1.10">
1219
 
        <doc xml:whitespace="preserve">Adds a new external player to @media.</doc>
1220
 
        <return-value transfer-ownership="none">
1221
 
          <type name="none" c:type="void"/>
1222
 
        </return-value>
1223
 
        <parameters>
1224
 
          <parameter name="player" transfer-ownership="none">
1225
 
            <doc xml:whitespace="preserve">an external player for @media</doc>
1226
 
            <type name="utf8" c:type="gchar*"/>
1227
 
          </parameter>
1228
 
        </parameters>
1229
 
      </method>
1230
 
      <method name="add_external_url"
1231
 
              c:identifier="grl_media_add_external_url"
1232
 
              version="0.1.10">
1233
 
        <doc xml:whitespace="preserve">Adds a new external url to @media.</doc>
1234
 
        <return-value transfer-ownership="none">
1235
 
          <type name="none" c:type="void"/>
1236
 
        </return-value>
1237
 
        <parameters>
1238
 
          <parameter name="url" transfer-ownership="none">
1239
 
            <doc xml:whitespace="preserve">an external url for @media</doc>
1240
 
            <type name="utf8" c:type="gchar*"/>
1241
 
          </parameter>
1242
 
        </parameters>
1243
 
      </method>
1244
 
      <method name="add_thumbnail"
1245
 
              c:identifier="grl_media_add_thumbnail"
1246
 
              version="0.1.10">
1247
 
        <doc xml:whitespace="preserve">Adds a new thumbnail to @media.</doc>
1248
 
        <return-value transfer-ownership="none">
1249
 
          <type name="none" c:type="void"/>
1250
 
        </return-value>
1251
 
        <parameters>
1252
 
          <parameter name="thumbnail" transfer-ownership="none">
1253
 
            <doc xml:whitespace="preserve">a thumbnail for @media</doc>
1254
 
            <type name="utf8" c:type="gchar*"/>
1255
 
          </parameter>
1256
 
        </parameters>
1257
 
      </method>
1258
 
      <method name="add_thumbnail_binary"
1259
 
              c:identifier="grl_media_add_thumbnail_binary"
1260
 
              version="0.1.10">
1261
 
        <doc xml:whitespace="preserve">Adds a new thumbnail to @media.</doc>
1262
 
        <return-value transfer-ownership="none">
1263
 
          <type name="none" c:type="void"/>
1264
 
        </return-value>
1265
 
        <parameters>
1266
 
          <parameter name="thumbnail" transfer-ownership="none">
1267
 
            <doc xml:whitespace="preserve">a buffer containing the thumbnail for @media</doc>
1268
 
            <type name="guint8" c:type="guint8*"/>
1269
 
          </parameter>
1270
 
          <parameter name="size" transfer-ownership="none">
1271
 
            <doc xml:whitespace="preserve">size of buffer</doc>
1272
 
            <type name="gsize" c:type="gsize"/>
1273
 
          </parameter>
1274
 
        </parameters>
1275
 
      </method>
1276
 
      <method name="add_url_data"
1277
 
              c:identifier="grl_media_add_url_data"
1278
 
              version="0.1.10">
1279
 
        <doc xml:whitespace="preserve">Adds a new media's URL with its mime-type.</doc>
1280
 
        <return-value transfer-ownership="none">
1281
 
          <type name="none" c:type="void"/>
1282
 
        </return-value>
1283
 
        <parameters>
1284
 
          <parameter name="url" transfer-ownership="none">
1285
 
            <doc xml:whitespace="preserve">a media's URL</doc>
1286
 
            <type name="utf8" c:type="gchar*"/>
1287
 
          </parameter>
1288
 
          <parameter name="mime" transfer-ownership="none">
1289
 
            <doc xml:whitespace="preserve">th @url mime type</doc>
1290
 
            <type name="utf8" c:type="gchar*"/>
1291
 
          </parameter>
1292
 
        </parameters>
1293
 
      </method>
1294
 
      <method name="get_author"
1295
 
              c:identifier="grl_media_get_author"
1296
 
              version="0.1.4">
1297
 
        <return-value transfer-ownership="none">
1298
 
          <doc xml:whitespace="preserve">the media's author</doc>
1299
 
          <type name="utf8" c:type="gchar*"/>
1300
 
        </return-value>
1301
 
      </method>
1302
 
      <method name="get_author_nth"
1303
 
              c:identifier="grl_media_get_author_nth"
1304
 
              version="0.1.10">
1305
 
        <return-value transfer-ownership="none">
1306
 
          <doc xml:whitespace="preserve">the n-th media's author.</doc>
1307
 
          <type name="utf8" c:type="gchar*"/>
1308
 
        </return-value>
1309
 
        <parameters>
1310
 
          <parameter name="index" transfer-ownership="none">
1311
 
            <doc xml:whitespace="preserve">element to retrieve</doc>
1312
 
            <type name="guint" c:type="guint"/>
1313
 
          </parameter>
1314
 
        </parameters>
1315
 
      </method>
1316
 
      <method name="get_certificate"
1317
 
              c:identifier="grl_media_get_certificate"
1318
 
              version="0.1.6">
1319
 
        <return-value transfer-ownership="none">
1320
 
          <doc xml:whitespace="preserve">the media's certificate</doc>
1321
 
          <type name="utf8" c:type="gchar*"/>
1322
 
        </return-value>
1323
 
      </method>
1324
 
      <method name="get_creation_date"
1325
 
              c:identifier="grl_media_get_creation_date"
1326
 
              version="0.1.12">
1327
 
        <return-value transfer-ownership="none">
1328
 
          <doc xml:whitespace="preserve">date when media was created</doc>
1329
 
          <type name="utf8" c:type="gchar*"/>
1330
 
        </return-value>
1331
 
      </method>
1332
 
      <method name="get_date"
1333
 
              c:identifier="grl_media_get_date"
1334
 
              version="0.1.4">
1335
 
        <return-value transfer-ownership="none">
1336
 
          <doc xml:whitespace="preserve">the media's date (TBD)</doc>
1337
 
          <type name="utf8" c:type="gchar*"/>
1338
 
        </return-value>
1339
 
      </method>
1340
 
      <method name="get_description"
1341
 
              c:identifier="grl_media_get_description"
1342
 
              version="0.1.4">
1343
 
        <return-value transfer-ownership="none">
1344
 
          <doc xml:whitespace="preserve">the media's description</doc>
1345
 
          <type name="utf8" c:type="gchar*"/>
1346
 
        </return-value>
1347
 
      </method>
1348
 
      <method name="get_duration"
1349
 
              c:identifier="grl_media_get_duration"
1350
 
              version="0.1.4">
1351
 
        <return-value transfer-ownership="none">
1352
 
          <doc xml:whitespace="preserve">the media's duration</doc>
1353
 
          <type name="gint" c:type="gint"/>
1354
 
        </return-value>
1355
 
      </method>
1356
 
      <method name="get_external_url"
1357
 
              c:identifier="grl_media_get_external_url"
1358
 
              version="0.1.6">
1359
 
        <doc xml:whitespace="preserve">where the user play the media.</doc>
1360
 
        <return-value transfer-ownership="none">
1361
 
          <doc xml:whitespace="preserve">URL of an external location</doc>
1362
 
          <type name="utf8" c:type="gchar*"/>
1363
 
        </return-value>
1364
 
      </method>
1365
 
      <method name="get_external_url_nth"
1366
 
              c:identifier="grl_media_get_external_url_nth"
1367
 
              version="0.1.10">
1368
 
        <return-value transfer-ownership="none">
1369
 
          <doc xml:whitespace="preserve">the n-th media's external location where the user can play it.</doc>
1370
 
          <type name="utf8" c:type="gchar*"/>
1371
 
        </return-value>
1372
 
        <parameters>
1373
 
          <parameter name="index" transfer-ownership="none">
1374
 
            <doc xml:whitespace="preserve">element to retrieve</doc>
1375
 
            <type name="guint" c:type="guint"/>
1376
 
          </parameter>
1377
 
        </parameters>
1378
 
      </method>
1379
 
      <method name="get_id" c:identifier="grl_media_get_id" version="0.1.4">
1380
 
        <return-value transfer-ownership="none">
1381
 
          <doc xml:whitespace="preserve">the media's identifier</doc>
1382
 
          <type name="utf8" c:type="gchar*"/>
1383
 
        </return-value>
1384
 
      </method>
1385
 
      <method name="get_last_played"
1386
 
              c:identifier="grl_media_get_last_played"
1387
 
              version="0.1.4">
1388
 
        <return-value transfer-ownership="none">
1389
 
          <doc xml:whitespace="preserve">the media's last played time</doc>
1390
 
          <type name="utf8" c:type="gchar*"/>
1391
 
        </return-value>
1392
 
      </method>
1393
 
      <method name="get_last_position"
1394
 
              c:identifier="grl_media_get_last_position"
1395
 
              version="0.1.4">
1396
 
        <return-value transfer-ownership="none">
1397
 
          <doc xml:whitespace="preserve">the media's last_played position (in seconds)</doc>
1398
 
          <type name="gint" c:type="gint"/>
1399
 
        </return-value>
1400
 
      </method>
1401
 
      <method name="get_license"
1402
 
              c:identifier="grl_media_get_license"
1403
 
              version="0.1.6">
1404
 
        <return-value transfer-ownership="none">
1405
 
          <doc xml:whitespace="preserve">the license the media is under</doc>
1406
 
          <type name="utf8" c:type="gchar*"/>
1407
 
        </return-value>
1408
 
      </method>
1409
 
      <method name="get_mime"
1410
 
              c:identifier="grl_media_get_mime"
1411
 
              version="0.1.4">
1412
 
        <return-value transfer-ownership="none">
1413
 
          <doc xml:whitespace="preserve">the media's mime-type</doc>
1414
 
          <type name="utf8" c:type="gchar*"/>
1415
 
        </return-value>
1416
 
      </method>
1417
 
      <method name="get_play_count"
1418
 
              c:identifier="grl_media_get_play_count"
1419
 
              version="0.1.4">
1420
 
        <return-value transfer-ownership="none">
1421
 
          <doc xml:whitespace="preserve">the media's play count</doc>
1422
 
          <type name="gint" c:type="gint"/>
1423
 
        </return-value>
1424
 
      </method>
1425
 
      <method name="get_player"
1426
 
              c:identifier="grl_media_get_player"
1427
 
              version="0.1.6">
1428
 
        <doc xml:whitespace="preserve">object for this media</doc>
1429
 
        <return-value transfer-ownership="none">
1430
 
          <doc xml:whitespace="preserve">URL of an external player</doc>
1431
 
          <type name="utf8" c:type="gchar*"/>
1432
 
        </return-value>
1433
 
      </method>
1434
 
      <method name="get_player_nth"
1435
 
              c:identifier="grl_media_get_player_nth"
1436
 
              version="0.1.10">
1437
 
        <return-value transfer-ownership="none">
1438
 
          <doc xml:whitespace="preserve">the n-th media's external player object.</doc>
1439
 
          <type name="utf8" c:type="gchar*"/>
1440
 
        </return-value>
1441
 
        <parameters>
1442
 
          <parameter name="index" transfer-ownership="none">
1443
 
            <doc xml:whitespace="preserve">element to retrieve</doc>
1444
 
            <type name="guint" c:type="guint"/>
1445
 
          </parameter>
1446
 
        </parameters>
1447
 
      </method>
1448
 
      <method name="get_rating"
1449
 
              c:identifier="grl_media_get_rating"
1450
 
              version="0.1.5">
1451
 
        <return-value transfer-ownership="none">
1452
 
          <doc xml:whitespace="preserve">the media's rating</doc>
1453
 
          <type name="gfloat" c:type="gfloat"/>
1454
 
        </return-value>
1455
 
      </method>
1456
 
      <method name="get_site"
1457
 
              c:identifier="grl_media_get_site"
1458
 
              version="0.1.4">
1459
 
        <return-value transfer-ownership="none">
1460
 
          <doc xml:whitespace="preserve">the media's site</doc>
1461
 
          <type name="utf8" c:type="gchar*"/>
1462
 
        </return-value>
1463
 
      </method>
1464
 
      <method name="get_source"
1465
 
              c:identifier="grl_media_get_source"
1466
 
              version="0.1.4">
1467
 
        <return-value transfer-ownership="none">
1468
 
          <doc xml:whitespace="preserve">the media's source</doc>
1469
 
          <type name="utf8" c:type="gchar*"/>
1470
 
        </return-value>
1471
 
      </method>
1472
 
      <method name="get_studio"
1473
 
              c:identifier="grl_media_get_studio"
1474
 
              version="0.1.6">
1475
 
        <return-value transfer-ownership="none">
1476
 
          <doc xml:whitespace="preserve">the studio the media is from</doc>
1477
 
          <type name="utf8" c:type="gchar*"/>
1478
 
        </return-value>
1479
 
      </method>
1480
 
      <method name="get_thumbnail"
1481
 
              c:identifier="grl_media_get_thumbnail"
1482
 
              version="0.1.4">
1483
 
        <return-value transfer-ownership="none">
1484
 
          <doc xml:whitespace="preserve">the media's thumbnail URL</doc>
1485
 
          <type name="utf8" c:type="gchar*"/>
1486
 
        </return-value>
1487
 
      </method>
1488
 
      <method name="get_thumbnail_binary"
1489
 
              c:identifier="grl_media_get_thumbnail_binary"
1490
 
              version="0.1.9">
1491
 
        <return-value transfer-ownership="none">
1492
 
          <doc xml:whitespace="preserve">the media's thumbnail data and set size to the thumbnail buffer size</doc>
1493
 
          <type name="guint8" c:type="guint8*"/>
1494
 
        </return-value>
1495
 
        <parameters>
1496
 
          <parameter name="size" transfer-ownership="none">
1497
 
            <doc xml:whitespace="preserve">pointer to storing the thumbnail buffer size</doc>
1498
 
            <type name="gsize" c:type="gsize*"/>
1499
 
          </parameter>
1500
 
        </parameters>
1501
 
      </method>
1502
 
      <method name="get_thumbnail_binary_nth"
1503
 
              c:identifier="grl_media_get_thumbnail_binary_nth"
1504
 
              version="0.1.10">
1505
 
        <doc xml:whitespace="preserve">buffer size.</doc>
1506
 
        <return-value transfer-ownership="none">
1507
 
          <doc xml:whitespace="preserve">the n-th media's thumbnail binary and sets size to the thumbnail</doc>
1508
 
          <type name="guint8" c:type="guint8*"/>
1509
 
        </return-value>
1510
 
        <parameters>
1511
 
          <parameter name="size" transfer-ownership="none">
1512
 
            <doc xml:whitespace="preserve">pointer to store the thumbnail buffer size</doc>
1513
 
            <type name="gsize" c:type="gsize*"/>
1514
 
          </parameter>
1515
 
          <parameter name="index" transfer-ownership="none">
1516
 
            <doc xml:whitespace="preserve">element to retrieve</doc>
1517
 
            <type name="guint" c:type="guint"/>
1518
 
          </parameter>
1519
 
        </parameters>
1520
 
      </method>
1521
 
      <method name="get_thumbnail_nth"
1522
 
              c:identifier="grl_media_get_thumbnail_nth"
1523
 
              version="0.1.10">
1524
 
        <return-value transfer-ownership="none">
1525
 
          <doc xml:whitespace="preserve">the n-th media's thumbnail.</doc>
1526
 
          <type name="utf8" c:type="gchar*"/>
1527
 
        </return-value>
1528
 
        <parameters>
1529
 
          <parameter name="index" transfer-ownership="none">
1530
 
            <doc xml:whitespace="preserve">element to retrieve</doc>
1531
 
            <type name="guint" c:type="guint"/>
1532
 
          </parameter>
1533
 
        </parameters>
1534
 
      </method>
1535
 
      <method name="get_title"
1536
 
              c:identifier="grl_media_get_title"
1537
 
              version="0.1.4">
1538
 
        <return-value transfer-ownership="none">
1539
 
          <doc xml:whitespace="preserve">the media's title</doc>
1540
 
          <type name="utf8" c:type="gchar*"/>
1541
 
        </return-value>
1542
 
      </method>
1543
 
      <method name="get_url" c:identifier="grl_media_get_url" version="0.1.4">
1544
 
        <return-value transfer-ownership="none">
1545
 
          <doc xml:whitespace="preserve">the media's URL</doc>
1546
 
          <type name="utf8" c:type="gchar*"/>
1547
 
        </return-value>
1548
 
      </method>
1549
 
      <method name="get_url_data"
1550
 
              c:identifier="grl_media_get_url_data"
1551
 
              version="0.1.10">
1552
 
        <return-value transfer-ownership="none">
1553
 
          <doc xml:whitespace="preserve">the media's URL and its mime-type.</doc>
1554
 
          <type name="utf8" c:type="gchar*"/>
1555
 
        </return-value>
1556
 
        <parameters>
1557
 
          <parameter name="mime"
1558
 
                     direction="out"
1559
 
                     caller-allocates="0"
1560
 
                     transfer-ownership="none">
1561
 
            <doc xml:whitespace="preserve">the mime-type, or %NULL to ignore.</doc>
1562
 
            <type name="utf8" c:type="gchar**"/>
1563
 
          </parameter>
1564
 
        </parameters>
1565
 
      </method>
1566
 
      <method name="get_url_data_nth"
1567
 
              c:identifier="grl_media_get_url_data_nth"
1568
 
              version="0.1.10">
1569
 
        <return-value transfer-ownership="none">
1570
 
          <doc xml:whitespace="preserve">the n-th media's URL and its mime-type.</doc>
1571
 
          <type name="utf8" c:type="gchar*"/>
1572
 
        </return-value>
1573
 
        <parameters>
1574
 
          <parameter name="index" transfer-ownership="none">
1575
 
            <doc xml:whitespace="preserve">element to retrieve</doc>
1576
 
            <type name="guint" c:type="guint"/>
1577
 
          </parameter>
1578
 
          <parameter name="mime"
1579
 
                     direction="out"
1580
 
                     caller-allocates="0"
1581
 
                     transfer-ownership="none">
1582
 
            <doc xml:whitespace="preserve">the mime-type, or %NULL to ignore.</doc>
1583
 
            <type name="utf8" c:type="gchar**"/>
1584
 
          </parameter>
1585
 
        </parameters>
1586
 
      </method>
1587
 
      <method name="serialize"
1588
 
              c:identifier="grl_media_serialize"
1589
 
              version="0.1.6">
1590
 
        <doc xml:whitespace="preserve">Serializes a GrlMedia into a string. It does a basic serialization.
1591
 
 
1592
 
See grl_media_serialize_extended() to get more serialization approaches.</doc>
1593
 
        <return-value transfer-ownership="full">
1594
 
          <doc xml:whitespace="preserve">serialized media</doc>
1595
 
          <type name="utf8" c:type="gchar*"/>
1596
 
        </return-value>
1597
 
      </method>
1598
 
      <method name="serialize_extended"
1599
 
              c:identifier="grl_media_serialize_extended"
1600
 
              version="0.1.6"
1601
 
              introspectable="0">
1602
 
        <doc xml:whitespace="preserve">Serializes a GrlMedia into a string.
1603
 
 
1604
 
See grl_media_unserialize() to recover back the GrlMedia from the string.
1605
 
 
1606
 
If serialization type is @GRL_MEDIA_SERIALIZE_PARTIAL then it requires a
1607
 
@GList with the properties to consider in serialization (id and source are
1608
 
always considered).</doc>
1609
 
        <return-value transfer-ownership="full">
1610
 
          <doc xml:whitespace="preserve">serialized media</doc>
1611
 
          <type name="utf8" c:type="gchar*"/>
1612
 
        </return-value>
1613
 
        <parameters>
1614
 
          <parameter name="serial_type" transfer-ownership="none">
1615
 
            <doc xml:whitespace="preserve">type of serialization</doc>
1616
 
            <type name="MediaSerializeType" c:type="GrlMediaSerializeType"/>
1617
 
          </parameter>
1618
 
          <parameter transfer-ownership="none">
1619
 
            <varargs>
1620
 
            </varargs>
1621
 
          </parameter>
1622
 
        </parameters>
1623
 
      </method>
1624
 
      <method name="set_author"
1625
 
              c:identifier="grl_media_set_author"
1626
 
              version="0.1.4">
1627
 
        <doc xml:whitespace="preserve">Set the media's author</doc>
1628
 
        <return-value transfer-ownership="none">
1629
 
          <type name="none" c:type="void"/>
1630
 
        </return-value>
1631
 
        <parameters>
1632
 
          <parameter name="author" transfer-ownership="none">
1633
 
            <doc xml:whitespace="preserve">the media's author</doc>
1634
 
            <type name="utf8" c:type="gchar*"/>
1635
 
          </parameter>
1636
 
        </parameters>
1637
 
      </method>
1638
 
      <method name="set_certificate"
1639
 
              c:identifier="grl_media_set_certificate"
1640
 
              version="0.1.6">
1641
 
        <doc xml:whitespace="preserve">Set the media certificate</doc>
1642
 
        <return-value transfer-ownership="none">
1643
 
          <type name="none" c:type="void"/>
1644
 
        </return-value>
1645
 
        <parameters>
1646
 
          <parameter name="certificate" transfer-ownership="none">
1647
 
            <doc xml:whitespace="preserve">The rating certificate of the media</doc>
1648
 
            <type name="utf8" c:type="gchar*"/>
1649
 
          </parameter>
1650
 
        </parameters>
1651
 
      </method>
1652
 
      <method name="set_creation_date"
1653
 
              c:identifier="grl_media_set_creation_date"
1654
 
              version="0.1.12">
1655
 
        <doc xml:whitespace="preserve">Set the creation_date of the media</doc>
1656
 
        <return-value transfer-ownership="none">
1657
 
          <type name="none" c:type="void"/>
1658
 
        </return-value>
1659
 
        <parameters>
1660
 
          <parameter name="creation_date" transfer-ownership="none">
1661
 
            <doc xml:whitespace="preserve">date when media was created</doc>
1662
 
            <type name="utf8" c:type="gchar*"/>
1663
 
          </parameter>
1664
 
        </parameters>
1665
 
      </method>
1666
 
      <method name="set_date" c:identifier="grl_media_set_date">
1667
 
        <doc xml:whitespace="preserve">Set the media's date (TBD)</doc>
1668
 
        <return-value transfer-ownership="none">
1669
 
          <type name="none" c:type="void"/>
1670
 
        </return-value>
1671
 
        <parameters>
1672
 
          <parameter name="date" transfer-ownership="none">
1673
 
            <doc xml:whitespace="preserve">the date</doc>
1674
 
            <type name="utf8" c:type="gchar*"/>
1675
 
          </parameter>
1676
 
        </parameters>
1677
 
      </method>
1678
 
      <method name="set_description"
1679
 
              c:identifier="grl_media_set_description"
1680
 
              version="0.1.4">
1681
 
        <doc xml:whitespace="preserve">Set the media's description</doc>
1682
 
        <return-value transfer-ownership="none">
1683
 
          <type name="none" c:type="void"/>
1684
 
        </return-value>
1685
 
        <parameters>
1686
 
          <parameter name="description" transfer-ownership="none">
1687
 
            <doc xml:whitespace="preserve">the description</doc>
1688
 
            <type name="utf8" c:type="gchar*"/>
1689
 
          </parameter>
1690
 
        </parameters>
1691
 
      </method>
1692
 
      <method name="set_duration"
1693
 
              c:identifier="grl_media_set_duration"
1694
 
              version="0.1.4">
1695
 
        <doc xml:whitespace="preserve">Set the media's duration</doc>
1696
 
        <return-value transfer-ownership="none">
1697
 
          <type name="none" c:type="void"/>
1698
 
        </return-value>
1699
 
        <parameters>
1700
 
          <parameter name="duration" transfer-ownership="none">
1701
 
            <doc xml:whitespace="preserve">the duration</doc>
1702
 
            <type name="gint" c:type="gint"/>
1703
 
          </parameter>
1704
 
        </parameters>
1705
 
      </method>
1706
 
      <method name="set_external_player"
1707
 
              c:identifier="grl_media_set_external_player"
1708
 
              version="0.1.6">
1709
 
        <doc xml:whitespace="preserve">Set the location of a player for the media (usually a flash player)</doc>
1710
 
        <return-value transfer-ownership="none">
1711
 
          <type name="none" c:type="void"/>
1712
 
        </return-value>
1713
 
        <parameters>
1714
 
          <parameter name="player" transfer-ownership="none">
1715
 
            <doc xml:whitespace="preserve">location of an external player for this media</doc>
1716
 
            <type name="utf8" c:type="gchar*"/>
1717
 
          </parameter>
1718
 
        </parameters>
1719
 
      </method>
1720
 
      <method name="set_external_url"
1721
 
              c:identifier="grl_media_set_external_url"
1722
 
              version="0.1.6">
1723
 
        <doc xml:whitespace="preserve">Set an external location where users can play the media</doc>
1724
 
        <return-value transfer-ownership="none">
1725
 
          <type name="none" c:type="void"/>
1726
 
        </return-value>
1727
 
        <parameters>
1728
 
          <parameter name="url" transfer-ownership="none">
1729
 
            <doc xml:whitespace="preserve">external location where this media can be played.</doc>
1730
 
            <type name="utf8" c:type="gchar*"/>
1731
 
          </parameter>
1732
 
        </parameters>
1733
 
      </method>
1734
 
      <method name="set_id" c:identifier="grl_media_set_id" version="0.1.4">
1735
 
        <doc xml:whitespace="preserve">Set the media identifier</doc>
1736
 
        <return-value transfer-ownership="none">
1737
 
          <type name="none" c:type="void"/>
1738
 
        </return-value>
1739
 
        <parameters>
1740
 
          <parameter name="id" transfer-ownership="none">
1741
 
            <doc xml:whitespace="preserve">the identifier of the media</doc>
1742
 
            <type name="utf8" c:type="gchar*"/>
1743
 
          </parameter>
1744
 
        </parameters>
1745
 
      </method>
1746
 
      <method name="set_last_played"
1747
 
              c:identifier="grl_media_set_last_played"
1748
 
              version="0.1.4">
1749
 
        <doc xml:whitespace="preserve">Set the media last played date</doc>
1750
 
        <return-value transfer-ownership="none">
1751
 
          <type name="none" c:type="void"/>
1752
 
        </return-value>
1753
 
        <parameters>
1754
 
          <parameter name="last_played" transfer-ownership="none">
1755
 
            <doc xml:whitespace="preserve">date when the media was last played</doc>
1756
 
            <type name="utf8" c:type="gchar*"/>
1757
 
          </parameter>
1758
 
        </parameters>
1759
 
      </method>
1760
 
      <method name="set_last_position"
1761
 
              c:identifier="grl_media_set_last_position"
1762
 
              version="0.1.4">
1763
 
        <doc xml:whitespace="preserve">Set the media last played position</doc>
1764
 
        <return-value transfer-ownership="none">
1765
 
          <type name="none" c:type="void"/>
1766
 
        </return-value>
1767
 
        <parameters>
1768
 
          <parameter name="last_position" transfer-ownership="none">
1769
 
            <doc xml:whitespace="preserve">second at which the media playback was interrupted</doc>
1770
 
            <type name="gint" c:type="gint"/>
1771
 
          </parameter>
1772
 
        </parameters>
1773
 
      </method>
1774
 
      <method name="set_license"
1775
 
              c:identifier="grl_media_set_license"
1776
 
              version="0.1.6">
1777
 
        <doc xml:whitespace="preserve">Set the media license</doc>
1778
 
        <return-value transfer-ownership="none">
1779
 
          <type name="none" c:type="void"/>
1780
 
        </return-value>
1781
 
        <parameters>
1782
 
          <parameter name="license" transfer-ownership="none">
1783
 
            <doc xml:whitespace="preserve">The license of the media</doc>
1784
 
            <type name="utf8" c:type="gchar*"/>
1785
 
          </parameter>
1786
 
        </parameters>
1787
 
      </method>
1788
 
      <method name="set_mime"
1789
 
              c:identifier="grl_media_set_mime"
1790
 
              version="0.1.4">
1791
 
        <doc xml:whitespace="preserve">Set the media's mime-type</doc>
1792
 
        <return-value transfer-ownership="none">
1793
 
          <type name="none" c:type="void"/>
1794
 
        </return-value>
1795
 
        <parameters>
1796
 
          <parameter name="mime" transfer-ownership="none">
1797
 
            <doc xml:whitespace="preserve">the mime type</doc>
1798
 
            <type name="utf8" c:type="gchar*"/>
1799
 
          </parameter>
1800
 
        </parameters>
1801
 
      </method>
1802
 
      <method name="set_play_count"
1803
 
              c:identifier="grl_media_set_play_count"
1804
 
              version="0.1.4">
1805
 
        <doc xml:whitespace="preserve">Set the media play count</doc>
1806
 
        <return-value transfer-ownership="none">
1807
 
          <type name="none" c:type="void"/>
1808
 
        </return-value>
1809
 
        <parameters>
1810
 
          <parameter name="play_count" transfer-ownership="none">
1811
 
            <doc xml:whitespace="preserve">the play count</doc>
1812
 
            <type name="gint" c:type="gint"/>
1813
 
          </parameter>
1814
 
        </parameters>
1815
 
      </method>
1816
 
      <method name="set_rating"
1817
 
              c:identifier="grl_media_set_rating"
1818
 
              version="0.1.5">
1819
 
        <doc xml:whitespace="preserve">This method receives a rating and its scale and normalizes it</doc>
1820
 
        <return-value transfer-ownership="none">
1821
 
          <type name="none" c:type="void"/>
1822
 
        </return-value>
1823
 
        <parameters>
1824
 
          <parameter name="rating" transfer-ownership="none">
1825
 
            <doc xml:whitespace="preserve">a rating value</doc>
1826
 
            <type name="gfloat" c:type="gfloat"/>
1827
 
          </parameter>
1828
 
          <parameter name="max" transfer-ownership="none">
1829
 
            <doc xml:whitespace="preserve">maximum rating value</doc>
1830
 
            <type name="gfloat" c:type="gfloat"/>
1831
 
          </parameter>
1832
 
        </parameters>
1833
 
      </method>
1834
 
      <method name="set_site"
1835
 
              c:identifier="grl_media_set_site"
1836
 
              version="0.1.4">
1837
 
        <doc xml:whitespace="preserve">Set the media's site</doc>
1838
 
        <return-value transfer-ownership="none">
1839
 
          <type name="none" c:type="void"/>
1840
 
        </return-value>
1841
 
        <parameters>
1842
 
          <parameter name="site" transfer-ownership="none">
1843
 
            <doc xml:whitespace="preserve">the site</doc>
1844
 
            <type name="utf8" c:type="gchar*"/>
1845
 
          </parameter>
1846
 
        </parameters>
1847
 
      </method>
1848
 
      <method name="set_source"
1849
 
              c:identifier="grl_media_set_source"
1850
 
              version="0.1.4">
1851
 
        <doc xml:whitespace="preserve">Set the media's source</doc>
1852
 
        <return-value transfer-ownership="none">
1853
 
          <type name="none" c:type="void"/>
1854
 
        </return-value>
1855
 
        <parameters>
1856
 
          <parameter name="source" transfer-ownership="none">
1857
 
            <doc xml:whitespace="preserve">the source</doc>
1858
 
            <type name="utf8" c:type="gchar*"/>
1859
 
          </parameter>
1860
 
        </parameters>
1861
 
      </method>
1862
 
      <method name="set_studio"
1863
 
              c:identifier="grl_media_set_studio"
1864
 
              version="0.1.6">
1865
 
        <doc xml:whitespace="preserve">Set the media studio</doc>
1866
 
        <return-value transfer-ownership="none">
1867
 
          <type name="none" c:type="void"/>
1868
 
        </return-value>
1869
 
        <parameters>
1870
 
          <parameter name="studio" transfer-ownership="none">
1871
 
            <doc xml:whitespace="preserve">The studio the media is from</doc>
1872
 
            <type name="utf8" c:type="gchar*"/>
1873
 
          </parameter>
1874
 
        </parameters>
1875
 
      </method>
1876
 
      <method name="set_thumbnail"
1877
 
              c:identifier="grl_media_set_thumbnail"
1878
 
              version="0.1.4">
1879
 
        <doc xml:whitespace="preserve">Set the media's thumbnail URL</doc>
1880
 
        <return-value transfer-ownership="none">
1881
 
          <type name="none" c:type="void"/>
1882
 
        </return-value>
1883
 
        <parameters>
1884
 
          <parameter name="thumbnail" transfer-ownership="none">
1885
 
            <doc xml:whitespace="preserve">the thumbnail URL</doc>
1886
 
            <type name="utf8" c:type="gchar*"/>
1887
 
          </parameter>
1888
 
        </parameters>
1889
 
      </method>
1890
 
      <method name="set_thumbnail_binary"
1891
 
              c:identifier="grl_media_set_thumbnail_binary"
1892
 
              version="0.1.9">
1893
 
        <doc xml:whitespace="preserve">Set the media's binary thumbnail</doc>
1894
 
        <return-value transfer-ownership="none">
1895
 
          <type name="none" c:type="void"/>
1896
 
        </return-value>
1897
 
        <parameters>
1898
 
          <parameter name="thumbnail" transfer-ownership="none">
1899
 
            <doc xml:whitespace="preserve">thumbnail buffer</doc>
1900
 
            <type name="guint8" c:type="guint8*"/>
1901
 
          </parameter>
1902
 
          <parameter name="size" transfer-ownership="none">
1903
 
            <doc xml:whitespace="preserve">thumbnail buffer size</doc>
1904
 
            <type name="gsize" c:type="gsize"/>
1905
 
          </parameter>
1906
 
        </parameters>
1907
 
      </method>
1908
 
      <method name="set_title"
1909
 
              c:identifier="grl_media_set_title"
1910
 
              version="0.1.4">
1911
 
        <doc xml:whitespace="preserve">Set the media's title</doc>
1912
 
        <return-value transfer-ownership="none">
1913
 
          <type name="none" c:type="void"/>
1914
 
        </return-value>
1915
 
        <parameters>
1916
 
          <parameter name="title" transfer-ownership="none">
1917
 
            <doc xml:whitespace="preserve">the title</doc>
1918
 
            <type name="utf8" c:type="gchar*"/>
1919
 
          </parameter>
1920
 
        </parameters>
1921
 
      </method>
1922
 
      <method name="set_url" c:identifier="grl_media_set_url" version="0.1.4">
1923
 
        <doc xml:whitespace="preserve">Set the media's URL</doc>
1924
 
        <return-value transfer-ownership="none">
1925
 
          <type name="none" c:type="void"/>
1926
 
        </return-value>
1927
 
        <parameters>
1928
 
          <parameter name="url" transfer-ownership="none">
1929
 
            <doc xml:whitespace="preserve">the media's URL</doc>
1930
 
            <type name="utf8" c:type="gchar*"/>
1931
 
          </parameter>
1932
 
        </parameters>
1933
 
      </method>
1934
 
      <method name="set_url_data"
1935
 
              c:identifier="grl_media_set_url_data"
1936
 
              version="0.1.10">
1937
 
        <doc xml:whitespace="preserve">Set the media's URL and its mime-type.</doc>
1938
 
        <return-value transfer-ownership="none">
1939
 
          <type name="none" c:type="void"/>
1940
 
        </return-value>
1941
 
        <parameters>
1942
 
          <parameter name="url" transfer-ownership="none">
1943
 
            <doc xml:whitespace="preserve">the media's URL</doc>
1944
 
            <type name="utf8" c:type="gchar*"/>
1945
 
          </parameter>
1946
 
          <parameter name="mime" transfer-ownership="none">
1947
 
            <doc xml:whitespace="preserve">the @url mime type</doc>
1948
 
            <type name="utf8" c:type="gchar*"/>
1949
 
          </parameter>
1950
 
        </parameters>
1951
 
      </method>
1952
 
      <field name="parent">
1953
 
        <type name="Data" c:type="GrlData"/>
1954
 
      </field>
1955
 
      <field name="_grl_reserved" readable="0" private="1">
1956
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
1957
 
          <type name="gpointer" c:type="gpointer"/>
1958
 
        </array>
1959
 
      </field>
1960
 
    </class>
1961
 
    <class name="MediaAudio"
1962
 
           c:symbol-prefix="media_audio"
1963
 
           c:type="GrlMediaAudio"
1964
 
           parent="Media"
1965
 
           glib:type-name="GrlMediaAudio"
1966
 
           glib:get-type="grl_media_audio_get_type"
1967
 
           glib:type-struct="MediaAudioClass">
1968
 
      <constructor name="new"
1969
 
                   c:identifier="grl_media_audio_new"
1970
 
                   version="0.1.4">
1971
 
        <doc xml:whitespace="preserve">Creates a new data audio object.</doc>
1972
 
        <return-value transfer-ownership="full">
1973
 
          <doc xml:whitespace="preserve">a newly-allocated data audio.</doc>
1974
 
          <type name="Media" c:type="GrlMedia*"/>
1975
 
        </return-value>
1976
 
      </constructor>
1977
 
      <method name="add_artist"
1978
 
              c:identifier="grl_media_audio_add_artist"
1979
 
              version="0.1.10">
1980
 
        <doc xml:whitespace="preserve">Adds a new artist to @audio.</doc>
1981
 
        <return-value transfer-ownership="none">
1982
 
          <type name="none" c:type="void"/>
1983
 
        </return-value>
1984
 
        <parameters>
1985
 
          <parameter name="artist" transfer-ownership="none">
1986
 
            <doc xml:whitespace="preserve">an audio's artist</doc>
1987
 
            <type name="utf8" c:type="gchar*"/>
1988
 
          </parameter>
1989
 
        </parameters>
1990
 
      </method>
1991
 
      <method name="add_genre"
1992
 
              c:identifier="grl_media_audio_add_genre"
1993
 
              version="0.1.10">
1994
 
        <doc xml:whitespace="preserve">Adds a new genre to @audio.</doc>
1995
 
        <return-value transfer-ownership="none">
1996
 
          <type name="none" c:type="void"/>
1997
 
        </return-value>
1998
 
        <parameters>
1999
 
          <parameter name="genre" transfer-ownership="none">
2000
 
            <doc xml:whitespace="preserve">an audio's genre</doc>
2001
 
            <type name="utf8" c:type="gchar*"/>
2002
 
          </parameter>
2003
 
        </parameters>
2004
 
      </method>
2005
 
      <method name="add_lyrics"
2006
 
              c:identifier="grl_media_audio_add_lyrics"
2007
 
              version="0.1.10">
2008
 
        <doc xml:whitespace="preserve">Adds a new lyrics to @audio.</doc>
2009
 
        <return-value transfer-ownership="none">
2010
 
          <type name="none" c:type="void"/>
2011
 
        </return-value>
2012
 
        <parameters>
2013
 
          <parameter name="lyrics" transfer-ownership="none">
2014
 
            <doc xml:whitespace="preserve">an audio's lyrics</doc>
2015
 
            <type name="utf8" c:type="gchar*"/>
2016
 
          </parameter>
2017
 
        </parameters>
2018
 
      </method>
2019
 
      <method name="add_url_data"
2020
 
              c:identifier="grl_media_audio_add_url_data"
2021
 
              version="0.1.10">
2022
 
        <doc xml:whitespace="preserve">Sets all the keys related with the URL of a media resource and adds it to
2023
 
@audio (useful for resources with more than one URL).</doc>
2024
 
        <return-value transfer-ownership="none">
2025
 
          <type name="none" c:type="void"/>
2026
 
        </return-value>
2027
 
        <parameters>
2028
 
          <parameter name="url" transfer-ownership="none">
2029
 
            <doc xml:whitespace="preserve">an audio's url</doc>
2030
 
            <type name="utf8" c:type="gchar*"/>
2031
 
          </parameter>
2032
 
          <parameter name="mime" transfer-ownership="none">
2033
 
            <doc xml:whitespace="preserve">the @url mime-type</doc>
2034
 
            <type name="utf8" c:type="gchar*"/>
2035
 
          </parameter>
2036
 
          <parameter name="bitrate" transfer-ownership="none">
2037
 
            <doc xml:whitespace="preserve">the @url bitrate, or -1 to ignore</doc>
2038
 
            <type name="gint" c:type="gint"/>
2039
 
          </parameter>
2040
 
        </parameters>
2041
 
      </method>
2042
 
      <method name="get_album"
2043
 
              c:identifier="grl_media_audio_get_album"
2044
 
              version="0.1.4">
2045
 
        <return-value transfer-ownership="none">
2046
 
          <doc xml:whitespace="preserve">the album of the audio</doc>
2047
 
          <type name="utf8" c:type="gchar*"/>
2048
 
        </return-value>
2049
 
      </method>
2050
 
      <method name="get_artist"
2051
 
              c:identifier="grl_media_audio_get_artist"
2052
 
              version="0.1.4">
2053
 
        <return-value transfer-ownership="none">
2054
 
          <doc xml:whitespace="preserve">the artist of the audio</doc>
2055
 
          <type name="utf8" c:type="gchar*"/>
2056
 
        </return-value>
2057
 
      </method>
2058
 
      <method name="get_artist_nth"
2059
 
              c:identifier="grl_media_audio_get_artist_nth"
2060
 
              version="0.1.10">
2061
 
        <return-value transfer-ownership="none">
2062
 
          <doc xml:whitespace="preserve">the n-th artist of the audio</doc>
2063
 
          <type name="utf8" c:type="gchar*"/>
2064
 
        </return-value>
2065
 
        <parameters>
2066
 
          <parameter name="index" transfer-ownership="none">
2067
 
            <doc xml:whitespace="preserve">element to retrieve, starting at 0</doc>
2068
 
            <type name="guint" c:type="guint"/>
2069
 
          </parameter>
2070
 
        </parameters>
2071
 
      </method>
2072
 
      <method name="get_bitrate"
2073
 
              c:identifier="grl_media_audio_get_bitrate"
2074
 
              version="0.1.4">
2075
 
        <return-value transfer-ownership="none">
2076
 
          <doc xml:whitespace="preserve">the bitrate of the audio</doc>
2077
 
          <type name="gint" c:type="gint"/>
2078
 
        </return-value>
2079
 
      </method>
2080
 
      <method name="get_genre"
2081
 
              c:identifier="grl_media_audio_get_genre"
2082
 
              version="0.1.4">
2083
 
        <return-value transfer-ownership="none">
2084
 
          <doc xml:whitespace="preserve">the genre of the audio</doc>
2085
 
          <type name="utf8" c:type="gchar*"/>
2086
 
        </return-value>
2087
 
      </method>
2088
 
      <method name="get_genre_nth"
2089
 
              c:identifier="grl_media_audio_get_genre_nth"
2090
 
              version="0.1.10">
2091
 
        <return-value transfer-ownership="none">
2092
 
          <doc xml:whitespace="preserve">the n-th genre of the audio</doc>
2093
 
          <type name="utf8" c:type="gchar*"/>
2094
 
        </return-value>
2095
 
        <parameters>
2096
 
          <parameter name="index" transfer-ownership="none">
2097
 
            <doc xml:whitespace="preserve">element to retrieve, starting at 0</doc>
2098
 
            <type name="guint" c:type="guint"/>
2099
 
          </parameter>
2100
 
        </parameters>
2101
 
      </method>
2102
 
      <method name="get_lyrics"
2103
 
              c:identifier="grl_media_audio_get_lyrics"
2104
 
              version="0.1.4">
2105
 
        <return-value transfer-ownership="none">
2106
 
          <doc xml:whitespace="preserve">the lyrics of the audio</doc>
2107
 
          <type name="utf8" c:type="gchar*"/>
2108
 
        </return-value>
2109
 
      </method>
2110
 
      <method name="get_lyrics_nth"
2111
 
              c:identifier="grl_media_audio_get_lyrics_nth"
2112
 
              version="0.1.10">
2113
 
        <return-value transfer-ownership="none">
2114
 
          <doc xml:whitespace="preserve">the n-th lyrics of the audio</doc>
2115
 
          <type name="utf8" c:type="gchar*"/>
2116
 
        </return-value>
2117
 
        <parameters>
2118
 
          <parameter name="index" transfer-ownership="none">
2119
 
            <doc xml:whitespace="preserve">element to retrieve, starting at 0</doc>
2120
 
            <type name="guint" c:type="guint"/>
2121
 
          </parameter>
2122
 
        </parameters>
2123
 
      </method>
2124
 
      <method name="get_track_number"
2125
 
              c:identifier="grl_media_audio_get_track_number"
2126
 
              version="0.1.17">
2127
 
        <return-value transfer-ownership="none">
2128
 
          <doc xml:whitespace="preserve">the track number of the audio</doc>
2129
 
          <type name="gint" c:type="gint"/>
2130
 
        </return-value>
2131
 
      </method>
2132
 
      <method name="get_url_data"
2133
 
              c:identifier="grl_media_audio_get_url_data"
2134
 
              version="0.1.10">
2135
 
        <return-value transfer-ownership="none">
2136
 
          <doc xml:whitespace="preserve">all the keys related with the URL of an audio resource in one go.</doc>
2137
 
          <type name="utf8" c:type="gchar*"/>
2138
 
        </return-value>
2139
 
        <parameters>
2140
 
          <parameter name="mime"
2141
 
                     direction="out"
2142
 
                     caller-allocates="0"
2143
 
                     transfer-ownership="none">
2144
 
            <doc xml:whitespace="preserve">the url mime-type, or %NULL to ignore</doc>
2145
 
            <type name="utf8" c:type="gchar**"/>
2146
 
          </parameter>
2147
 
          <parameter name="bitrate"
2148
 
                     direction="out"
2149
 
                     caller-allocates="0"
2150
 
                     transfer-ownership="full">
2151
 
            <doc xml:whitespace="preserve">the url bitrate, or %NULL to ignore</doc>
2152
 
            <type name="gint" c:type="gint*"/>
2153
 
          </parameter>
2154
 
        </parameters>
2155
 
      </method>
2156
 
      <method name="get_url_data_nth"
2157
 
              c:identifier="grl_media_audio_get_url_data_nth"
2158
 
              version="0.1.10">
2159
 
        <doc xml:whitespace="preserve">in one go.</doc>
2160
 
        <return-value transfer-ownership="none">
2161
 
          <doc xml:whitespace="preserve">all the keys related with the URL number @index of an audio resource</doc>
2162
 
          <type name="utf8" c:type="gchar*"/>
2163
 
        </return-value>
2164
 
        <parameters>
2165
 
          <parameter name="index" transfer-ownership="none">
2166
 
            <doc xml:whitespace="preserve">element to retrieve, starting at 0</doc>
2167
 
            <type name="guint" c:type="guint"/>
2168
 
          </parameter>
2169
 
          <parameter name="mime"
2170
 
                     direction="out"
2171
 
                     caller-allocates="0"
2172
 
                     transfer-ownership="none">
2173
 
            <doc xml:whitespace="preserve">the url mime-type, or %NULL to ignore</doc>
2174
 
            <type name="utf8" c:type="gchar**"/>
2175
 
          </parameter>
2176
 
          <parameter name="bitrate"
2177
 
                     direction="out"
2178
 
                     caller-allocates="0"
2179
 
                     transfer-ownership="full">
2180
 
            <doc xml:whitespace="preserve">the url bitrate, or %NULL to ignore</doc>
2181
 
            <type name="gint" c:type="gint*"/>
2182
 
          </parameter>
2183
 
        </parameters>
2184
 
      </method>
2185
 
      <method name="set_album"
2186
 
              c:identifier="grl_media_audio_set_album"
2187
 
              version="0.1.4">
2188
 
        <doc xml:whitespace="preserve">Set the album of the audio</doc>
2189
 
        <return-value transfer-ownership="none">
2190
 
          <type name="none" c:type="void"/>
2191
 
        </return-value>
2192
 
        <parameters>
2193
 
          <parameter name="album" transfer-ownership="none">
2194
 
            <doc xml:whitespace="preserve">the audio's album</doc>
2195
 
            <type name="utf8" c:type="gchar*"/>
2196
 
          </parameter>
2197
 
        </parameters>
2198
 
      </method>
2199
 
      <method name="set_artist"
2200
 
              c:identifier="grl_media_audio_set_artist"
2201
 
              version="0.1.4">
2202
 
        <doc xml:whitespace="preserve">Set the artist of the audio</doc>
2203
 
        <return-value transfer-ownership="none">
2204
 
          <type name="none" c:type="void"/>
2205
 
        </return-value>
2206
 
        <parameters>
2207
 
          <parameter name="artist" transfer-ownership="none">
2208
 
            <doc xml:whitespace="preserve">the audio's artist</doc>
2209
 
            <type name="utf8" c:type="gchar*"/>
2210
 
          </parameter>
2211
 
        </parameters>
2212
 
      </method>
2213
 
      <method name="set_bitrate"
2214
 
              c:identifier="grl_media_audio_set_bitrate"
2215
 
              version="0.1.4">
2216
 
        <doc xml:whitespace="preserve">Set the bitrate of the audio</doc>
2217
 
        <return-value transfer-ownership="none">
2218
 
          <type name="none" c:type="void"/>
2219
 
        </return-value>
2220
 
        <parameters>
2221
 
          <parameter name="bitrate" transfer-ownership="none">
2222
 
            <doc xml:whitespace="preserve">the audio's bitrate</doc>
2223
 
            <type name="gint" c:type="gint"/>
2224
 
          </parameter>
2225
 
        </parameters>
2226
 
      </method>
2227
 
      <method name="set_genre"
2228
 
              c:identifier="grl_media_audio_set_genre"
2229
 
              version="0.1.4">
2230
 
        <doc xml:whitespace="preserve">Set the genre of the audio</doc>
2231
 
        <return-value transfer-ownership="none">
2232
 
          <type name="none" c:type="void"/>
2233
 
        </return-value>
2234
 
        <parameters>
2235
 
          <parameter name="genre" transfer-ownership="none">
2236
 
            <doc xml:whitespace="preserve">the audio's genre</doc>
2237
 
            <type name="utf8" c:type="gchar*"/>
2238
 
          </parameter>
2239
 
        </parameters>
2240
 
      </method>
2241
 
      <method name="set_lyrics"
2242
 
              c:identifier="grl_media_audio_set_lyrics"
2243
 
              version="0.1.4">
2244
 
        <doc xml:whitespace="preserve">Set the lyrics of the audio</doc>
2245
 
        <return-value transfer-ownership="none">
2246
 
          <type name="none" c:type="void"/>
2247
 
        </return-value>
2248
 
        <parameters>
2249
 
          <parameter name="lyrics" transfer-ownership="none">
2250
 
            <doc xml:whitespace="preserve">the audio's lyrics</doc>
2251
 
            <type name="utf8" c:type="gchar*"/>
2252
 
          </parameter>
2253
 
        </parameters>
2254
 
      </method>
2255
 
      <method name="set_track_number"
2256
 
              c:identifier="grl_media_audio_set_track_number"
2257
 
              version="0.1.17">
2258
 
        <doc xml:whitespace="preserve">Set the track number of the audio</doc>
2259
 
        <return-value transfer-ownership="none">
2260
 
          <type name="none" c:type="void"/>
2261
 
        </return-value>
2262
 
        <parameters>
2263
 
          <parameter name="track_number" transfer-ownership="none">
2264
 
            <doc xml:whitespace="preserve">the audio's track number</doc>
2265
 
            <type name="gint" c:type="gint"/>
2266
 
          </parameter>
2267
 
        </parameters>
2268
 
      </method>
2269
 
      <method name="set_url_data"
2270
 
              c:identifier="grl_media_audio_set_url_data"
2271
 
              version="0.1.10">
2272
 
        <doc xml:whitespace="preserve">Sets all the keys related with the URL of an audio resource in one go.</doc>
2273
 
        <return-value transfer-ownership="none">
2274
 
          <type name="none" c:type="void"/>
2275
 
        </return-value>
2276
 
        <parameters>
2277
 
          <parameter name="url" transfer-ownership="none">
2278
 
            <doc xml:whitespace="preserve">the audio's url</doc>
2279
 
            <type name="utf8" c:type="gchar*"/>
2280
 
          </parameter>
2281
 
          <parameter name="mime" transfer-ownership="none">
2282
 
            <doc xml:whitespace="preserve">the @url mime-type</doc>
2283
 
            <type name="utf8" c:type="gchar*"/>
2284
 
          </parameter>
2285
 
          <parameter name="bitrate" transfer-ownership="none">
2286
 
            <doc xml:whitespace="preserve">the @url bitrate, or -1 to ignore</doc>
2287
 
            <type name="gint" c:type="gint"/>
2288
 
          </parameter>
2289
 
        </parameters>
2290
 
      </method>
2291
 
      <field name="parent">
2292
 
        <type name="Media" c:type="GrlMedia"/>
2293
 
      </field>
2294
 
      <field name="_grl_reserved" readable="0" private="1">
2295
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2296
 
          <type name="gpointer" c:type="gpointer"/>
2297
 
        </array>
2298
 
      </field>
2299
 
    </class>
2300
 
    <record name="MediaAudioClass"
2301
 
            c:type="GrlMediaAudioClass"
2302
 
            glib:is-gtype-struct-for="MediaAudio">
2303
 
      <doc xml:whitespace="preserve">Grilo Media audio Class</doc>
2304
 
      <field name="parent_class">
2305
 
        <type name="MediaClass" c:type="GrlMediaClass"/>
2306
 
      </field>
2307
 
      <field name="_grl_reserved" readable="0" private="1">
2308
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
2309
 
          <type name="gpointer" c:type="gpointer"/>
2310
 
        </array>
2311
 
      </field>
2312
 
    </record>
2313
 
    <class name="MediaBox"
2314
 
           c:symbol-prefix="media_box"
2315
 
           c:type="GrlMediaBox"
2316
 
           parent="Media"
2317
 
           glib:type-name="GrlMediaBox"
2318
 
           glib:get-type="grl_media_box_get_type"
2319
 
           glib:type-struct="MediaBoxClass">
2320
 
      <constructor name="new" c:identifier="grl_media_box_new" version="0.1.4">
2321
 
        <doc xml:whitespace="preserve">Creates a new data box object.</doc>
2322
 
        <return-value transfer-ownership="full">
2323
 
          <doc xml:whitespace="preserve">a newly-allocated data box.</doc>
2324
 
          <type name="Media" c:type="GrlMedia*"/>
2325
 
        </return-value>
2326
 
      </constructor>
2327
 
      <method name="get_childcount"
2328
 
              c:identifier="grl_media_box_get_childcount"
2329
 
              version="0.1.4">
2330
 
        <doc xml:whitespace="preserve">Number of children of this box.
2331
 
 
2332
 
unknown.</doc>
2333
 
        <return-value transfer-ownership="none">
2334
 
          <doc xml:whitespace="preserve">number of children, or #GRL_METADATA_KEY_CHILDCOUNT_UNKNOWN if</doc>
2335
 
          <type name="gint" c:type="gint"/>
2336
 
        </return-value>
2337
 
      </method>
2338
 
      <method name="set_childcount"
2339
 
              c:identifier="grl_media_box_set_childcount"
2340
 
              version="0.1.4">
2341
 
        <doc xml:whitespace="preserve">Sets the number of children of this box. Use
2342
 
#GRL_METADATA_KEY_CHILDCOUNT_UNKNOWN if it is unknown.</doc>
2343
 
        <return-value transfer-ownership="none">
2344
 
          <type name="none" c:type="void"/>
2345
 
        </return-value>
2346
 
        <parameters>
2347
 
          <parameter name="childcount" transfer-ownership="none">
2348
 
            <doc xml:whitespace="preserve">number of children</doc>
2349
 
            <type name="gint" c:type="gint"/>
2350
 
          </parameter>
2351
 
        </parameters>
2352
 
      </method>
2353
 
      <field name="parent">
2354
 
        <type name="Media" c:type="GrlMedia"/>
2355
 
      </field>
2356
 
      <field name="_grl_reserved" readable="0" private="1">
2357
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2358
 
          <type name="gpointer" c:type="gpointer"/>
2359
 
        </array>
2360
 
      </field>
2361
 
    </class>
2362
 
    <record name="MediaBoxClass"
2363
 
            c:type="GrlMediaBoxClass"
2364
 
            glib:is-gtype-struct-for="MediaBox">
2365
 
      <doc xml:whitespace="preserve">Grilo Media box Class</doc>
2366
 
      <field name="parent_class">
2367
 
        <type name="MediaClass" c:type="GrlMediaClass"/>
2368
 
      </field>
2369
 
      <field name="_grl_reserved" readable="0" private="1">
2370
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
2371
 
          <type name="gpointer" c:type="gpointer"/>
2372
 
        </array>
2373
 
      </field>
2374
 
    </record>
2375
 
    <record name="MediaClass"
2376
 
            c:type="GrlMediaClass"
2377
 
            glib:is-gtype-struct-for="Media">
2378
 
      <doc xml:whitespace="preserve">Grilo Media Class</doc>
2379
 
      <field name="parent_class">
2380
 
        <type name="DataClass" c:type="GrlDataClass"/>
2381
 
      </field>
2382
 
      <field name="_grl_reserved" readable="0" private="1">
2383
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
2384
 
          <type name="gpointer" c:type="gpointer"/>
2385
 
        </array>
2386
 
      </field>
2387
 
    </record>
2388
 
    <class name="MediaImage"
2389
 
           c:symbol-prefix="media_image"
2390
 
           c:type="GrlMediaImage"
2391
 
           parent="Media"
2392
 
           glib:type-name="GrlMediaImage"
2393
 
           glib:get-type="grl_media_image_get_type"
2394
 
           glib:type-struct="MediaImageClass">
2395
 
      <constructor name="new"
2396
 
                   c:identifier="grl_media_image_new"
2397
 
                   version="0.1.4">
2398
 
        <doc xml:whitespace="preserve">Creates a new data image object.</doc>
2399
 
        <return-value transfer-ownership="full">
2400
 
          <doc xml:whitespace="preserve">a newly-allocated data image.</doc>
2401
 
          <type name="Media" c:type="GrlMedia*"/>
2402
 
        </return-value>
2403
 
      </constructor>
2404
 
      <method name="add_url_data"
2405
 
              c:identifier="grl_media_image_add_url_data"
2406
 
              version="0.1.10">
2407
 
        <doc xml:whitespace="preserve">Sets all the keys related with the URL of a media resource and adds it to
2408
 
@image (useful for resources with more than one URL).</doc>
2409
 
        <return-value transfer-ownership="none">
2410
 
          <type name="none" c:type="void"/>
2411
 
        </return-value>
2412
 
        <parameters>
2413
 
          <parameter name="url" transfer-ownership="none">
2414
 
            <doc xml:whitespace="preserve">a image's url</doc>
2415
 
            <type name="utf8" c:type="gchar*"/>
2416
 
          </parameter>
2417
 
          <parameter name="mime" transfer-ownership="none">
2418
 
            <doc xml:whitespace="preserve">image mime-type</doc>
2419
 
            <type name="utf8" c:type="gchar*"/>
2420
 
          </parameter>
2421
 
          <parameter name="width" transfer-ownership="none">
2422
 
            <doc xml:whitespace="preserve">image width, or -1 to ignore</doc>
2423
 
            <type name="gint" c:type="gint"/>
2424
 
          </parameter>
2425
 
          <parameter name="height" transfer-ownership="none">
2426
 
            <doc xml:whitespace="preserve">image height, or -1 to ignore</doc>
2427
 
            <type name="gint" c:type="gint"/>
2428
 
          </parameter>
2429
 
        </parameters>
2430
 
      </method>
2431
 
      <method name="get_camera_model"
2432
 
              c:identifier="grl_media_image_get_camera_model"
2433
 
              version="0.1.12">
2434
 
        <return-value transfer-ownership="none">
2435
 
          <doc xml:whitespace="preserve">model of camera used to take picture</doc>
2436
 
          <type name="utf8" c:type="gchar*"/>
2437
 
        </return-value>
2438
 
      </method>
2439
 
      <method name="get_exposure_time"
2440
 
              c:identifier="grl_media_image_get_exposure_time"
2441
 
              version="0.1.12">
2442
 
        <return-value transfer-ownership="none">
2443
 
          <doc xml:whitespace="preserve">picture's exposure time</doc>
2444
 
          <type name="gfloat" c:type="gfloat"/>
2445
 
        </return-value>
2446
 
      </method>
2447
 
      <method name="get_flash_used"
2448
 
              c:identifier="grl_media_image_get_flash_used"
2449
 
              version="0.1.12">
2450
 
        <doc xml:whitespace="preserve">See
2451
 
http://library.gnome.org/devel/ontology/unstable/nmm-classes.html#nmm-Flash</doc>
2452
 
        <return-value transfer-ownership="none">
2453
 
          <doc xml:whitespace="preserve">whether the flash was used</doc>
2454
 
          <type name="utf8" c:type="gchar*"/>
2455
 
        </return-value>
2456
 
      </method>
2457
 
      <method name="get_height"
2458
 
              c:identifier="grl_media_image_get_height"
2459
 
              version="0.1.4">
2460
 
        <return-value transfer-ownership="none">
2461
 
          <doc xml:whitespace="preserve">the height of the image</doc>
2462
 
          <type name="gint" c:type="gint"/>
2463
 
        </return-value>
2464
 
      </method>
2465
 
      <method name="get_iso_speed"
2466
 
              c:identifier="grl_media_image_get_iso_speed"
2467
 
              version="0.1.12">
2468
 
        <return-value transfer-ownership="none">
2469
 
          <doc xml:whitespace="preserve">picture's iso speed</doc>
2470
 
          <type name="gfloat" c:type="gfloat"/>
2471
 
        </return-value>
2472
 
      </method>
2473
 
      <method name="get_orientation"
2474
 
              c:identifier="grl_media_image_get_orientation"
2475
 
              version="0.1.12">
2476
 
        <return-value transfer-ownership="none">
2477
 
          <doc xml:whitespace="preserve">degrees clockwise orientation of the picture</doc>
2478
 
          <type name="gint" c:type="gint"/>
2479
 
        </return-value>
2480
 
      </method>
2481
 
      <method name="get_url_data"
2482
 
              c:identifier="grl_media_image_get_url_data"
2483
 
              version="0.1.10">
2484
 
        <return-value transfer-ownership="none">
2485
 
          <doc xml:whitespace="preserve">all the keys related with the URL of an image resource in one go.</doc>
2486
 
          <type name="utf8" c:type="gchar*"/>
2487
 
        </return-value>
2488
 
        <parameters>
2489
 
          <parameter name="mime"
2490
 
                     direction="out"
2491
 
                     caller-allocates="0"
2492
 
                     transfer-ownership="none">
2493
 
            <doc xml:whitespace="preserve">the url mime-type, or %NULL to ignore</doc>
2494
 
            <type name="utf8" c:type="gchar**"/>
2495
 
          </parameter>
2496
 
          <parameter name="width" transfer-ownership="none">
2497
 
            <doc xml:whitespace="preserve">the width, or %NULL to ignore</doc>
2498
 
            <type name="gint" c:type="gint*"/>
2499
 
          </parameter>
2500
 
          <parameter name="height" transfer-ownership="none">
2501
 
            <doc xml:whitespace="preserve">the height, or %NULL to ignore</doc>
2502
 
            <type name="gint" c:type="gint*"/>
2503
 
          </parameter>
2504
 
        </parameters>
2505
 
      </method>
2506
 
      <method name="get_url_data_nth"
2507
 
              c:identifier="grl_media_image_get_url_data_nth"
2508
 
              version="0.1.10">
2509
 
        <doc xml:whitespace="preserve">in one go.</doc>
2510
 
        <return-value transfer-ownership="none">
2511
 
          <doc xml:whitespace="preserve">all the keys related with the URL number @index of an image resource</doc>
2512
 
          <type name="utf8" c:type="gchar*"/>
2513
 
        </return-value>
2514
 
        <parameters>
2515
 
          <parameter name="index" transfer-ownership="none">
2516
 
            <doc xml:whitespace="preserve">element to retrieve</doc>
2517
 
            <type name="guint" c:type="guint"/>
2518
 
          </parameter>
2519
 
          <parameter name="mime"
2520
 
                     direction="out"
2521
 
                     caller-allocates="0"
2522
 
                     transfer-ownership="none">
2523
 
            <doc xml:whitespace="preserve">the url mime-type, or %NULL to ignore</doc>
2524
 
            <type name="utf8" c:type="gchar**"/>
2525
 
          </parameter>
2526
 
          <parameter name="width" transfer-ownership="none">
2527
 
            <doc xml:whitespace="preserve">the width, or %NULL to ignore</doc>
2528
 
            <type name="gint" c:type="gint*"/>
2529
 
          </parameter>
2530
 
          <parameter name="height" transfer-ownership="none">
2531
 
            <doc xml:whitespace="preserve">the height, or %NULL to ignore</doc>
2532
 
            <type name="gint" c:type="gint*"/>
2533
 
          </parameter>
2534
 
        </parameters>
2535
 
      </method>
2536
 
      <method name="get_width"
2537
 
              c:identifier="grl_media_image_get_width"
2538
 
              version="0.1.4">
2539
 
        <return-value transfer-ownership="none">
2540
 
          <doc xml:whitespace="preserve">the width of the image</doc>
2541
 
          <type name="gint" c:type="gint"/>
2542
 
        </return-value>
2543
 
      </method>
2544
 
      <method name="set_camera_model"
2545
 
              c:identifier="grl_media_image_set_camera_model">
2546
 
        <return-value transfer-ownership="none">
2547
 
          <type name="none" c:type="void"/>
2548
 
        </return-value>
2549
 
        <parameters>
2550
 
          <parameter name="camera_model" transfer-ownership="none">
2551
 
            <type name="utf8" c:type="gchar*"/>
2552
 
          </parameter>
2553
 
        </parameters>
2554
 
      </method>
2555
 
      <method name="set_exposure_time"
2556
 
              c:identifier="grl_media_image_set_exposure_time">
2557
 
        <return-value transfer-ownership="none">
2558
 
          <type name="none" c:type="void"/>
2559
 
        </return-value>
2560
 
        <parameters>
2561
 
          <parameter name="exposure_time" transfer-ownership="none">
2562
 
            <type name="gfloat" c:type="gfloat"/>
2563
 
          </parameter>
2564
 
        </parameters>
2565
 
      </method>
2566
 
      <method name="set_flash_used"
2567
 
              c:identifier="grl_media_image_set_flash_used">
2568
 
        <return-value transfer-ownership="none">
2569
 
          <type name="none" c:type="void"/>
2570
 
        </return-value>
2571
 
        <parameters>
2572
 
          <parameter name="flash_used" transfer-ownership="none">
2573
 
            <type name="utf8" c:type="gchar*"/>
2574
 
          </parameter>
2575
 
        </parameters>
2576
 
      </method>
2577
 
      <method name="set_height"
2578
 
              c:identifier="grl_media_image_set_height"
2579
 
              version="0.1.4">
2580
 
        <doc xml:whitespace="preserve">Set the height of the image</doc>
2581
 
        <return-value transfer-ownership="none">
2582
 
          <type name="none" c:type="void"/>
2583
 
        </return-value>
2584
 
        <parameters>
2585
 
          <parameter name="height" transfer-ownership="none">
2586
 
            <doc xml:whitespace="preserve">the image's height</doc>
2587
 
            <type name="gint" c:type="gint"/>
2588
 
          </parameter>
2589
 
        </parameters>
2590
 
      </method>
2591
 
      <method name="set_iso_speed"
2592
 
              c:identifier="grl_media_image_set_iso_speed">
2593
 
        <return-value transfer-ownership="none">
2594
 
          <type name="none" c:type="void"/>
2595
 
        </return-value>
2596
 
        <parameters>
2597
 
          <parameter name="iso_speed" transfer-ownership="none">
2598
 
            <type name="gfloat" c:type="gfloat"/>
2599
 
          </parameter>
2600
 
        </parameters>
2601
 
      </method>
2602
 
      <method name="set_orientation"
2603
 
              c:identifier="grl_media_image_set_orientation">
2604
 
        <return-value transfer-ownership="none">
2605
 
          <type name="none" c:type="void"/>
2606
 
        </return-value>
2607
 
        <parameters>
2608
 
          <parameter name="orientation" transfer-ownership="none">
2609
 
            <type name="gint" c:type="gint"/>
2610
 
          </parameter>
2611
 
        </parameters>
2612
 
      </method>
2613
 
      <method name="set_size"
2614
 
              c:identifier="grl_media_image_set_size"
2615
 
              version="0.1.4">
2616
 
        <doc xml:whitespace="preserve">Set the size of the image</doc>
2617
 
        <return-value transfer-ownership="none">
2618
 
          <type name="none" c:type="void"/>
2619
 
        </return-value>
2620
 
        <parameters>
2621
 
          <parameter name="width" transfer-ownership="none">
2622
 
            <doc xml:whitespace="preserve">the image's width</doc>
2623
 
            <type name="gint" c:type="gint"/>
2624
 
          </parameter>
2625
 
          <parameter name="height" transfer-ownership="none">
2626
 
            <doc xml:whitespace="preserve">the image's height</doc>
2627
 
            <type name="gint" c:type="gint"/>
2628
 
          </parameter>
2629
 
        </parameters>
2630
 
      </method>
2631
 
      <method name="set_url_data"
2632
 
              c:identifier="grl_media_image_set_url_data"
2633
 
              version="0.1.10">
2634
 
        <doc xml:whitespace="preserve">Sets all the keys related with the URL of an image resource in one go.</doc>
2635
 
        <return-value transfer-ownership="none">
2636
 
          <type name="none" c:type="void"/>
2637
 
        </return-value>
2638
 
        <parameters>
2639
 
          <parameter name="url" transfer-ownership="none">
2640
 
            <doc xml:whitespace="preserve">the image's url</doc>
2641
 
            <type name="utf8" c:type="gchar*"/>
2642
 
          </parameter>
2643
 
          <parameter name="mime" transfer-ownership="none">
2644
 
            <doc xml:whitespace="preserve">image mime-type</doc>
2645
 
            <type name="utf8" c:type="gchar*"/>
2646
 
          </parameter>
2647
 
          <parameter name="width" transfer-ownership="none">
2648
 
            <doc xml:whitespace="preserve">image width, or -1 to ignore</doc>
2649
 
            <type name="gint" c:type="gint"/>
2650
 
          </parameter>
2651
 
          <parameter name="height" transfer-ownership="none">
2652
 
            <doc xml:whitespace="preserve">image height, or -1 to ignore</doc>
2653
 
            <type name="gint" c:type="gint"/>
2654
 
          </parameter>
2655
 
        </parameters>
2656
 
      </method>
2657
 
      <method name="set_width"
2658
 
              c:identifier="grl_media_image_set_width"
2659
 
              version="0.1.4">
2660
 
        <doc xml:whitespace="preserve">Set the width of the image</doc>
2661
 
        <return-value transfer-ownership="none">
2662
 
          <type name="none" c:type="void"/>
2663
 
        </return-value>
2664
 
        <parameters>
2665
 
          <parameter name="width" transfer-ownership="none">
2666
 
            <doc xml:whitespace="preserve">the image's width</doc>
2667
 
            <type name="gint" c:type="gint"/>
2668
 
          </parameter>
2669
 
        </parameters>
2670
 
      </method>
2671
 
      <field name="parent">
2672
 
        <type name="Media" c:type="GrlMedia"/>
2673
 
      </field>
2674
 
      <field name="_grl_reserved" readable="0" private="1">
2675
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2676
 
          <type name="gpointer" c:type="gpointer"/>
2677
 
        </array>
2678
 
      </field>
2679
 
    </class>
2680
 
    <record name="MediaImageClass"
2681
 
            c:type="GrlMediaImageClass"
2682
 
            glib:is-gtype-struct-for="MediaImage">
2683
 
      <doc xml:whitespace="preserve">Grilo Media image Class</doc>
2684
 
      <field name="parent_class">
2685
 
        <type name="MediaClass" c:type="GrlMediaClass"/>
2686
 
      </field>
2687
 
      <field name="_grl_reserved" readable="0" private="1">
2688
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
2689
 
          <type name="gpointer" c:type="gpointer"/>
2690
 
        </array>
2691
 
      </field>
2692
 
    </record>
2693
 
    <class name="MediaPlugin"
2694
 
           c:symbol-prefix="media_plugin"
2695
 
           c:type="GrlMediaPlugin"
2696
 
           parent="GObject.Object"
2697
 
           abstract="1"
2698
 
           glib:type-name="GrlMediaPlugin"
2699
 
           glib:get-type="grl_media_plugin_get_type"
2700
 
           glib:type-struct="MediaPluginClass">
2701
 
      <method name="get_author"
2702
 
              c:identifier="grl_media_plugin_get_author"
2703
 
              version="0.1.1">
2704
 
        <doc xml:whitespace="preserve">Get the author of the plugin</doc>
2705
 
        <return-value transfer-ownership="none">
2706
 
          <doc xml:whitespace="preserve">the author of the @plugin</doc>
2707
 
          <type name="utf8" c:type="gchar*"/>
2708
 
        </return-value>
2709
 
      </method>
2710
 
      <method name="get_description"
2711
 
              c:identifier="grl_media_plugin_get_description"
2712
 
              version="0.1.1">
2713
 
        <doc xml:whitespace="preserve">Get the description of the plugin</doc>
2714
 
        <return-value transfer-ownership="none">
2715
 
          <doc xml:whitespace="preserve">the description of the @plugin</doc>
2716
 
          <type name="utf8" c:type="gchar*"/>
2717
 
        </return-value>
2718
 
      </method>
2719
 
      <method name="get_filename"
2720
 
              c:identifier="grl_media_plugin_get_filename"
2721
 
              version="0.1.6">
2722
 
        <doc xml:whitespace="preserve">Get the filename containing the plugin</doc>
2723
 
        <return-value transfer-ownership="none">
2724
 
          <doc xml:whitespace="preserve">the filename containing @plugin</doc>
2725
 
          <type name="utf8" c:type="gchar*"/>
2726
 
        </return-value>
2727
 
      </method>
2728
 
      <method name="get_id"
2729
 
              c:identifier="grl_media_plugin_get_id"
2730
 
              version="0.1.1">
2731
 
        <doc xml:whitespace="preserve">Get the id of the plugin</doc>
2732
 
        <return-value transfer-ownership="none">
2733
 
          <doc xml:whitespace="preserve">the id of the @plugin</doc>
2734
 
          <type name="utf8" c:type="gchar*"/>
2735
 
        </return-value>
2736
 
      </method>
2737
 
      <method name="get_info"
2738
 
              c:identifier="grl_media_plugin_get_info"
2739
 
              version="0.1.6">
2740
 
        <doc xml:whitespace="preserve">Get the information of the @plugin that is associated with the given key</doc>
2741
 
        <return-value transfer-ownership="none">
2742
 
          <doc xml:whitespace="preserve">the information assigned to the given @key or NULL if there is no such information</doc>
2743
 
          <type name="utf8" c:type="gchar*"/>
2744
 
        </return-value>
2745
 
        <parameters>
2746
 
          <parameter name="key" transfer-ownership="none">
2747
 
            <doc xml:whitespace="preserve">a key representing information about this plugin</doc>
2748
 
            <type name="utf8" c:type="gchar*"/>
2749
 
          </parameter>
2750
 
        </parameters>
2751
 
      </method>
2752
 
      <method name="get_info_keys"
2753
 
              c:identifier="grl_media_plugin_get_info_keys"
2754
 
              version="0.1.6">
2755
 
        <doc xml:whitespace="preserve">Returns a list of keys that can be queried to retrieve information about the
2756
 
plugin.
2757
 
 
2758
 
a #GList of strings containing the keys. The content of the list is
2759
 
owned by the plugin and should not be modified or freed. Use g_list_free()
2760
 
when done using the list.</doc>
2761
 
        <return-value transfer-ownership="container">
2762
 
          <type name="GLib.List" c:type="GList*">
2763
 
            <type name="utf8"/>
2764
 
          </type>
2765
 
        </return-value>
2766
 
      </method>
2767
 
      <method name="get_license"
2768
 
              c:identifier="grl_media_plugin_get_license"
2769
 
              version="0.1.1">
2770
 
        <doc xml:whitespace="preserve">Get the license of the plugin</doc>
2771
 
        <return-value transfer-ownership="none">
2772
 
          <doc xml:whitespace="preserve">the license of the @plugin</doc>
2773
 
          <type name="utf8" c:type="gchar*"/>
2774
 
        </return-value>
2775
 
      </method>
2776
 
      <method name="get_name"
2777
 
              c:identifier="grl_media_plugin_get_name"
2778
 
              version="0.1.1">
2779
 
        <doc xml:whitespace="preserve">Get the name of the plugin</doc>
2780
 
        <return-value transfer-ownership="none">
2781
 
          <doc xml:whitespace="preserve">the name of the @plugin</doc>
2782
 
          <type name="utf8" c:type="gchar*"/>
2783
 
        </return-value>
2784
 
      </method>
2785
 
      <method name="get_rank"
2786
 
              c:identifier="grl_media_plugin_get_rank"
2787
 
              version="0.1.3">
2788
 
        <doc xml:whitespace="preserve">Get the #GrlPluginRank of the plugin</doc>
2789
 
        <return-value transfer-ownership="none">
2790
 
          <doc xml:whitespace="preserve">the rank of the plugin</doc>
2791
 
          <type name="gint" c:type="gint"/>
2792
 
        </return-value>
2793
 
      </method>
2794
 
      <method name="get_site"
2795
 
              c:identifier="grl_media_plugin_get_site"
2796
 
              version="0.1.1">
2797
 
        <doc xml:whitespace="preserve">Get the site of the plugin</doc>
2798
 
        <return-value transfer-ownership="none">
2799
 
          <doc xml:whitespace="preserve">the site of the @plugin</doc>
2800
 
          <type name="utf8" c:type="gchar*"/>
2801
 
        </return-value>
2802
 
      </method>
2803
 
      <method name="get_version"
2804
 
              c:identifier="grl_media_plugin_get_version"
2805
 
              version="0.1.1">
2806
 
        <doc xml:whitespace="preserve">Get the version of the plugin</doc>
2807
 
        <return-value transfer-ownership="none">
2808
 
          <doc xml:whitespace="preserve">the version of the @plugin</doc>
2809
 
          <type name="utf8" c:type="gchar*"/>
2810
 
        </return-value>
2811
 
      </method>
2812
 
      <method name="set_plugin_info"
2813
 
              c:identifier="grl_media_plugin_set_plugin_info">
2814
 
        <return-value transfer-ownership="none">
2815
 
          <type name="none" c:type="void"/>
2816
 
        </return-value>
2817
 
        <parameters>
2818
 
          <parameter name="info" transfer-ownership="none">
2819
 
            <type name="PluginInfo" c:type="GrlPluginInfo*"/>
2820
 
          </parameter>
2821
 
        </parameters>
2822
 
      </method>
2823
 
      <field name="parent">
2824
 
        <type name="GObject.Object" c:type="GObject"/>
2825
 
      </field>
2826
 
      <field name="priv" readable="0" private="1">
2827
 
        <type name="MediaPluginPrivate" c:type="GrlMediaPluginPrivate*"/>
2828
 
      </field>
2829
 
      <field name="_grl_reserved" readable="0" private="1">
2830
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
2831
 
          <type name="gpointer" c:type="gpointer"/>
2832
 
        </array>
2833
 
      </field>
2834
 
    </class>
2835
 
    <record name="MediaPluginClass"
2836
 
            c:type="GrlMediaPluginClass"
2837
 
            glib:is-gtype-struct-for="MediaPlugin">
2838
 
      <field name="parent_class">
2839
 
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
2840
 
      </field>
2841
 
      <field name="_grl_reserved" readable="0" private="1">
2842
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
2843
 
          <type name="gpointer" c:type="gpointer"/>
2844
 
        </array>
2845
 
      </field>
2846
 
    </record>
2847
 
    <record name="MediaPluginPrivate"
2848
 
            c:type="GrlMediaPluginPrivate"
2849
 
            disguised="1">
2850
 
    </record>
2851
 
    <enumeration name="MediaSerializeType" c:type="GrlMediaSerializeType">
2852
 
      <doc xml:whitespace="preserve">GrlMedia serialize type</doc>
2853
 
      <member name="basic" value="0" c:identifier="GRL_MEDIA_SERIALIZE_BASIC"/>
2854
 
      <member name="partial"
2855
 
              value="1"
2856
 
              c:identifier="GRL_MEDIA_SERIALIZE_PARTIAL"/>
2857
 
      <member name="full" value="2" c:identifier="GRL_MEDIA_SERIALIZE_FULL"/>
2858
 
    </enumeration>
2859
 
    <class name="MediaSource"
2860
 
           c:symbol-prefix="media_source"
2861
 
           c:type="GrlMediaSource"
2862
 
           parent="MetadataSource"
2863
 
           abstract="1"
2864
 
           glib:type-name="GrlMediaSource"
2865
 
           glib:get-type="grl_media_source_get_type"
2866
 
           glib:type-struct="MediaSourceClass">
2867
 
      <virtual-method name="browse">
2868
 
        <return-value transfer-ownership="none">
2869
 
          <type name="none" c:type="void"/>
2870
 
        </return-value>
2871
 
        <parameters>
2872
 
          <parameter name="bs" transfer-ownership="none">
2873
 
            <type name="MediaSourceBrowseSpec"
2874
 
                  c:type="GrlMediaSourceBrowseSpec*"/>
2875
 
          </parameter>
2876
 
        </parameters>
2877
 
      </virtual-method>
2878
 
      <virtual-method name="cancel"
2879
 
                      invoker="cancel"
2880
 
                      version="0.1.1"
2881
 
                      deprecated="Use grl_operation_cancel() instead"
2882
 
                      deprecated-version="0.1.14">
2883
 
        <doc xml:whitespace="preserve">Cancel a running method.
2884
 
 
2885
 
The derived class must implement the cancel vmethod in order to honour the
2886
 
request correctly. Otherwise, the operation will not be interrupted.
2887
 
 
2888
 
In all cases, if this function is called on an ongoing operation, the
2889
 
corresponding callback will be called with the
2890
 
@GRL_CORE_ERROR_OPERATION_CANCELLED error set, and no more action will be
2891
 
taken for that operation after the said callback with error has been called.</doc>
2892
 
        <return-value transfer-ownership="none">
2893
 
          <type name="none" c:type="void"/>
2894
 
        </return-value>
2895
 
        <parameters>
2896
 
          <parameter name="operation_id" transfer-ownership="none">
2897
 
            <doc xml:whitespace="preserve">the identifier of the running operation, as returned by the function that started it</doc>
2898
 
            <type name="guint" c:type="guint"/>
2899
 
          </parameter>
2900
 
        </parameters>
2901
 
      </virtual-method>
2902
 
      <virtual-method name="media_from_uri">
2903
 
        <return-value transfer-ownership="none">
2904
 
          <type name="none" c:type="void"/>
2905
 
        </return-value>
2906
 
        <parameters>
2907
 
          <parameter name="mfss" transfer-ownership="none">
2908
 
            <type name="MediaSourceMediaFromUriSpec"
2909
 
                  c:type="GrlMediaSourceMediaFromUriSpec*"/>
2910
 
          </parameter>
2911
 
        </parameters>
2912
 
      </virtual-method>
2913
 
      <virtual-method name="metadata">
2914
 
        <return-value transfer-ownership="none">
2915
 
          <type name="none" c:type="void"/>
2916
 
        </return-value>
2917
 
        <parameters>
2918
 
          <parameter name="ms" transfer-ownership="none">
2919
 
            <type name="MediaSourceMetadataSpec"
2920
 
                  c:type="GrlMediaSourceMetadataSpec*"/>
2921
 
          </parameter>
2922
 
        </parameters>
2923
 
      </virtual-method>
2924
 
      <virtual-method name="notify_change_start"
2925
 
                      invoker="notify_change_start"
2926
 
                      version="0.1.9"
2927
 
                      throws="1">
2928
 
        <doc xml:whitespace="preserve">Starts emitting ::content-changed signals when @source discovers changes in
2929
 
the content. This instructs @source to setup the machinery needed to be aware
2930
 
of changes in the content.</doc>
2931
 
        <return-value transfer-ownership="none">
2932
 
          <doc xml:whitespace="preserve">@TRUE if initialization has succeed.</doc>
2933
 
          <type name="gboolean" c:type="gboolean"/>
2934
 
        </return-value>
2935
 
      </virtual-method>
2936
 
      <virtual-method name="notify_change_stop"
2937
 
                      invoker="notify_change_stop"
2938
 
                      version="0.1.9"
2939
 
                      throws="1">
2940
 
        <doc xml:whitespace="preserve">This will drop emission of ::content-changed signals from @source. When this
2941
 
is done @source should stop the machinery required for it to track changes in
2942
 
the content.</doc>
2943
 
        <return-value transfer-ownership="none">
2944
 
          <doc xml:whitespace="preserve">@TRUE if stop has succeed.</doc>
2945
 
          <type name="gboolean" c:type="gboolean"/>
2946
 
        </return-value>
2947
 
      </virtual-method>
2948
 
      <virtual-method name="query">
2949
 
        <return-value transfer-ownership="none">
2950
 
          <type name="none" c:type="void"/>
2951
 
        </return-value>
2952
 
        <parameters>
2953
 
          <parameter name="qs" transfer-ownership="none">
2954
 
            <type name="MediaSourceQuerySpec"
2955
 
                  c:type="GrlMediaSourceQuerySpec*"/>
2956
 
          </parameter>
2957
 
        </parameters>
2958
 
      </virtual-method>
2959
 
      <virtual-method name="remove">
2960
 
        <return-value transfer-ownership="none">
2961
 
          <type name="none" c:type="void"/>
2962
 
        </return-value>
2963
 
        <parameters>
2964
 
          <parameter name="ss" transfer-ownership="none">
2965
 
            <type name="MediaSourceRemoveSpec"
2966
 
                  c:type="GrlMediaSourceRemoveSpec*"/>
2967
 
          </parameter>
2968
 
        </parameters>
2969
 
      </virtual-method>
2970
 
      <virtual-method name="search">
2971
 
        <return-value transfer-ownership="none">
2972
 
          <type name="none" c:type="void"/>
2973
 
        </return-value>
2974
 
        <parameters>
2975
 
          <parameter name="ss" transfer-ownership="none">
2976
 
            <type name="MediaSourceSearchSpec"
2977
 
                  c:type="GrlMediaSourceSearchSpec*"/>
2978
 
          </parameter>
2979
 
        </parameters>
2980
 
      </virtual-method>
2981
 
      <virtual-method name="store">
2982
 
        <return-value transfer-ownership="none">
2983
 
          <type name="none" c:type="void"/>
2984
 
        </return-value>
2985
 
        <parameters>
2986
 
          <parameter name="ss" transfer-ownership="none">
2987
 
            <type name="MediaSourceStoreSpec"
2988
 
                  c:type="GrlMediaSourceStoreSpec*"/>
2989
 
          </parameter>
2990
 
        </parameters>
2991
 
      </virtual-method>
2992
 
      <virtual-method name="test_media_from_uri"
2993
 
                      invoker="test_media_from_uri"
2994
 
                      version="0.1.7">
2995
 
        <doc xml:whitespace="preserve">Tests whether @source can instantiate a #GrlMedia object representing
2996
 
the media resource exposed at @uri.
2997
 
 
2998
 
 
2999
 
This method is synchronous.</doc>
3000
 
        <return-value transfer-ownership="none">
3001
 
          <doc xml:whitespace="preserve">%TRUE if it can, %FALSE otherwise.</doc>
3002
 
          <type name="gboolean" c:type="gboolean"/>
3003
 
        </return-value>
3004
 
        <parameters>
3005
 
          <parameter name="uri" transfer-ownership="none">
3006
 
            <doc xml:whitespace="preserve">A URI that can be used to identify a media resource</doc>
3007
 
            <type name="utf8" c:type="gchar*"/>
3008
 
          </parameter>
3009
 
        </parameters>
3010
 
      </virtual-method>
3011
 
      <method name="browse"
3012
 
              c:identifier="grl_media_source_browse"
3013
 
              version="0.1.4">
3014
 
        <doc xml:whitespace="preserve">Browse from @skip, a @count number of media elements through an available list.
3015
 
 
3016
 
This method is asynchronous.</doc>
3017
 
        <return-value transfer-ownership="none">
3018
 
          <doc xml:whitespace="preserve">the operation identifier</doc>
3019
 
          <type name="guint" c:type="guint"/>
3020
 
        </return-value>
3021
 
        <parameters>
3022
 
          <parameter name="container" transfer-ownership="none" allow-none="1">
3023
 
            <doc xml:whitespace="preserve">a container of data transfer objects</doc>
3024
 
            <type name="Media" c:type="GrlMedia*"/>
3025
 
          </parameter>
3026
 
          <parameter name="keys" transfer-ownership="none">
3027
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID&lt;!-- --&gt;s to request</doc>
3028
 
            <type name="GLib.List" c:type="GList*">
3029
 
              <type name="GObject.ParamSpec"/>
3030
 
            </type>
3031
 
          </parameter>
3032
 
          <parameter name="skip" transfer-ownership="none">
3033
 
            <doc xml:whitespace="preserve">the number if elements to skip in the browse operation</doc>
3034
 
            <type name="guint" c:type="guint"/>
3035
 
          </parameter>
3036
 
          <parameter name="count" transfer-ownership="none">
3037
 
            <doc xml:whitespace="preserve">the number of elements to retrieve in the browse operation</doc>
3038
 
            <type name="guint" c:type="guint"/>
3039
 
          </parameter>
3040
 
          <parameter name="flags" transfer-ownership="none">
3041
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3042
 
            <type name="MetadataResolutionFlags"
3043
 
                  c:type="GrlMetadataResolutionFlags"/>
3044
 
          </parameter>
3045
 
          <parameter name="callback"
3046
 
                     transfer-ownership="none"
3047
 
                     scope="notified"
3048
 
                     closure="6">
3049
 
            <doc xml:whitespace="preserve">the user defined callback</doc>
3050
 
            <type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
3051
 
          </parameter>
3052
 
          <parameter name="user_data" transfer-ownership="none">
3053
 
            <doc xml:whitespace="preserve">the user data to pass in the callback</doc>
3054
 
            <type name="gpointer" c:type="gpointer"/>
3055
 
          </parameter>
3056
 
        </parameters>
3057
 
      </method>
3058
 
      <method name="browse_sync"
3059
 
              c:identifier="grl_media_source_browse_sync"
3060
 
              version="0.1.6"
3061
 
              throws="1">
3062
 
        <doc xml:whitespace="preserve">Browse from @skip, a @count number of media elements through an available
3063
 
list.
3064
 
 
3065
 
This method is synchronous.
3066
 
 
3067
 
elements. After use g_object_unref() every element and g_list_free() the
3068
 
list.</doc>
3069
 
        <return-value transfer-ownership="full">
3070
 
          <doc xml:whitespace="preserve">a #GList with #GrlMedia</doc>
3071
 
          <type name="GLib.List" c:type="GList*">
3072
 
            <type name="Media"/>
3073
 
          </type>
3074
 
        </return-value>
3075
 
        <parameters>
3076
 
          <parameter name="container" transfer-ownership="none" allow-none="1">
3077
 
            <doc xml:whitespace="preserve">a container of data transfer objects</doc>
3078
 
            <type name="Media" c:type="GrlMedia*"/>
3079
 
          </parameter>
3080
 
          <parameter name="keys" transfer-ownership="none">
3081
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID&lt;!-- --&gt;s to request</doc>
3082
 
            <type name="GLib.List" c:type="GList*">
3083
 
              <type name="GObject.ParamSpec"/>
3084
 
            </type>
3085
 
          </parameter>
3086
 
          <parameter name="skip" transfer-ownership="none">
3087
 
            <doc xml:whitespace="preserve">the number if elements to skip in the browse operation</doc>
3088
 
            <type name="guint" c:type="guint"/>
3089
 
          </parameter>
3090
 
          <parameter name="count" transfer-ownership="none">
3091
 
            <doc xml:whitespace="preserve">the number of elements to retrieve in the browse operation</doc>
3092
 
            <type name="guint" c:type="guint"/>
3093
 
          </parameter>
3094
 
          <parameter name="flags" transfer-ownership="none">
3095
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3096
 
            <type name="MetadataResolutionFlags"
3097
 
                  c:type="GrlMetadataResolutionFlags"/>
3098
 
          </parameter>
3099
 
        </parameters>
3100
 
      </method>
3101
 
      <method name="cancel"
3102
 
              c:identifier="grl_media_source_cancel"
3103
 
              version="0.1.1"
3104
 
              deprecated="Use grl_operation_cancel() instead"
3105
 
              deprecated-version="0.1.14">
3106
 
        <doc xml:whitespace="preserve">Cancel a running method.
3107
 
 
3108
 
The derived class must implement the cancel vmethod in order to honour the
3109
 
request correctly. Otherwise, the operation will not be interrupted.
3110
 
 
3111
 
In all cases, if this function is called on an ongoing operation, the
3112
 
corresponding callback will be called with the
3113
 
@GRL_CORE_ERROR_OPERATION_CANCELLED error set, and no more action will be
3114
 
taken for that operation after the said callback with error has been called.</doc>
3115
 
        <return-value transfer-ownership="none">
3116
 
          <type name="none" c:type="void"/>
3117
 
        </return-value>
3118
 
        <parameters>
3119
 
          <parameter name="operation_id" transfer-ownership="none">
3120
 
            <doc xml:whitespace="preserve">the identifier of the running operation, as returned by the function that started it</doc>
3121
 
            <type name="guint" c:type="guint"/>
3122
 
          </parameter>
3123
 
        </parameters>
3124
 
      </method>
3125
 
      <method name="get_auto_split_threshold"
3126
 
              c:identifier="grl_media_source_get_auto_split_threshold"
3127
 
              version="0.1.1">
3128
 
        <doc xml:whitespace="preserve">TBD</doc>
3129
 
        <return-value transfer-ownership="none">
3130
 
          <doc xml:whitespace="preserve">the assigned threshold</doc>
3131
 
          <type name="guint" c:type="guint"/>
3132
 
        </return-value>
3133
 
      </method>
3134
 
      <method name="get_media_from_uri"
3135
 
              c:identifier="grl_media_source_get_media_from_uri"
3136
 
              version="0.1.14">
3137
 
        <doc xml:whitespace="preserve">Creates an instance of #GrlMedia representing the media resource
3138
 
exposed at @uri.
3139
 
 
3140
 
It is recommended to call grl_media_source_test_media_from_uri() before
3141
 
invoking this to check whether the target source can theoretically do the
3142
 
resolution.
3143
 
 
3144
 
This method is asynchronous.</doc>
3145
 
        <return-value transfer-ownership="none">
3146
 
          <doc xml:whitespace="preserve">the operation identifier</doc>
3147
 
          <type name="guint" c:type="guint"/>
3148
 
        </return-value>
3149
 
        <parameters>
3150
 
          <parameter name="uri" transfer-ownership="none">
3151
 
            <doc xml:whitespace="preserve">A URI that can be used to identify a media resource</doc>
3152
 
            <type name="utf8" c:type="gchar*"/>
3153
 
          </parameter>
3154
 
          <parameter name="keys" transfer-ownership="none">
3155
 
            <doc xml:whitespace="preserve">A list of keys to resolve</doc>
3156
 
            <type name="GLib.List" c:type="GList*">
3157
 
              <type name="KeyID"/>
3158
 
            </type>
3159
 
          </parameter>
3160
 
          <parameter name="flags" transfer-ownership="none">
3161
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3162
 
            <type name="MetadataResolutionFlags"
3163
 
                  c:type="GrlMetadataResolutionFlags"/>
3164
 
          </parameter>
3165
 
          <parameter name="callback"
3166
 
                     transfer-ownership="none"
3167
 
                     scope="notified"
3168
 
                     closure="4">
3169
 
            <doc xml:whitespace="preserve">the user defined callback</doc>
3170
 
            <type name="MediaSourceMetadataCb"
3171
 
                  c:type="GrlMediaSourceMetadataCb"/>
3172
 
          </parameter>
3173
 
          <parameter name="user_data" transfer-ownership="none">
3174
 
            <doc xml:whitespace="preserve">the user data to pass in the callback</doc>
3175
 
            <type name="gpointer" c:type="gpointer"/>
3176
 
          </parameter>
3177
 
        </parameters>
3178
 
      </method>
3179
 
      <method name="get_media_from_uri_sync"
3180
 
              c:identifier="grl_media_source_get_media_from_uri_sync"
3181
 
              version="0.1.8"
3182
 
              throws="1">
3183
 
        <doc xml:whitespace="preserve">Creates an instance of #GrlMedia representing the media resource
3184
 
exposed at @uri.
3185
 
 
3186
 
It is recommended to call grl_media_source_test_media_from_uri() before
3187
 
invoking this to check whether the target source can theoretically do the
3188
 
resolution.
3189
 
 
3190
 
This method is synchronous.</doc>
3191
 
        <return-value transfer-ownership="full">
3192
 
          <doc xml:whitespace="preserve">a filled #GrlMedia</doc>
3193
 
          <type name="Media" c:type="GrlMedia*"/>
3194
 
        </return-value>
3195
 
        <parameters>
3196
 
          <parameter name="uri" transfer-ownership="none">
3197
 
            <doc xml:whitespace="preserve">A URI that can be used to identify a media resource</doc>
3198
 
            <type name="utf8" c:type="gchar*"/>
3199
 
          </parameter>
3200
 
          <parameter name="keys" transfer-ownership="none">
3201
 
            <doc xml:whitespace="preserve">A list of keys to resolve</doc>
3202
 
            <type name="GLib.List" c:type="GList*">
3203
 
              <type name="KeyID"/>
3204
 
            </type>
3205
 
          </parameter>
3206
 
          <parameter name="flags" transfer-ownership="none">
3207
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3208
 
            <type name="MetadataResolutionFlags"
3209
 
                  c:type="GrlMetadataResolutionFlags"/>
3210
 
          </parameter>
3211
 
        </parameters>
3212
 
      </method>
3213
 
      <method name="get_operation_data"
3214
 
              c:identifier="grl_media_source_get_operation_data"
3215
 
              version="0.1.1"
3216
 
              deprecated="Use grl_operation_get_data() instead"
3217
 
              deprecated-version="0.1.14">
3218
 
        <doc xml:whitespace="preserve">Obtains the previously attached data</doc>
3219
 
        <return-value transfer-ownership="none">
3220
 
          <doc xml:whitespace="preserve">The previously attached data.</doc>
3221
 
          <type name="gpointer" c:type="gpointer"/>
3222
 
        </return-value>
3223
 
        <parameters>
3224
 
          <parameter name="operation_id" transfer-ownership="none">
3225
 
            <doc xml:whitespace="preserve">the identifier of a running operation</doc>
3226
 
            <type name="guint" c:type="guint"/>
3227
 
          </parameter>
3228
 
        </parameters>
3229
 
      </method>
3230
 
      <method name="metadata"
3231
 
              c:identifier="grl_media_source_metadata"
3232
 
              version="0.1.6">
3233
 
        <doc xml:whitespace="preserve">This method is intended to fetch the requested keys of metadata of
3234
 
a given @media to the media source.
3235
 
 
3236
 
This method is asynchronous.</doc>
3237
 
        <return-value transfer-ownership="none">
3238
 
          <doc xml:whitespace="preserve">the operation identifier</doc>
3239
 
          <type name="guint" c:type="guint"/>
3240
 
        </return-value>
3241
 
        <parameters>
3242
 
          <parameter name="media" transfer-ownership="none" allow-none="1">
3243
 
            <doc xml:whitespace="preserve">a data transfer object</doc>
3244
 
            <type name="Media" c:type="GrlMedia*"/>
3245
 
          </parameter>
3246
 
          <parameter name="keys" transfer-ownership="none">
3247
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID&lt;!-- --&gt;s to request</doc>
3248
 
            <type name="GLib.List" c:type="GList*">
3249
 
              <type name="GObject.ParamSpec"/>
3250
 
            </type>
3251
 
          </parameter>
3252
 
          <parameter name="flags" transfer-ownership="none">
3253
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3254
 
            <type name="MetadataResolutionFlags"
3255
 
                  c:type="GrlMetadataResolutionFlags"/>
3256
 
          </parameter>
3257
 
          <parameter name="callback"
3258
 
                     transfer-ownership="none"
3259
 
                     scope="notified"
3260
 
                     closure="4">
3261
 
            <doc xml:whitespace="preserve">the user defined callback</doc>
3262
 
            <type name="MediaSourceMetadataCb"
3263
 
                  c:type="GrlMediaSourceMetadataCb"/>
3264
 
          </parameter>
3265
 
          <parameter name="user_data" transfer-ownership="none">
3266
 
            <doc xml:whitespace="preserve">the user data to pass in the callback</doc>
3267
 
            <type name="gpointer" c:type="gpointer"/>
3268
 
          </parameter>
3269
 
        </parameters>
3270
 
      </method>
3271
 
      <method name="metadata_sync"
3272
 
              c:identifier="grl_media_source_metadata_sync"
3273
 
              version="0.1.6"
3274
 
              throws="1">
3275
 
        <doc xml:whitespace="preserve">This method is intended to fetch the requested keys of metadata of
3276
 
a given @media to the media source.
3277
 
 
3278
 
This method is synchronous.</doc>
3279
 
        <return-value transfer-ownership="full">
3280
 
          <doc xml:whitespace="preserve">a filled #GrlMedia</doc>
3281
 
          <type name="Media" c:type="GrlMedia*"/>
3282
 
        </return-value>
3283
 
        <parameters>
3284
 
          <parameter name="media" transfer-ownership="none" allow-none="1">
3285
 
            <doc xml:whitespace="preserve">a data transfer object</doc>
3286
 
            <type name="Media" c:type="GrlMedia*"/>
3287
 
          </parameter>
3288
 
          <parameter name="keys" transfer-ownership="none">
3289
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID&lt;!-- --&gt;s to request</doc>
3290
 
            <type name="GLib.List" c:type="GList*">
3291
 
              <type name="GObject.ParamSpec"/>
3292
 
            </type>
3293
 
          </parameter>
3294
 
          <parameter name="flags" transfer-ownership="none">
3295
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3296
 
            <type name="MetadataResolutionFlags"
3297
 
                  c:type="GrlMetadataResolutionFlags"/>
3298
 
          </parameter>
3299
 
        </parameters>
3300
 
      </method>
3301
 
      <method name="notify_change"
3302
 
              c:identifier="grl_media_source_notify_change"
3303
 
              version="0.1.9">
3304
 
        <doc xml:whitespace="preserve">Emits "content-changed" signal to notify subscribers that a change ocurred
3305
 
in @source.
3306
 
 
3307
 
See #grl_media_source_notify_change_list() function.
3308
 
 
3309
 
&lt;note&gt;
3310
 
&lt;para&gt;
3311
 
This function is intended to be used only by plugins.
3312
 
&lt;/para&gt;
3313
 
&lt;/note&gt;</doc>
3314
 
        <return-value transfer-ownership="none">
3315
 
          <type name="none" c:type="void"/>
3316
 
        </return-value>
3317
 
        <parameters>
3318
 
          <parameter name="media" transfer-ownership="none" allow-none="1">
3319
 
            <doc xml:whitespace="preserve">the media which has changed, or @NULL to use the root box.</doc>
3320
 
            <type name="Media" c:type="GrlMedia*"/>
3321
 
          </parameter>
3322
 
          <parameter name="change_type" transfer-ownership="none">
3323
 
            <doc xml:whitespace="preserve">the type of change</doc>
3324
 
            <type name="MediaSourceChangeType"
3325
 
                  c:type="GrlMediaSourceChangeType"/>
3326
 
          </parameter>
3327
 
          <parameter name="location_unknown" transfer-ownership="none">
3328
 
            <doc xml:whitespace="preserve">if change has happened in @media or any descendant</doc>
3329
 
            <type name="gboolean" c:type="gboolean"/>
3330
 
          </parameter>
3331
 
        </parameters>
3332
 
      </method>
3333
 
      <method name="notify_change_list"
3334
 
              c:identifier="grl_media_source_notify_change_list"
3335
 
              version="0.1.14">
3336
 
        <doc xml:whitespace="preserve">Emits "content-changed" signal to notify subscribers that a change ocurred
3337
 
in @source.
3338
 
 
3339
 
The function will take ownership of @changed medias and it should not be
3340
 
manipulated in any way by the caller after invoking this function. If that is
3341
 
needed, the caller must ref the array in advance.
3342
 
 
3343
 
See GrlMediaSource::content-changed signal.
3344
 
 
3345
 
&lt;note&gt;
3346
 
&lt;para&gt;
3347
 
This function is intended to be used only by plugins.
3348
 
&lt;/para&gt;
3349
 
&lt;/note&gt;</doc>
3350
 
        <return-value transfer-ownership="none">
3351
 
          <type name="none" c:type="void"/>
3352
 
        </return-value>
3353
 
        <parameters>
3354
 
          <parameter name="changed_medias" transfer-ownership="full">
3355
 
            <doc xml:whitespace="preserve">: the list of medias that have changed</doc>
3356
 
            <array name="GLib.PtrArray" c:type="GPtrArray*">
3357
 
              <type name="Media"/>
3358
 
            </array>
3359
 
          </parameter>
3360
 
          <parameter name="change_type" transfer-ownership="none">
3361
 
            <doc xml:whitespace="preserve">the type of change</doc>
3362
 
            <type name="MediaSourceChangeType"
3363
 
                  c:type="GrlMediaSourceChangeType"/>
3364
 
          </parameter>
3365
 
          <parameter name="location_unknown" transfer-ownership="none">
3366
 
            <doc xml:whitespace="preserve">if change has happpened in @media or any descendant</doc>
3367
 
            <type name="gboolean" c:type="gboolean"/>
3368
 
          </parameter>
3369
 
        </parameters>
3370
 
      </method>
3371
 
      <method name="notify_change_start"
3372
 
              c:identifier="grl_media_source_notify_change_start"
3373
 
              version="0.1.9"
3374
 
              throws="1">
3375
 
        <doc xml:whitespace="preserve">Starts emitting ::content-changed signals when @source discovers changes in
3376
 
the content. This instructs @source to setup the machinery needed to be aware
3377
 
of changes in the content.</doc>
3378
 
        <return-value transfer-ownership="none">
3379
 
          <doc xml:whitespace="preserve">@TRUE if initialization has succeed.</doc>
3380
 
          <type name="gboolean" c:type="gboolean"/>
3381
 
        </return-value>
3382
 
      </method>
3383
 
      <method name="notify_change_stop"
3384
 
              c:identifier="grl_media_source_notify_change_stop"
3385
 
              version="0.1.9"
3386
 
              throws="1">
3387
 
        <doc xml:whitespace="preserve">This will drop emission of ::content-changed signals from @source. When this
3388
 
is done @source should stop the machinery required for it to track changes in
3389
 
the content.</doc>
3390
 
        <return-value transfer-ownership="none">
3391
 
          <doc xml:whitespace="preserve">@TRUE if stop has succeed.</doc>
3392
 
          <type name="gboolean" c:type="gboolean"/>
3393
 
        </return-value>
3394
 
      </method>
3395
 
      <method name="query"
3396
 
              c:identifier="grl_media_source_query"
3397
 
              version="0.1.1">
3398
 
        <doc xml:whitespace="preserve">Execute a specialized query (specific for each provider) on a media
3399
 
repository.
3400
 
 
3401
 
It is different from grl_media_source_search() semantically, because
3402
 
the query implies a carefully crafted string, rather than a simple
3403
 
string to search.
3404
 
 
3405
 
This method is asynchronous.</doc>
3406
 
        <return-value transfer-ownership="none">
3407
 
          <doc xml:whitespace="preserve">the operation identifier</doc>
3408
 
          <type name="guint" c:type="guint"/>
3409
 
        </return-value>
3410
 
        <parameters>
3411
 
          <parameter name="query" transfer-ownership="none">
3412
 
            <doc xml:whitespace="preserve">the query to process</doc>
3413
 
            <type name="utf8" c:type="gchar*"/>
3414
 
          </parameter>
3415
 
          <parameter name="keys" transfer-ownership="none">
3416
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID&lt;!-- --&gt;s to request</doc>
3417
 
            <type name="GLib.List" c:type="GList*">
3418
 
              <type name="GObject.ParamSpec"/>
3419
 
            </type>
3420
 
          </parameter>
3421
 
          <parameter name="skip" transfer-ownership="none">
3422
 
            <doc xml:whitespace="preserve">the number if elements to skip in the query operation</doc>
3423
 
            <type name="guint" c:type="guint"/>
3424
 
          </parameter>
3425
 
          <parameter name="count" transfer-ownership="none">
3426
 
            <doc xml:whitespace="preserve">the number of elements to retrieve in the query operation</doc>
3427
 
            <type name="guint" c:type="guint"/>
3428
 
          </parameter>
3429
 
          <parameter name="flags" transfer-ownership="none">
3430
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3431
 
            <type name="MetadataResolutionFlags"
3432
 
                  c:type="GrlMetadataResolutionFlags"/>
3433
 
          </parameter>
3434
 
          <parameter name="callback"
3435
 
                     transfer-ownership="none"
3436
 
                     scope="notified"
3437
 
                     closure="6">
3438
 
            <doc xml:whitespace="preserve">the user defined callback</doc>
3439
 
            <type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
3440
 
          </parameter>
3441
 
          <parameter name="user_data" transfer-ownership="none">
3442
 
            <doc xml:whitespace="preserve">the user data to pass in the callback</doc>
3443
 
            <type name="gpointer" c:type="gpointer"/>
3444
 
          </parameter>
3445
 
        </parameters>
3446
 
      </method>
3447
 
      <method name="query_sync"
3448
 
              c:identifier="grl_media_source_query_sync"
3449
 
              version="0.1.6"
3450
 
              throws="1">
3451
 
        <doc xml:whitespace="preserve">Execute a specialized query (specific for each provider) on a media
3452
 
repository.
3453
 
 
3454
 
This method is synchronous.
3455
 
 
3456
 
elements. After use g_object_unref() every element and g_list_free() the
3457
 
list.</doc>
3458
 
        <return-value transfer-ownership="full">
3459
 
          <doc xml:whitespace="preserve">a #GList with #GrlMedia</doc>
3460
 
          <type name="GLib.List" c:type="GList*">
3461
 
            <type name="Media"/>
3462
 
          </type>
3463
 
        </return-value>
3464
 
        <parameters>
3465
 
          <parameter name="query" transfer-ownership="none">
3466
 
            <doc xml:whitespace="preserve">the query to process</doc>
3467
 
            <type name="utf8" c:type="gchar*"/>
3468
 
          </parameter>
3469
 
          <parameter name="keys" transfer-ownership="none">
3470
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID&lt;!-- --&gt;s to request</doc>
3471
 
            <type name="GLib.List" c:type="GList*">
3472
 
              <type name="GObject.ParamSpec"/>
3473
 
            </type>
3474
 
          </parameter>
3475
 
          <parameter name="skip" transfer-ownership="none">
3476
 
            <doc xml:whitespace="preserve">the number if elements to skip in the query operation</doc>
3477
 
            <type name="guint" c:type="guint"/>
3478
 
          </parameter>
3479
 
          <parameter name="count" transfer-ownership="none">
3480
 
            <doc xml:whitespace="preserve">the number of elements to retrieve in the query operation</doc>
3481
 
            <type name="guint" c:type="guint"/>
3482
 
          </parameter>
3483
 
          <parameter name="flags" transfer-ownership="none">
3484
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3485
 
            <type name="MetadataResolutionFlags"
3486
 
                  c:type="GrlMetadataResolutionFlags"/>
3487
 
          </parameter>
3488
 
        </parameters>
3489
 
      </method>
3490
 
      <method name="remove"
3491
 
              c:identifier="grl_media_source_remove"
3492
 
              version="0.1.4">
3493
 
        <doc xml:whitespace="preserve">Remove a @media from the @source repository.
3494
 
 
3495
 
This method is asynchronous.</doc>
3496
 
        <return-value transfer-ownership="none">
3497
 
          <type name="none" c:type="void"/>
3498
 
        </return-value>
3499
 
        <parameters>
3500
 
          <parameter name="media" transfer-ownership="none">
3501
 
            <doc xml:whitespace="preserve">a data transfer object</doc>
3502
 
            <type name="Media" c:type="GrlMedia*"/>
3503
 
          </parameter>
3504
 
          <parameter name="callback"
3505
 
                     transfer-ownership="none"
3506
 
                     scope="notified"
3507
 
                     closure="2">
3508
 
            <doc xml:whitespace="preserve">the user defined callback</doc>
3509
 
            <type name="MediaSourceRemoveCb" c:type="GrlMediaSourceRemoveCb"/>
3510
 
          </parameter>
3511
 
          <parameter name="user_data" transfer-ownership="none">
3512
 
            <doc xml:whitespace="preserve">the user data to pass in the callback</doc>
3513
 
            <type name="gpointer" c:type="gpointer"/>
3514
 
          </parameter>
3515
 
        </parameters>
3516
 
      </method>
3517
 
      <method name="remove_sync"
3518
 
              c:identifier="grl_media_source_remove_sync"
3519
 
              version="0.1.6"
3520
 
              throws="1">
3521
 
        <doc xml:whitespace="preserve">Remove a @media from the @source repository.
3522
 
 
3523
 
This method is synchronous.</doc>
3524
 
        <return-value transfer-ownership="none">
3525
 
          <type name="none" c:type="void"/>
3526
 
        </return-value>
3527
 
        <parameters>
3528
 
          <parameter name="media" transfer-ownership="none">
3529
 
            <doc xml:whitespace="preserve">a data transfer object</doc>
3530
 
            <type name="Media" c:type="GrlMedia*"/>
3531
 
          </parameter>
3532
 
        </parameters>
3533
 
      </method>
3534
 
      <method name="search"
3535
 
              c:identifier="grl_media_source_search"
3536
 
              version="0.1.1">
3537
 
        <doc xml:whitespace="preserve">Search for the @text string in a media source for data identified with
3538
 
that string.
3539
 
 
3540
 
If @text is @NULL then no text filter will be applied, and thus, no media
3541
 
items from @source will be filtered. If @source does not support NULL-text
3542
 
search operations it should notiy the client by setting
3543
 
@GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED in @callback's error parameter.
3544
 
 
3545
 
This method is asynchronous.</doc>
3546
 
        <return-value transfer-ownership="none">
3547
 
          <doc xml:whitespace="preserve">the operation identifier</doc>
3548
 
          <type name="guint" c:type="guint"/>
3549
 
        </return-value>
3550
 
        <parameters>
3551
 
          <parameter name="text" transfer-ownership="none">
3552
 
            <doc xml:whitespace="preserve">the text to search</doc>
3553
 
            <type name="utf8" c:type="gchar*"/>
3554
 
          </parameter>
3555
 
          <parameter name="keys" transfer-ownership="none">
3556
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID&lt;!-- --&gt;s to request</doc>
3557
 
            <type name="GLib.List" c:type="GList*">
3558
 
              <type name="GObject.ParamSpec"/>
3559
 
            </type>
3560
 
          </parameter>
3561
 
          <parameter name="skip" transfer-ownership="none">
3562
 
            <doc xml:whitespace="preserve">the number if elements to skip in the search operation</doc>
3563
 
            <type name="guint" c:type="guint"/>
3564
 
          </parameter>
3565
 
          <parameter name="count" transfer-ownership="none">
3566
 
            <doc xml:whitespace="preserve">the number of elements to retrieve in the search operation</doc>
3567
 
            <type name="guint" c:type="guint"/>
3568
 
          </parameter>
3569
 
          <parameter name="flags" transfer-ownership="none">
3570
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3571
 
            <type name="MetadataResolutionFlags"
3572
 
                  c:type="GrlMetadataResolutionFlags"/>
3573
 
          </parameter>
3574
 
          <parameter name="callback"
3575
 
                     transfer-ownership="none"
3576
 
                     scope="notified"
3577
 
                     closure="6">
3578
 
            <doc xml:whitespace="preserve">the user defined callback</doc>
3579
 
            <type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
3580
 
          </parameter>
3581
 
          <parameter name="user_data" transfer-ownership="none">
3582
 
            <doc xml:whitespace="preserve">the user data to pass in the callback</doc>
3583
 
            <type name="gpointer" c:type="gpointer"/>
3584
 
          </parameter>
3585
 
        </parameters>
3586
 
      </method>
3587
 
      <method name="search_sync"
3588
 
              c:identifier="grl_media_source_search_sync"
3589
 
              version="0.1.6"
3590
 
              throws="1">
3591
 
        <doc xml:whitespace="preserve">Search for the @text string in a media source for data identified with
3592
 
that string.
3593
 
 
3594
 
If @text is @NULL then no text filter will be applied, and thus, no media
3595
 
items from @source will be filtered. If @source does not support NULL-text
3596
 
search operations it should notiy the client by setting
3597
 
@GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED in the error parameter.
3598
 
 
3599
 
This method is synchronous.
3600
 
 
3601
 
elements. After use g_object_unref() every element and g_list_free() the
3602
 
list.</doc>
3603
 
        <return-value transfer-ownership="full">
3604
 
          <doc xml:whitespace="preserve">a #GList with #GrlMedia</doc>
3605
 
          <type name="GLib.List" c:type="GList*">
3606
 
            <type name="Media"/>
3607
 
          </type>
3608
 
        </return-value>
3609
 
        <parameters>
3610
 
          <parameter name="text" transfer-ownership="none">
3611
 
            <doc xml:whitespace="preserve">the text to search</doc>
3612
 
            <type name="utf8" c:type="gchar*"/>
3613
 
          </parameter>
3614
 
          <parameter name="keys" transfer-ownership="none">
3615
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID&lt;!-- --&gt;s to request</doc>
3616
 
            <type name="GLib.List" c:type="GList*">
3617
 
              <type name="GObject.ParamSpec"/>
3618
 
            </type>
3619
 
          </parameter>
3620
 
          <parameter name="skip" transfer-ownership="none">
3621
 
            <doc xml:whitespace="preserve">the number if elements to skip in the search operation</doc>
3622
 
            <type name="guint" c:type="guint"/>
3623
 
          </parameter>
3624
 
          <parameter name="count" transfer-ownership="none">
3625
 
            <doc xml:whitespace="preserve">the number of elements to retrieve in the search operation</doc>
3626
 
            <type name="guint" c:type="guint"/>
3627
 
          </parameter>
3628
 
          <parameter name="flags" transfer-ownership="none">
3629
 
            <doc xml:whitespace="preserve">the resolution mode</doc>
3630
 
            <type name="MetadataResolutionFlags"
3631
 
                  c:type="GrlMetadataResolutionFlags"/>
3632
 
          </parameter>
3633
 
        </parameters>
3634
 
      </method>
3635
 
      <method name="set_auto_split_threshold"
3636
 
              c:identifier="grl_media_source_set_auto_split_threshold"
3637
 
              version="0.1.1">
3638
 
        <doc xml:whitespace="preserve">TBD</doc>
3639
 
        <return-value transfer-ownership="none">
3640
 
          <type name="none" c:type="void"/>
3641
 
        </return-value>
3642
 
        <parameters>
3643
 
          <parameter name="threshold" transfer-ownership="none">
3644
 
            <doc xml:whitespace="preserve">the threshold to request</doc>
3645
 
            <type name="guint" c:type="guint"/>
3646
 
          </parameter>
3647
 
        </parameters>
3648
 
      </method>
3649
 
      <method name="set_operation_data"
3650
 
              c:identifier="grl_media_source_set_operation_data"
3651
 
              version="0.1.1"
3652
 
              deprecated="Use grl_operation_set_data() instead"
3653
 
              deprecated-version="0.1.14">
3654
 
        <doc xml:whitespace="preserve">Attach a pointer to the specific operation.</doc>
3655
 
        <return-value transfer-ownership="none">
3656
 
          <type name="none" c:type="void"/>
3657
 
        </return-value>
3658
 
        <parameters>
3659
 
          <parameter name="operation_id" transfer-ownership="none">
3660
 
            <doc xml:whitespace="preserve">the identifier of a running operation</doc>
3661
 
            <type name="guint" c:type="guint"/>
3662
 
          </parameter>
3663
 
          <parameter name="data" transfer-ownership="none">
3664
 
            <doc xml:whitespace="preserve">the data to attach</doc>
3665
 
            <type name="gpointer" c:type="gpointer"/>
3666
 
          </parameter>
3667
 
        </parameters>
3668
 
      </method>
3669
 
      <method name="store"
3670
 
              c:identifier="grl_media_source_store"
3671
 
              version="0.1.4">
3672
 
        <doc xml:whitespace="preserve">Store the @media into the @parent container
3673
 
 
3674
 
This method is asynchronous.</doc>
3675
 
        <return-value transfer-ownership="none">
3676
 
          <type name="none" c:type="void"/>
3677
 
        </return-value>
3678
 
        <parameters>
3679
 
          <parameter name="parent" transfer-ownership="none" allow-none="1">
3680
 
            <doc xml:whitespace="preserve">a parent to store the data transfer objects</doc>
3681
 
            <type name="MediaBox" c:type="GrlMediaBox*"/>
3682
 
          </parameter>
3683
 
          <parameter name="media" transfer-ownership="none">
3684
 
            <doc xml:whitespace="preserve">a data transfer object</doc>
3685
 
            <type name="Media" c:type="GrlMedia*"/>
3686
 
          </parameter>
3687
 
          <parameter name="callback"
3688
 
                     transfer-ownership="none"
3689
 
                     scope="notified"
3690
 
                     closure="3">
3691
 
            <doc xml:whitespace="preserve">the user defined callback</doc>
3692
 
            <type name="MediaSourceStoreCb" c:type="GrlMediaSourceStoreCb"/>
3693
 
          </parameter>
3694
 
          <parameter name="user_data" transfer-ownership="none">
3695
 
            <doc xml:whitespace="preserve">the user data to pass in the callback</doc>
3696
 
            <type name="gpointer" c:type="gpointer"/>
3697
 
          </parameter>
3698
 
        </parameters>
3699
 
      </method>
3700
 
      <method name="store_sync"
3701
 
              c:identifier="grl_media_source_store_sync"
3702
 
              version="0.1.6"
3703
 
              throws="1">
3704
 
        <doc xml:whitespace="preserve">Store the @media into the @parent container.
3705
 
 
3706
 
This method is synchronous.</doc>
3707
 
        <return-value transfer-ownership="none">
3708
 
          <type name="none" c:type="void"/>
3709
 
        </return-value>
3710
 
        <parameters>
3711
 
          <parameter name="parent" transfer-ownership="none" allow-none="1">
3712
 
            <doc xml:whitespace="preserve">a #GrlMediaBox to store the data transfer objects</doc>
3713
 
            <type name="MediaBox" c:type="GrlMediaBox*"/>
3714
 
          </parameter>
3715
 
          <parameter name="media" transfer-ownership="none">
3716
 
            <doc xml:whitespace="preserve">a #GrlMedia data transfer object</doc>
3717
 
            <type name="Media" c:type="GrlMedia*"/>
3718
 
          </parameter>
3719
 
        </parameters>
3720
 
      </method>
3721
 
      <method name="test_media_from_uri"
3722
 
              c:identifier="grl_media_source_test_media_from_uri"
3723
 
              version="0.1.7">
3724
 
        <doc xml:whitespace="preserve">Tests whether @source can instantiate a #GrlMedia object representing
3725
 
the media resource exposed at @uri.
3726
 
 
3727
 
 
3728
 
This method is synchronous.</doc>
3729
 
        <return-value transfer-ownership="none">
3730
 
          <doc xml:whitespace="preserve">%TRUE if it can, %FALSE otherwise.</doc>
3731
 
          <type name="gboolean" c:type="gboolean"/>
3732
 
        </return-value>
3733
 
        <parameters>
3734
 
          <parameter name="uri" transfer-ownership="none">
3735
 
            <doc xml:whitespace="preserve">A URI that can be used to identify a media resource</doc>
3736
 
            <type name="utf8" c:type="gchar*"/>
3737
 
          </parameter>
3738
 
        </parameters>
3739
 
      </method>
3740
 
      <property name="auto-split-threshold"
3741
 
                writable="1"
3742
 
                transfer-ownership="none">
3743
 
        <doc xml:whitespace="preserve">Transparently split queries with count requests
3744
 
bigger than a certain threshold into smaller queries.</doc>
3745
 
        <type name="guint"/>
3746
 
      </property>
3747
 
      <field name="parent">
3748
 
        <type name="MetadataSource" c:type="GrlMetadataSource"/>
3749
 
      </field>
3750
 
      <field name="priv" readable="0" private="1">
3751
 
        <type name="MediaSourcePrivate" c:type="GrlMediaSourcePrivate*"/>
3752
 
      </field>
3753
 
      <field name="_grl_reserved" readable="0" private="1">
3754
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
3755
 
          <type name="gpointer" c:type="gpointer"/>
3756
 
        </array>
3757
 
      </field>
3758
 
      <glib:signal name="content-changed"
3759
 
                   when="first"
3760
 
                   action="1"
3761
 
                   version="0.1.9">
3762
 
        <doc xml:whitespace="preserve">Signals that the content in the source has changed. @changed_medias is the
3763
 
list of elements that have changed. Usually these medias are of type
3764
 
#GrlMediaBox, meaning that the content of that box has changed.
3765
 
 
3766
 
If @location_unknown is @TRUE it means the source cannot establish where the
3767
 
change happened: could be either in the box, in any child, or in any other
3768
 
descendant of the box in the hierarchy.
3769
 
 
3770
 
Both @change_type and @location_unknown are applied to all elements in the
3771
 
list.
3772
 
 
3773
 
For the cases where the source can only signal that a change happened, but
3774
 
not where, it would use a list with the the root box (@NULL id) and set
3775
 
location_unknown as @TRUE.</doc>
3776
 
        <return-value transfer-ownership="none">
3777
 
          <type name="none"/>
3778
 
        </return-value>
3779
 
        <parameters>
3780
 
          <parameter name="changed_medias" transfer-ownership="none">
3781
 
            <doc xml:whitespace="preserve">a #GPtrArray with the medias that changed or a common ancestor of them of type #GrlMediaBox.</doc>
3782
 
            <array name="GLib.PtrArray">
3783
 
              <type name="gpointer" c:type="gpointer"/>
3784
 
            </array>
3785
 
          </parameter>
3786
 
          <parameter name="change_type" transfer-ownership="none">
3787
 
            <doc xml:whitespace="preserve">the kind of change that ocurred</doc>
3788
 
            <type name="MediaSourceChangeType"/>
3789
 
          </parameter>
3790
 
          <parameter name="location_unknown" transfer-ownership="none">
3791
 
            <doc xml:whitespace="preserve">@TRUE if the change happened in @media itself or in one of its direct children (when @media is a #GrlMediaBox). @FALSE otherwise</doc>
3792
 
            <type name="gboolean"/>
3793
 
          </parameter>
3794
 
        </parameters>
3795
 
      </glib:signal>
3796
 
    </class>
3797
 
    <record name="MediaSourceBrowseSpec" c:type="GrlMediaSourceBrowseSpec">
3798
 
      <doc xml:whitespace="preserve">Data transport structure used internally by the plugins which support
3799
 
browse vmethod.</doc>
3800
 
      <field name="source" writable="1">
3801
 
        <type name="MediaSource" c:type="GrlMediaSource*"/>
3802
 
      </field>
3803
 
      <field name="browse_id" writable="1">
3804
 
        <type name="guint" c:type="guint"/>
3805
 
      </field>
3806
 
      <field name="container" writable="1">
3807
 
        <type name="Media" c:type="GrlMedia*"/>
3808
 
      </field>
3809
 
      <field name="keys" writable="1">
3810
 
        <type name="GLib.List" c:type="GList*">
3811
 
          <type name="gpointer" c:type="gpointer"/>
3812
 
        </type>
3813
 
      </field>
3814
 
      <field name="skip" writable="1">
3815
 
        <type name="guint" c:type="guint"/>
3816
 
      </field>
3817
 
      <field name="count" writable="1">
3818
 
        <type name="guint" c:type="guint"/>
3819
 
      </field>
3820
 
      <field name="flags" writable="1">
3821
 
        <type name="MetadataResolutionFlags"
3822
 
              c:type="GrlMetadataResolutionFlags"/>
3823
 
      </field>
3824
 
      <field name="callback" writable="1">
3825
 
        <type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
3826
 
      </field>
3827
 
      <field name="user_data" writable="1">
3828
 
        <type name="gpointer" c:type="gpointer"/>
3829
 
      </field>
3830
 
      <field name="_grl_reserved" readable="0" private="1">
3831
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
3832
 
          <type name="gpointer" c:type="gpointer"/>
3833
 
        </array>
3834
 
      </field>
3835
 
    </record>
3836
 
    <enumeration name="MediaSourceChangeType"
3837
 
                 glib:type-name="GrlMediaSourceChangeType"
3838
 
                 glib:get-type="grl_media_source_change_type_get_type"
3839
 
                 c:type="GrlMediaSourceChangeType">
3840
 
      <doc xml:whitespace="preserve">Specifies which kind of change has happened in the plugin</doc>
3841
 
      <member name="changed"
3842
 
              value="0"
3843
 
              c:identifier="GRL_CONTENT_CHANGED"
3844
 
              glib:nick="changed"/>
3845
 
      <member name="added"
3846
 
              value="1"
3847
 
              c:identifier="GRL_CONTENT_ADDED"
3848
 
              glib:nick="added"/>
3849
 
      <member name="removed"
3850
 
              value="2"
3851
 
              c:identifier="GRL_CONTENT_REMOVED"
3852
 
              glib:nick="removed"/>
3853
 
    </enumeration>
3854
 
    <record name="MediaSourceClass"
3855
 
            c:type="GrlMediaSourceClass"
3856
 
            glib:is-gtype-struct-for="MediaSource">
3857
 
      <doc xml:whitespace="preserve">Grilo MediaSource class. Override the vmethods to implement the
3858
 
source functionality.</doc>
3859
 
      <field name="parent_class">
3860
 
        <type name="MetadataSourceClass" c:type="GrlMetadataSourceClass"/>
3861
 
      </field>
3862
 
      <field name="browse">
3863
 
        <callback name="browse">
3864
 
          <return-value transfer-ownership="none">
3865
 
            <type name="none" c:type="void"/>
3866
 
          </return-value>
3867
 
          <parameters>
3868
 
            <parameter name="source" transfer-ownership="none">
3869
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
3870
 
            </parameter>
3871
 
            <parameter name="bs" transfer-ownership="none">
3872
 
              <type name="MediaSourceBrowseSpec"
3873
 
                    c:type="GrlMediaSourceBrowseSpec*"/>
3874
 
            </parameter>
3875
 
          </parameters>
3876
 
        </callback>
3877
 
      </field>
3878
 
      <field name="search">
3879
 
        <callback name="search">
3880
 
          <return-value transfer-ownership="none">
3881
 
            <type name="none" c:type="void"/>
3882
 
          </return-value>
3883
 
          <parameters>
3884
 
            <parameter name="source" transfer-ownership="none">
3885
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
3886
 
            </parameter>
3887
 
            <parameter name="ss" transfer-ownership="none">
3888
 
              <type name="MediaSourceSearchSpec"
3889
 
                    c:type="GrlMediaSourceSearchSpec*"/>
3890
 
            </parameter>
3891
 
          </parameters>
3892
 
        </callback>
3893
 
      </field>
3894
 
      <field name="query">
3895
 
        <callback name="query">
3896
 
          <return-value transfer-ownership="none">
3897
 
            <type name="none" c:type="void"/>
3898
 
          </return-value>
3899
 
          <parameters>
3900
 
            <parameter name="source" transfer-ownership="none">
3901
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
3902
 
            </parameter>
3903
 
            <parameter name="qs" transfer-ownership="none">
3904
 
              <type name="MediaSourceQuerySpec"
3905
 
                    c:type="GrlMediaSourceQuerySpec*"/>
3906
 
            </parameter>
3907
 
          </parameters>
3908
 
        </callback>
3909
 
      </field>
3910
 
      <field name="cancel">
3911
 
        <callback name="cancel">
3912
 
          <return-value transfer-ownership="none">
3913
 
            <type name="none" c:type="void"/>
3914
 
          </return-value>
3915
 
          <parameters>
3916
 
            <parameter name="source" transfer-ownership="none">
3917
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
3918
 
            </parameter>
3919
 
            <parameter name="operation_id" transfer-ownership="none">
3920
 
              <doc xml:whitespace="preserve">the identifier of the running operation, as returned by the function that started it</doc>
3921
 
              <type name="guint" c:type="guint"/>
3922
 
            </parameter>
3923
 
          </parameters>
3924
 
        </callback>
3925
 
      </field>
3926
 
      <field name="metadata">
3927
 
        <callback name="metadata">
3928
 
          <return-value transfer-ownership="none">
3929
 
            <type name="none" c:type="void"/>
3930
 
          </return-value>
3931
 
          <parameters>
3932
 
            <parameter name="source" transfer-ownership="none">
3933
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
3934
 
            </parameter>
3935
 
            <parameter name="ms" transfer-ownership="none">
3936
 
              <type name="MediaSourceMetadataSpec"
3937
 
                    c:type="GrlMediaSourceMetadataSpec*"/>
3938
 
            </parameter>
3939
 
          </parameters>
3940
 
        </callback>
3941
 
      </field>
3942
 
      <field name="store">
3943
 
        <callback name="store">
3944
 
          <return-value transfer-ownership="none">
3945
 
            <type name="none" c:type="void"/>
3946
 
          </return-value>
3947
 
          <parameters>
3948
 
            <parameter name="source" transfer-ownership="none">
3949
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
3950
 
            </parameter>
3951
 
            <parameter name="ss" transfer-ownership="none">
3952
 
              <type name="MediaSourceStoreSpec"
3953
 
                    c:type="GrlMediaSourceStoreSpec*"/>
3954
 
            </parameter>
3955
 
          </parameters>
3956
 
        </callback>
3957
 
      </field>
3958
 
      <field name="remove">
3959
 
        <callback name="remove">
3960
 
          <return-value transfer-ownership="none">
3961
 
            <type name="none" c:type="void"/>
3962
 
          </return-value>
3963
 
          <parameters>
3964
 
            <parameter name="source" transfer-ownership="none">
3965
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
3966
 
            </parameter>
3967
 
            <parameter name="ss" transfer-ownership="none">
3968
 
              <type name="MediaSourceRemoveSpec"
3969
 
                    c:type="GrlMediaSourceRemoveSpec*"/>
3970
 
            </parameter>
3971
 
          </parameters>
3972
 
        </callback>
3973
 
      </field>
3974
 
      <field name="test_media_from_uri">
3975
 
        <callback name="test_media_from_uri">
3976
 
          <return-value transfer-ownership="none">
3977
 
            <doc xml:whitespace="preserve">%TRUE if it can, %FALSE otherwise.</doc>
3978
 
            <type name="gboolean" c:type="gboolean"/>
3979
 
          </return-value>
3980
 
          <parameters>
3981
 
            <parameter name="source" transfer-ownership="none">
3982
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
3983
 
            </parameter>
3984
 
            <parameter name="uri" transfer-ownership="none">
3985
 
              <doc xml:whitespace="preserve">A URI that can be used to identify a media resource</doc>
3986
 
              <type name="utf8" c:type="gchar*"/>
3987
 
            </parameter>
3988
 
          </parameters>
3989
 
        </callback>
3990
 
      </field>
3991
 
      <field name="media_from_uri">
3992
 
        <callback name="media_from_uri">
3993
 
          <return-value transfer-ownership="none">
3994
 
            <type name="none" c:type="void"/>
3995
 
          </return-value>
3996
 
          <parameters>
3997
 
            <parameter name="source" transfer-ownership="none">
3998
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
3999
 
            </parameter>
4000
 
            <parameter name="mfss" transfer-ownership="none">
4001
 
              <type name="MediaSourceMediaFromUriSpec"
4002
 
                    c:type="GrlMediaSourceMediaFromUriSpec*"/>
4003
 
            </parameter>
4004
 
          </parameters>
4005
 
        </callback>
4006
 
      </field>
4007
 
      <field name="notify_change_start">
4008
 
        <callback name="notify_change_start" throws="1">
4009
 
          <return-value transfer-ownership="none">
4010
 
            <doc xml:whitespace="preserve">@TRUE if initialization has succeed.</doc>
4011
 
            <type name="gboolean" c:type="gboolean"/>
4012
 
          </return-value>
4013
 
          <parameters>
4014
 
            <parameter name="source" transfer-ownership="none">
4015
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
4016
 
            </parameter>
4017
 
          </parameters>
4018
 
        </callback>
4019
 
      </field>
4020
 
      <field name="notify_change_stop">
4021
 
        <callback name="notify_change_stop" throws="1">
4022
 
          <return-value transfer-ownership="none">
4023
 
            <doc xml:whitespace="preserve">@TRUE if stop has succeed.</doc>
4024
 
            <type name="gboolean" c:type="gboolean"/>
4025
 
          </return-value>
4026
 
          <parameters>
4027
 
            <parameter name="source" transfer-ownership="none">
4028
 
              <type name="MediaSource" c:type="GrlMediaSource*"/>
4029
 
            </parameter>
4030
 
          </parameters>
4031
 
        </callback>
4032
 
      </field>
4033
 
      <field name="_grl_reserved" readable="0" private="1">
4034
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="15">
4035
 
          <type name="gpointer" c:type="gpointer"/>
4036
 
        </array>
4037
 
      </field>
4038
 
    </record>
4039
 
    <record name="MediaSourceMediaFromUriSpec"
4040
 
            c:type="GrlMediaSourceMediaFromUriSpec">
4041
 
      <doc xml:whitespace="preserve">Data transport structure used internally by the plugins which support
4042
 
media_from_uri vmethod.</doc>
4043
 
      <field name="source" writable="1">
4044
 
        <type name="MediaSource" c:type="GrlMediaSource*"/>
4045
 
      </field>
4046
 
      <field name="media_from_uri_id" writable="1">
4047
 
        <type name="guint" c:type="guint"/>
4048
 
      </field>
4049
 
      <field name="uri" writable="1">
4050
 
        <type name="utf8" c:type="gchar*"/>
4051
 
      </field>
4052
 
      <field name="keys" writable="1">
4053
 
        <type name="GLib.List" c:type="GList*">
4054
 
          <type name="gpointer" c:type="gpointer"/>
4055
 
        </type>
4056
 
      </field>
4057
 
      <field name="flags" writable="1">
4058
 
        <type name="MetadataResolutionFlags"
4059
 
              c:type="GrlMetadataResolutionFlags"/>
4060
 
      </field>
4061
 
      <field name="callback" writable="1">
4062
 
        <type name="MediaSourceMetadataCb" c:type="GrlMediaSourceMetadataCb"/>
4063
 
      </field>
4064
 
      <field name="user_data" writable="1">
4065
 
        <type name="gpointer" c:type="gpointer"/>
4066
 
      </field>
4067
 
      <field name="_grl_reserved" readable="0" private="1">
4068
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="15">
4069
 
          <type name="gpointer" c:type="gpointer"/>
4070
 
        </array>
4071
 
      </field>
4072
 
    </record>
4073
 
    <callback name="MediaSourceMetadataCb" c:type="GrlMediaSourceMetadataCb">
4074
 
      <doc xml:whitespace="preserve">Prototype for the callback passed to grl_media_source_metadata()</doc>
4075
 
      <return-value transfer-ownership="none">
4076
 
        <type name="none" c:type="void"/>
4077
 
      </return-value>
4078
 
      <parameters>
4079
 
        <parameter name="source" transfer-ownership="none">
4080
 
          <doc xml:whitespace="preserve">a media source</doc>
4081
 
          <type name="MediaSource" c:type="GrlMediaSource*"/>
4082
 
        </parameter>
4083
 
        <parameter name="operation_id" transfer-ownership="none">
4084
 
          <doc xml:whitespace="preserve">operation identifier</doc>
4085
 
          <type name="guint" c:type="guint"/>
4086
 
        </parameter>
4087
 
        <parameter name="media" transfer-ownership="full">
4088
 
          <doc xml:whitespace="preserve">a data transfer object</doc>
4089
 
          <type name="Media" c:type="GrlMedia*"/>
4090
 
        </parameter>
4091
 
        <parameter name="user_data" transfer-ownership="none" closure="3">
4092
 
          <doc xml:whitespace="preserve">user data passed to grl_media_source_metadata()</doc>
4093
 
          <type name="gpointer" c:type="gpointer"/>
4094
 
        </parameter>
4095
 
        <parameter name="error" transfer-ownership="none">
4096
 
          <doc xml:whitespace="preserve">possible #GError generated at processing</doc>
4097
 
          <type name="guint" c:type="GError*"/>
4098
 
        </parameter>
4099
 
      </parameters>
4100
 
    </callback>
4101
 
    <record name="MediaSourceMetadataSpec" c:type="GrlMediaSourceMetadataSpec">
4102
 
      <doc xml:whitespace="preserve">Data transport structure used internally by the plugins which support
4103
 
metadata vmethod.</doc>
4104
 
      <field name="source" writable="1">
4105
 
        <type name="MediaSource" c:type="GrlMediaSource*"/>
4106
 
      </field>
4107
 
      <field name="metadata_id" writable="1">
4108
 
        <type name="guint" c:type="guint"/>
4109
 
      </field>
4110
 
      <field name="media" writable="1">
4111
 
        <type name="Media" c:type="GrlMedia*"/>
4112
 
      </field>
4113
 
      <field name="keys" writable="1">
4114
 
        <type name="GLib.List" c:type="GList*">
4115
 
          <type name="gpointer" c:type="gpointer"/>
4116
 
        </type>
4117
 
      </field>
4118
 
      <field name="flags" writable="1">
4119
 
        <type name="MetadataResolutionFlags"
4120
 
              c:type="GrlMetadataResolutionFlags"/>
4121
 
      </field>
4122
 
      <field name="callback" writable="1">
4123
 
        <type name="MediaSourceMetadataCb" c:type="GrlMediaSourceMetadataCb"/>
4124
 
      </field>
4125
 
      <field name="user_data" writable="1">
4126
 
        <type name="gpointer" c:type="gpointer"/>
4127
 
      </field>
4128
 
      <field name="_grl_reserved" readable="0" private="1">
4129
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
4130
 
          <type name="gpointer" c:type="gpointer"/>
4131
 
        </array>
4132
 
      </field>
4133
 
    </record>
4134
 
    <record name="MediaSourcePrivate"
4135
 
            c:type="GrlMediaSourcePrivate"
4136
 
            disguised="1">
4137
 
    </record>
4138
 
    <record name="MediaSourceQuerySpec" c:type="GrlMediaSourceQuerySpec">
4139
 
      <doc xml:whitespace="preserve">Data transport structure used internally by the plugins which support
4140
 
query vmethod.</doc>
4141
 
      <field name="source" writable="1">
4142
 
        <type name="MediaSource" c:type="GrlMediaSource*"/>
4143
 
      </field>
4144
 
      <field name="query_id" writable="1">
4145
 
        <type name="guint" c:type="guint"/>
4146
 
      </field>
4147
 
      <field name="query" writable="1">
4148
 
        <type name="utf8" c:type="gchar*"/>
4149
 
      </field>
4150
 
      <field name="keys" writable="1">
4151
 
        <type name="GLib.List" c:type="GList*">
4152
 
          <type name="gpointer" c:type="gpointer"/>
4153
 
        </type>
4154
 
      </field>
4155
 
      <field name="skip" writable="1">
4156
 
        <type name="guint" c:type="guint"/>
4157
 
      </field>
4158
 
      <field name="count" writable="1">
4159
 
        <type name="guint" c:type="guint"/>
4160
 
      </field>
4161
 
      <field name="flags" writable="1">
4162
 
        <type name="MetadataResolutionFlags"
4163
 
              c:type="GrlMetadataResolutionFlags"/>
4164
 
      </field>
4165
 
      <field name="callback" writable="1">
4166
 
        <type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
4167
 
      </field>
4168
 
      <field name="user_data" writable="1">
4169
 
        <type name="gpointer" c:type="gpointer"/>
4170
 
      </field>
4171
 
      <field name="_grl_reserved" readable="0" private="1">
4172
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
4173
 
          <type name="gpointer" c:type="gpointer"/>
4174
 
        </array>
4175
 
      </field>
4176
 
    </record>
4177
 
    <callback name="MediaSourceRemoveCb" c:type="GrlMediaSourceRemoveCb">
4178
 
      <doc xml:whitespace="preserve">Prototype for the callback passed to grl_media_source_remove()</doc>
4179
 
      <return-value transfer-ownership="none">
4180
 
        <type name="none" c:type="void"/>
4181
 
      </return-value>
4182
 
      <parameters>
4183
 
        <parameter name="source" transfer-ownership="none">
4184
 
          <doc xml:whitespace="preserve">a media source</doc>
4185
 
          <type name="MediaSource" c:type="GrlMediaSource*"/>
4186
 
        </parameter>
4187
 
        <parameter name="media" transfer-ownership="full">
4188
 
          <doc xml:whitespace="preserve">a data transfer object</doc>
4189
 
          <type name="Media" c:type="GrlMedia*"/>
4190
 
        </parameter>
4191
 
        <parameter name="user_data" transfer-ownership="none" closure="2">
4192
 
          <doc xml:whitespace="preserve">user data passed to grl_media_source_remove()</doc>
4193
 
          <type name="gpointer" c:type="gpointer"/>
4194
 
        </parameter>
4195
 
        <parameter name="error" transfer-ownership="none">
4196
 
          <doc xml:whitespace="preserve">possible #GError generated at processing</doc>
4197
 
          <type name="guint" c:type="GError*"/>
4198
 
        </parameter>
4199
 
      </parameters>
4200
 
    </callback>
4201
 
    <record name="MediaSourceRemoveSpec" c:type="GrlMediaSourceRemoveSpec">
4202
 
      <doc xml:whitespace="preserve">Data transport structure used internally by the plugins which support
4203
 
store vmethod.</doc>
4204
 
      <field name="source" writable="1">
4205
 
        <type name="MediaSource" c:type="GrlMediaSource*"/>
4206
 
      </field>
4207
 
      <field name="media_id" writable="1">
4208
 
        <type name="utf8" c:type="gchar*"/>
4209
 
      </field>
4210
 
      <field name="media" writable="1">
4211
 
        <type name="Media" c:type="GrlMedia*"/>
4212
 
      </field>
4213
 
      <field name="callback" writable="1">
4214
 
        <type name="MediaSourceRemoveCb" c:type="GrlMediaSourceRemoveCb"/>
4215
 
      </field>
4216
 
      <field name="user_data" writable="1">
4217
 
        <type name="gpointer" c:type="gpointer"/>
4218
 
      </field>
4219
 
      <field name="_grl_reserved" readable="0" private="1">
4220
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
4221
 
          <type name="gpointer" c:type="gpointer"/>
4222
 
        </array>
4223
 
      </field>
4224
 
    </record>
4225
 
    <callback name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb">
4226
 
      <doc xml:whitespace="preserve">Prototype for the callback passed to the media sources' methods</doc>
4227
 
      <return-value transfer-ownership="none">
4228
 
        <type name="none" c:type="void"/>
4229
 
      </return-value>
4230
 
      <parameters>
4231
 
        <parameter name="source" transfer-ownership="none">
4232
 
          <doc xml:whitespace="preserve">a media source</doc>
4233
 
          <type name="MediaSource" c:type="GrlMediaSource*"/>
4234
 
        </parameter>
4235
 
        <parameter name="operation_id" transfer-ownership="none">
4236
 
          <doc xml:whitespace="preserve">operation identifier</doc>
4237
 
          <type name="guint" c:type="guint"/>
4238
 
        </parameter>
4239
 
        <parameter name="media" transfer-ownership="full">
4240
 
          <doc xml:whitespace="preserve">a data transfer object</doc>
4241
 
          <type name="Media" c:type="GrlMedia*"/>
4242
 
        </parameter>
4243
 
        <parameter name="remaining" transfer-ownership="none">
4244
 
          <doc xml:whitespace="preserve">the number of remaining #GrlMedia to process, or GRL_SOURCE_REMAINING_UNKNOWN if it is unknown</doc>
4245
 
          <type name="guint" c:type="guint"/>
4246
 
        </parameter>
4247
 
        <parameter name="user_data" transfer-ownership="none" closure="4">
4248
 
          <doc xml:whitespace="preserve">user data passed to the used method</doc>
4249
 
          <type name="gpointer" c:type="gpointer"/>
4250
 
        </parameter>
4251
 
        <parameter name="error" transfer-ownership="none">
4252
 
          <doc xml:whitespace="preserve">possible #GError generated at processing</doc>
4253
 
          <type name="guint" c:type="GError*"/>
4254
 
        </parameter>
4255
 
      </parameters>
4256
 
    </callback>
4257
 
    <record name="MediaSourceSearchSpec" c:type="GrlMediaSourceSearchSpec">
4258
 
      <doc xml:whitespace="preserve">Data transport structure used internally by the plugins which support
4259
 
search vmethod.</doc>
4260
 
      <field name="source" writable="1">
4261
 
        <type name="MediaSource" c:type="GrlMediaSource*"/>
4262
 
      </field>
4263
 
      <field name="search_id" writable="1">
4264
 
        <type name="guint" c:type="guint"/>
4265
 
      </field>
4266
 
      <field name="text" writable="1">
4267
 
        <type name="utf8" c:type="gchar*"/>
4268
 
      </field>
4269
 
      <field name="keys" writable="1">
4270
 
        <type name="GLib.List" c:type="GList*">
4271
 
          <type name="gpointer" c:type="gpointer"/>
4272
 
        </type>
4273
 
      </field>
4274
 
      <field name="skip" writable="1">
4275
 
        <type name="guint" c:type="guint"/>
4276
 
      </field>
4277
 
      <field name="count" writable="1">
4278
 
        <type name="guint" c:type="guint"/>
4279
 
      </field>
4280
 
      <field name="flags" writable="1">
4281
 
        <type name="MetadataResolutionFlags"
4282
 
              c:type="GrlMetadataResolutionFlags"/>
4283
 
      </field>
4284
 
      <field name="callback" writable="1">
4285
 
        <type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
4286
 
      </field>
4287
 
      <field name="user_data" writable="1">
4288
 
        <type name="gpointer" c:type="gpointer"/>
4289
 
      </field>
4290
 
      <field name="_grl_reserved" readable="0" private="1">
4291
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
4292
 
          <type name="gpointer" c:type="gpointer"/>
4293
 
        </array>
4294
 
      </field>
4295
 
    </record>
4296
 
    <callback name="MediaSourceStoreCb" c:type="GrlMediaSourceStoreCb">
4297
 
      <doc xml:whitespace="preserve">Prototype for the callback passed to grl_media_source_store()</doc>
4298
 
      <return-value transfer-ownership="none">
4299
 
        <type name="none" c:type="void"/>
4300
 
      </return-value>
4301
 
      <parameters>
4302
 
        <parameter name="source" transfer-ownership="none">
4303
 
          <doc xml:whitespace="preserve">a media source</doc>
4304
 
          <type name="MediaSource" c:type="GrlMediaSource*"/>
4305
 
        </parameter>
4306
 
        <parameter name="parent" transfer-ownership="none">
4307
 
          <doc xml:whitespace="preserve">The #GrlMediaBox who parents the @media</doc>
4308
 
          <type name="MediaBox" c:type="GrlMediaBox*"/>
4309
 
        </parameter>
4310
 
        <parameter name="media" transfer-ownership="full">
4311
 
          <doc xml:whitespace="preserve">a data transfer object</doc>
4312
 
          <type name="Media" c:type="GrlMedia*"/>
4313
 
        </parameter>
4314
 
        <parameter name="user_data" transfer-ownership="none" closure="3">
4315
 
          <doc xml:whitespace="preserve">user data passed to grl_media_source_store()</doc>
4316
 
          <type name="gpointer" c:type="gpointer"/>
4317
 
        </parameter>
4318
 
        <parameter name="error" transfer-ownership="none">
4319
 
          <doc xml:whitespace="preserve">possible #GError generated at processing</doc>
4320
 
          <type name="guint" c:type="GError*"/>
4321
 
        </parameter>
4322
 
      </parameters>
4323
 
    </callback>
4324
 
    <record name="MediaSourceStoreSpec" c:type="GrlMediaSourceStoreSpec">
4325
 
      <doc xml:whitespace="preserve">Data transport structure used internally by the plugins which support
4326
 
store vmethod.</doc>
4327
 
      <field name="source" writable="1">
4328
 
        <type name="MediaSource" c:type="GrlMediaSource*"/>
4329
 
      </field>
4330
 
      <field name="parent" writable="1">
4331
 
        <type name="MediaBox" c:type="GrlMediaBox*"/>
4332
 
      </field>
4333
 
      <field name="media" writable="1">
4334
 
        <type name="Media" c:type="GrlMedia*"/>
4335
 
      </field>
4336
 
      <field name="callback" writable="1">
4337
 
        <type name="MediaSourceStoreCb" c:type="GrlMediaSourceStoreCb"/>
4338
 
      </field>
4339
 
      <field name="user_data" writable="1">
4340
 
        <type name="gpointer" c:type="gpointer"/>
4341
 
      </field>
4342
 
      <field name="_grl_reserved" readable="0" private="1">
4343
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
4344
 
          <type name="gpointer" c:type="gpointer"/>
4345
 
        </array>
4346
 
      </field>
4347
 
    </record>
4348
 
    <class name="MediaVideo"
4349
 
           c:symbol-prefix="media_video"
4350
 
           c:type="GrlMediaVideo"
4351
 
           parent="Media"
4352
 
           glib:type-name="GrlMediaVideo"
4353
 
           glib:get-type="grl_media_video_get_type"
4354
 
           glib:type-struct="MediaVideoClass">
4355
 
      <constructor name="new"
4356
 
                   c:identifier="grl_media_video_new"
4357
 
                   version="0.1.4">
4358
 
        <doc xml:whitespace="preserve">Creates a new data video object.</doc>
4359
 
        <return-value transfer-ownership="full">
4360
 
          <doc xml:whitespace="preserve">a newly-allocated data video.</doc>
4361
 
          <type name="Media" c:type="GrlMedia*"/>
4362
 
        </return-value>
4363
 
      </constructor>
4364
 
      <method name="add_url_data"
4365
 
              c:identifier="grl_media_video_add_url_data"
4366
 
              version="0.1.10">
4367
 
        <doc xml:whitespace="preserve">Sets all the keys related with the URL of a media resource and adds it to
4368
 
@video (useful for resources with more than one URL).</doc>
4369
 
        <return-value transfer-ownership="none">
4370
 
          <type name="none" c:type="void"/>
4371
 
        </return-value>
4372
 
        <parameters>
4373
 
          <parameter name="url" transfer-ownership="none">
4374
 
            <doc xml:whitespace="preserve">a video's url</doc>
4375
 
            <type name="utf8" c:type="gchar*"/>
4376
 
          </parameter>
4377
 
          <parameter name="mime" transfer-ownership="none">
4378
 
            <doc xml:whitespace="preserve">video mime-type</doc>
4379
 
            <type name="utf8" c:type="gchar*"/>
4380
 
          </parameter>
4381
 
          <parameter name="framerate" transfer-ownership="none">
4382
 
            <doc xml:whitespace="preserve">video framerate, or -1 to ignore</doc>
4383
 
            <type name="gfloat" c:type="gfloat"/>
4384
 
          </parameter>
4385
 
          <parameter name="width" transfer-ownership="none">
4386
 
            <doc xml:whitespace="preserve">video width, or -1 to ignore</doc>
4387
 
            <type name="gint" c:type="gint"/>
4388
 
          </parameter>
4389
 
          <parameter name="height" transfer-ownership="none">
4390
 
            <doc xml:whitespace="preserve">video height, or -1 to ignore</doc>
4391
 
            <type name="gint" c:type="gint"/>
4392
 
          </parameter>
4393
 
        </parameters>
4394
 
      </method>
4395
 
      <method name="get_episode"
4396
 
              c:identifier="grl_media_video_get_episode"
4397
 
              version="0.1.11">
4398
 
        <return-value transfer-ownership="none">
4399
 
          <doc xml:whitespace="preserve">the episode number of the video</doc>
4400
 
          <type name="gint" c:type="gint"/>
4401
 
        </return-value>
4402
 
      </method>
4403
 
      <method name="get_framerate"
4404
 
              c:identifier="grl_media_video_get_framerate"
4405
 
              version="0.1.4">
4406
 
        <return-value transfer-ownership="none">
4407
 
          <doc xml:whitespace="preserve">the framerate of the video</doc>
4408
 
          <type name="gfloat" c:type="gfloat"/>
4409
 
        </return-value>
4410
 
      </method>
4411
 
      <method name="get_height"
4412
 
              c:identifier="grl_media_video_get_height"
4413
 
              version="0.1.4">
4414
 
        <return-value transfer-ownership="none">
4415
 
          <doc xml:whitespace="preserve">the height of the video</doc>
4416
 
          <type name="gint" c:type="gint"/>
4417
 
        </return-value>
4418
 
      </method>
4419
 
      <method name="get_season"
4420
 
              c:identifier="grl_media_video_get_season"
4421
 
              version="0.1.11">
4422
 
        <return-value transfer-ownership="none">
4423
 
          <doc xml:whitespace="preserve">the season number of the video</doc>
4424
 
          <type name="gint" c:type="gint"/>
4425
 
        </return-value>
4426
 
      </method>
4427
 
      <method name="get_show"
4428
 
              c:identifier="grl_media_video_get_show"
4429
 
              version="0.1.11">
4430
 
        <return-value transfer-ownership="none">
4431
 
          <doc xml:whitespace="preserve">the show title of the video</doc>
4432
 
          <type name="utf8" c:type="gchar*"/>
4433
 
        </return-value>
4434
 
      </method>
4435
 
      <method name="get_url_data"
4436
 
              c:identifier="grl_media_video_get_url_data"
4437
 
              version="0.1.10">
4438
 
        <return-value transfer-ownership="none">
4439
 
          <doc xml:whitespace="preserve">all the keys related with the URL of a video resource in one go.</doc>
4440
 
          <type name="utf8" c:type="gchar*"/>
4441
 
        </return-value>
4442
 
        <parameters>
4443
 
          <parameter name="mime"
4444
 
                     direction="out"
4445
 
                     caller-allocates="0"
4446
 
                     transfer-ownership="none">
4447
 
            <doc xml:whitespace="preserve">the url mime-type, or %NULL to ignore</doc>
4448
 
            <type name="utf8" c:type="gchar**"/>
4449
 
          </parameter>
4450
 
          <parameter name="framerate" transfer-ownership="none">
4451
 
            <doc xml:whitespace="preserve">the url framerate, or %NULL to ignore</doc>
4452
 
            <type name="gfloat" c:type="gfloat*"/>
4453
 
          </parameter>
4454
 
          <parameter name="width" transfer-ownership="none">
4455
 
            <doc xml:whitespace="preserve">the url width, or %NULL to ignore</doc>
4456
 
            <type name="gint" c:type="gint*"/>
4457
 
          </parameter>
4458
 
          <parameter name="height" transfer-ownership="none">
4459
 
            <doc xml:whitespace="preserve">the url height, or %NULL to ignore</doc>
4460
 
            <type name="gint" c:type="gint*"/>
4461
 
          </parameter>
4462
 
        </parameters>
4463
 
      </method>
4464
 
      <method name="get_url_data_nth"
4465
 
              c:identifier="grl_media_video_get_url_data_nth"
4466
 
              version="0.1.10">
4467
 
        <doc xml:whitespace="preserve">in one go.</doc>
4468
 
        <return-value transfer-ownership="none">
4469
 
          <doc xml:whitespace="preserve">all the keys related with the URL number @index of a video resource</doc>
4470
 
          <type name="utf8" c:type="gchar*"/>
4471
 
        </return-value>
4472
 
        <parameters>
4473
 
          <parameter name="index" transfer-ownership="none">
4474
 
            <doc xml:whitespace="preserve">element to retrieve</doc>
4475
 
            <type name="guint" c:type="guint"/>
4476
 
          </parameter>
4477
 
          <parameter name="mime"
4478
 
                     direction="out"
4479
 
                     caller-allocates="0"
4480
 
                     transfer-ownership="none">
4481
 
            <doc xml:whitespace="preserve">the url mime-type, or %NULL to ignore</doc>
4482
 
            <type name="utf8" c:type="gchar**"/>
4483
 
          </parameter>
4484
 
          <parameter name="framerate" transfer-ownership="none">
4485
 
            <doc xml:whitespace="preserve">the url framerate, or %NULL to ignore</doc>
4486
 
            <type name="gfloat" c:type="gfloat*"/>
4487
 
          </parameter>
4488
 
          <parameter name="width" transfer-ownership="none">
4489
 
            <doc xml:whitespace="preserve">the url width, or %NULL to ignore</doc>
4490
 
            <type name="gint" c:type="gint*"/>
4491
 
          </parameter>
4492
 
          <parameter name="height" transfer-ownership="none">
4493
 
            <doc xml:whitespace="preserve">the url height, or %NULL to ignore</doc>
4494
 
            <type name="gint" c:type="gint*"/>
4495
 
          </parameter>
4496
 
        </parameters>
4497
 
      </method>
4498
 
      <method name="get_width"
4499
 
              c:identifier="grl_media_video_get_width"
4500
 
              version="0.1.4">
4501
 
        <return-value transfer-ownership="none">
4502
 
          <doc xml:whitespace="preserve">the width of the video</doc>
4503
 
          <type name="gint" c:type="gint"/>
4504
 
        </return-value>
4505
 
      </method>
4506
 
      <method name="set_episode"
4507
 
              c:identifier="grl_media_video_set_episode"
4508
 
              version="0.1.11">
4509
 
        <doc xml:whitespace="preserve">Sets the episode number of the video</doc>
4510
 
        <return-value transfer-ownership="none">
4511
 
          <type name="none" c:type="void"/>
4512
 
        </return-value>
4513
 
        <parameters>
4514
 
          <parameter name="episode" transfer-ownership="none">
4515
 
            <doc xml:whitespace="preserve">the video's episode</doc>
4516
 
            <type name="gint" c:type="gint"/>
4517
 
          </parameter>
4518
 
        </parameters>
4519
 
      </method>
4520
 
      <method name="set_framerate"
4521
 
              c:identifier="grl_media_video_set_framerate"
4522
 
              version="0.1.4">
4523
 
        <doc xml:whitespace="preserve">Set the framerate of the video</doc>
4524
 
        <return-value transfer-ownership="none">
4525
 
          <type name="none" c:type="void"/>
4526
 
        </return-value>
4527
 
        <parameters>
4528
 
          <parameter name="framerate" transfer-ownership="none">
4529
 
            <doc xml:whitespace="preserve">the video's framerate</doc>
4530
 
            <type name="gfloat" c:type="gfloat"/>
4531
 
          </parameter>
4532
 
        </parameters>
4533
 
      </method>
4534
 
      <method name="set_height"
4535
 
              c:identifier="grl_media_video_set_height"
4536
 
              version="0.1.4">
4537
 
        <doc xml:whitespace="preserve">Set the height of the video</doc>
4538
 
        <return-value transfer-ownership="none">
4539
 
          <type name="none" c:type="void"/>
4540
 
        </return-value>
4541
 
        <parameters>
4542
 
          <parameter name="height" transfer-ownership="none">
4543
 
            <doc xml:whitespace="preserve">the video's height</doc>
4544
 
            <type name="gint" c:type="gint"/>
4545
 
          </parameter>
4546
 
        </parameters>
4547
 
      </method>
4548
 
      <method name="set_season"
4549
 
              c:identifier="grl_media_video_set_season"
4550
 
              version="0.1.11">
4551
 
        <doc xml:whitespace="preserve">Sets the season number of the video</doc>
4552
 
        <return-value transfer-ownership="none">
4553
 
          <type name="none" c:type="void"/>
4554
 
        </return-value>
4555
 
        <parameters>
4556
 
          <parameter name="season" transfer-ownership="none">
4557
 
            <doc xml:whitespace="preserve">the video's season</doc>
4558
 
            <type name="gint" c:type="gint"/>
4559
 
          </parameter>
4560
 
        </parameters>
4561
 
      </method>
4562
 
      <method name="set_show"
4563
 
              c:identifier="grl_media_video_set_show"
4564
 
              version="0.1.11">
4565
 
        <doc xml:whitespace="preserve">Sets the show title of the video</doc>
4566
 
        <return-value transfer-ownership="none">
4567
 
          <type name="none" c:type="void"/>
4568
 
        </return-value>
4569
 
        <parameters>
4570
 
          <parameter name="show" transfer-ownership="none">
4571
 
            <doc xml:whitespace="preserve">the video's show name</doc>
4572
 
            <type name="utf8" c:type="gchar*"/>
4573
 
          </parameter>
4574
 
        </parameters>
4575
 
      </method>
4576
 
      <method name="set_size"
4577
 
              c:identifier="grl_media_video_set_size"
4578
 
              version="0.1.4">
4579
 
        <doc xml:whitespace="preserve">Set the width and the height of the video</doc>
4580
 
        <return-value transfer-ownership="none">
4581
 
          <type name="none" c:type="void"/>
4582
 
        </return-value>
4583
 
        <parameters>
4584
 
          <parameter name="width" transfer-ownership="none">
4585
 
            <doc xml:whitespace="preserve">the video's width</doc>
4586
 
            <type name="gint" c:type="gint"/>
4587
 
          </parameter>
4588
 
          <parameter name="height" transfer-ownership="none">
4589
 
            <doc xml:whitespace="preserve">the video's height</doc>
4590
 
            <type name="gint" c:type="gint"/>
4591
 
          </parameter>
4592
 
        </parameters>
4593
 
      </method>
4594
 
      <method name="set_url_data"
4595
 
              c:identifier="grl_media_video_set_url_data"
4596
 
              version="0.1.10">
4597
 
        <doc xml:whitespace="preserve">Sets all the keys related with the URL of a video resource in one go.</doc>
4598
 
        <return-value transfer-ownership="none">
4599
 
          <type name="none" c:type="void"/>
4600
 
        </return-value>
4601
 
        <parameters>
4602
 
          <parameter name="url" transfer-ownership="none">
4603
 
            <doc xml:whitespace="preserve">the video's url</doc>
4604
 
            <type name="utf8" c:type="gchar*"/>
4605
 
          </parameter>
4606
 
          <parameter name="mime" transfer-ownership="none">
4607
 
            <doc xml:whitespace="preserve">video mime-type</doc>
4608
 
            <type name="utf8" c:type="gchar*"/>
4609
 
          </parameter>
4610
 
          <parameter name="framerate" transfer-ownership="none">
4611
 
            <doc xml:whitespace="preserve">video framerate, or -1 to ignore</doc>
4612
 
            <type name="gfloat" c:type="gfloat"/>
4613
 
          </parameter>
4614
 
          <parameter name="width" transfer-ownership="none">
4615
 
            <doc xml:whitespace="preserve">video width, or -1 to ignore</doc>
4616
 
            <type name="gint" c:type="gint"/>
4617
 
          </parameter>
4618
 
          <parameter name="height" transfer-ownership="none">
4619
 
            <doc xml:whitespace="preserve">video height, or -1 to ignore</doc>
4620
 
            <type name="gint" c:type="gint"/>
4621
 
          </parameter>
4622
 
        </parameters>
4623
 
      </method>
4624
 
      <method name="set_width"
4625
 
              c:identifier="grl_media_video_set_width"
4626
 
              version="0.1.4">
4627
 
        <doc xml:whitespace="preserve">Set the width of the video</doc>
4628
 
        <return-value transfer-ownership="none">
4629
 
          <type name="none" c:type="void"/>
4630
 
        </return-value>
4631
 
        <parameters>
4632
 
          <parameter name="width" transfer-ownership="none">
4633
 
            <doc xml:whitespace="preserve">the video's width</doc>
4634
 
            <type name="gint" c:type="gint"/>
4635
 
          </parameter>
4636
 
        </parameters>
4637
 
      </method>
4638
 
      <field name="parent">
4639
 
        <type name="Media" c:type="GrlMedia"/>
4640
 
      </field>
4641
 
      <field name="_grl_reserved" readable="0" private="1">
4642
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
4643
 
          <type name="gpointer" c:type="gpointer"/>
4644
 
        </array>
4645
 
      </field>
4646
 
    </class>
4647
 
    <record name="MediaVideoClass"
4648
 
            c:type="GrlMediaVideoClass"
4649
 
            glib:is-gtype-struct-for="MediaVideo">
4650
 
      <doc xml:whitespace="preserve">Grilo Media video Class</doc>
4651
 
      <field name="parent_class">
4652
 
        <type name="MediaClass" c:type="GrlMediaClass"/>
4653
 
      </field>
4654
 
      <field name="_grl_reserved" readable="0" private="1">
4655
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
4656
 
          <type name="gpointer" c:type="gpointer"/>
4657
 
        </array>
4658
 
      </field>
4659
 
    </record>
4660
 
    <bitfield name="MetadataResolutionFlags"
4661
 
              c:type="GrlMetadataResolutionFlags">
4662
 
      <doc xml:whitespace="preserve">GrlMetadata resolution flags</doc>
4663
 
      <member name="normal" value="0" c:identifier="GRL_RESOLVE_NORMAL"/>
4664
 
      <member name="full" value="1" c:identifier="GRL_RESOLVE_FULL"/>
4665
 
      <member name="idle_relay"
4666
 
              value="2"
4667
 
              c:identifier="GRL_RESOLVE_IDLE_RELAY"/>
4668
 
      <member name="fast_only" value="4" c:identifier="GRL_RESOLVE_FAST_ONLY"/>
4669
 
    </bitfield>
4670
 
    <class name="MetadataSource"
4671
 
           c:symbol-prefix="metadata_source"
4672
 
           c:type="GrlMetadataSource"
4673
 
           parent="MediaPlugin"
4674
 
           abstract="1"
4675
 
           glib:type-name="GrlMetadataSource"
4676
 
           glib:get-type="grl_metadata_source_get_type"
4677
 
           glib:type-struct="MetadataSourceClass">
4678
 
      <virtual-method name="cancel"
4679
 
                      invoker="cancel"
4680
 
                      version="0.1.14"
4681
 
                      deprecated="use grl_operation_cancel() instead."
4682
 
                      deprecated-version="0.1.16">
4683
 
        <doc xml:whitespace="preserve">Cancel a running method.
4684
 
 
4685
 
The derived class must implement the cancel vmethod in order to honour the
4686
 
request correctly. Otherwise, the operation will not be interrupted.
4687
 
 
4688
 
In all cases, if this function is called on an ongoing operation, the
4689
 
corresponding callback will be called with the
4690
 
@GRL_CORE_ERROR_OPERATION_CANCELLED error set, and no more action will be
4691
 
taken for that operation after the said callback with error has been called.</doc>
4692
 
        <return-value transfer-ownership="none">
4693
 
          <type name="none" c:type="void"/>
4694
 
        </return-value>
4695
 
        <parameters>
4696
 
          <parameter name="operation_id" transfer-ownership="none">
4697
 
            <doc xml:whitespace="preserve">the identifier of the running operation, as returned by the function that started it</doc>
4698
 
            <type name="guint" c:type="guint"/>
4699
 
          </parameter>
4700
 
        </parameters>
4701
 
      </virtual-method>
4702
 
      <virtual-method name="key_depends"
4703
 
                      invoker="key_depends"
4704
 
                      version="0.1.1"
4705
 
                      deprecated="use grl_metadata_source_may_resolve() instead."
4706
 
                      deprecated-version="0.1.10">
4707
 
        <doc xml:whitespace="preserve">Get the list of #GrlKeyID which are needed a priori, in order to fetch
4708
 
and store the requested @key_id
4709
 
 
4710
 
a #GList with the keys, or @NULL if it can not resolve @key_id</doc>
4711
 
        <return-value transfer-ownership="none">
4712
 
          <type name="GLib.List" c:type="GList*">
4713
 
            <type name="GObject.ParamSpec"/>
4714
 
          </type>
4715
 
        </return-value>
4716
 
        <parameters>
4717
 
          <parameter name="key_id" transfer-ownership="none">
4718
 
            <doc xml:whitespace="preserve">the requested metadata key</doc>
4719
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
4720
 
          </parameter>
4721
 
        </parameters>
4722
 
      </virtual-method>
4723
 
      <virtual-method name="may_resolve"
4724
 
                      invoker="may_resolve"
4725
 
                      version="0.1.10">
4726
 
        <doc xml:whitespace="preserve">Checks whether @key_id may be resolved with @source for @media, so that the
4727
 
caller can avoid calling grl_metadata_source_resolve() if it can be known in
4728
 
advance it will fail.
4729
 
 
4730
 
If the resolution is known to be impossible because more keys are needed in
4731
 
@media, and @missing_keys is not @NULL, it is populated with the list of
4732
 
GrlKeyID that would be needed.
4733
 
 
4734
 
This function is synchronous and should not block.
4735
 
 
4736
 
@media, @FALSE otherwise.</doc>
4737
 
        <return-value transfer-ownership="none">
4738
 
          <doc xml:whitespace="preserve">@TRUE if there's a possibility that @source resolves @key_id for</doc>
4739
 
          <type name="gboolean" c:type="gboolean"/>
4740
 
        </return-value>
4741
 
        <parameters>
4742
 
          <parameter name="media" transfer-ownership="none">
4743
 
            <doc xml:whitespace="preserve">a media on which we want more metadata</doc>
4744
 
            <type name="Media" c:type="GrlMedia*"/>
4745
 
          </parameter>
4746
 
          <parameter name="key_id" transfer-ownership="none">
4747
 
            <doc xml:whitespace="preserve">the key corresponding to a metadata we might want</doc>
4748
 
            <type name="KeyID" c:type="GrlKeyID"/>
4749
 
          </parameter>
4750
 
          <parameter name="missing_keys"
4751
 
                     direction="out"
4752
 
                     caller-allocates="0"
4753
 
                     transfer-ownership="full">
4754
 
            <doc xml:whitespace="preserve">an optional originally empty list</doc>
4755
 
            <type name="GLib.List" c:type="GList**">
4756
 
              <type name="KeyID"/>
4757
 
            </type>
4758
 
          </parameter>
4759
 
        </parameters>
4760
 
      </virtual-method>
4761
 
      <virtual-method name="resolve">
4762
 
        <return-value transfer-ownership="none">
4763
 
          <type name="none" c:type="void"/>
4764
 
        </return-value>
4765
 
        <parameters>
4766
 
          <parameter name="rs" transfer-ownership="none">
4767
 
            <type name="MetadataSourceResolveSpec"
4768
 
                  c:type="GrlMetadataSourceResolveSpec*"/>
4769
 
          </parameter>
4770
 
        </parameters>
4771
 
      </virtual-method>
4772
 
      <virtual-method name="set_metadata">
4773
 
        <return-value transfer-ownership="none">
4774
 
          <type name="none" c:type="void"/>
4775
 
        </return-value>
4776
 
        <parameters>
4777
 
          <parameter name="sms" transfer-ownership="none">
4778
 
            <type name="MetadataSourceSetMetadataSpec"
4779
 
                  c:type="GrlMetadataSourceSetMetadataSpec*"/>
4780
 
          </parameter>
4781
 
        </parameters>
4782
 
      </virtual-method>
4783
 
      <virtual-method name="slow_keys" invoker="slow_keys" version="0.1.1">
4784
 
        <doc xml:whitespace="preserve">Similar to grl_metadata_source_supported_keys(), but this keys
4785
 
are marked as slow because of the amount of traffic/processing needed
4786
 
to fetch them.</doc>
4787
 
        <return-value transfer-ownership="none">
4788
 
          <doc xml:whitespace="preserve">a #GList with the keys</doc>
4789
 
          <type name="GLib.List" c:type="GList*">
4790
 
            <type name="GObject.ParamSpec"/>
4791
 
          </type>
4792
 
        </return-value>
4793
 
      </virtual-method>
4794
 
      <virtual-method name="supported_keys"
4795
 
                      invoker="supported_keys"
4796
 
                      version="0.1.1">
4797
 
        <doc xml:whitespace="preserve">Get a list of #GrlKeyID, which describe a metadata types that this
4798
 
source can fetch and store.</doc>
4799
 
        <return-value transfer-ownership="none">
4800
 
          <doc xml:whitespace="preserve">a #GList with the keys</doc>
4801
 
          <type name="GLib.List" c:type="GList*">
4802
 
            <type name="GObject.ParamSpec"/>
4803
 
          </type>
4804
 
        </return-value>
4805
 
      </virtual-method>
4806
 
      <virtual-method name="supported_operations">
4807
 
        <return-value transfer-ownership="none">
4808
 
          <type name="SupportedOps" c:type="GrlSupportedOps"/>
4809
 
        </return-value>
4810
 
      </virtual-method>
4811
 
      <virtual-method name="writable_keys"
4812
 
                      invoker="writable_keys"
4813
 
                      version="0.1.4">
4814
 
        <doc xml:whitespace="preserve">Similar to grl_metadata_source_supported_keys(), but these keys
4815
 
are marked as writable, meaning the source allows the client
4816
 
to provide new values for these keys that will be stored permanently.
4817
 
 
4818
 
a #GList with the keys</doc>
4819
 
        <return-value transfer-ownership="none">
4820
 
          <type name="GLib.List" c:type="GList*">
4821
 
            <type name="GObject.ParamSpec"/>
4822
 
          </type>
4823
 
        </return-value>
4824
 
      </virtual-method>
4825
 
      <method name="cancel"
4826
 
              c:identifier="grl_metadata_source_cancel"
4827
 
              version="0.1.14"
4828
 
              deprecated="use grl_operation_cancel() instead."
4829
 
              deprecated-version="0.1.16">
4830
 
        <doc xml:whitespace="preserve">Cancel a running method.
4831
 
 
4832
 
The derived class must implement the cancel vmethod in order to honour the
4833
 
request correctly. Otherwise, the operation will not be interrupted.
4834
 
 
4835
 
In all cases, if this function is called on an ongoing operation, the
4836
 
corresponding callback will be called with the
4837
 
@GRL_CORE_ERROR_OPERATION_CANCELLED error set, and no more action will be
4838
 
taken for that operation after the said callback with error has been called.</doc>
4839
 
        <return-value transfer-ownership="none">
4840
 
          <type name="none" c:type="void"/>
4841
 
        </return-value>
4842
 
        <parameters>
4843
 
          <parameter name="operation_id" transfer-ownership="none">
4844
 
            <doc xml:whitespace="preserve">the identifier of the running operation, as returned by the function that started it</doc>
4845
 
            <type name="guint" c:type="guint"/>
4846
 
          </parameter>
4847
 
        </parameters>
4848
 
      </method>
4849
 
      <method name="expand_operation_keys"
4850
 
              c:identifier="grl_metadata_source_expand_operation_keys"
4851
 
              introspectable="0">
4852
 
        <doc xml:whitespace="preserve">Will add to @keys the keys that should be asked to @source when
4853
 
doing an operation with GRL_RESOLVE_FULL.
4854
 
 
4855
 
The added keys are the keys that will be needed by other sources to
4856
 
obtain the ones that @source says it cannot resolve.</doc>
4857
 
        <return-value>
4858
 
          <type name="GLib.List" c:type="GList*">
4859
 
            <type name="gpointer" c:type="gpointer"/>
4860
 
          </type>
4861
 
        </return-value>
4862
 
        <parameters>
4863
 
          <parameter name="media" transfer-ownership="none">
4864
 
            <type name="Media" c:type="GrlMedia*"/>
4865
 
          </parameter>
4866
 
          <parameter name="keys" transfer-ownership="none">
4867
 
            <type name="GLib.List" c:type="GList*">
4868
 
              <type name="gpointer" c:type="gpointer"/>
4869
 
            </type>
4870
 
          </parameter>
4871
 
        </parameters>
4872
 
      </method>
4873
 
      <method name="filter_slow"
4874
 
              c:identifier="grl_metadata_source_filter_slow"
4875
 
              version="0.1.1">
4876
 
        <doc xml:whitespace="preserve">This function does the opposite of other filter functions: removes the slow
4877
 
keys from @keys. If @return_filtered is %TRUE the removed slow keys are
4878
 
returned in a new list.
4879
 
 
4880
 
@return_filtered is %TRUE will return the list of slow keys; otherwise
4881
 
%NULL</doc>
4882
 
        <return-value transfer-ownership="container">
4883
 
          <doc xml:whitespace="preserve">if</doc>
4884
 
          <type name="GLib.List" c:type="GList*">
4885
 
            <type name="GObject.ParamSpec"/>
4886
 
          </type>
4887
 
        </return-value>
4888
 
        <parameters>
4889
 
          <parameter name="keys"
4890
 
                     direction="inout"
4891
 
                     caller-allocates="0"
4892
 
                     transfer-ownership="container"
4893
 
                     allow-none="1">
4894
 
            <doc xml:whitespace="preserve"> the list of keys to filter out</doc>
4895
 
            <type name="GLib.List" c:type="GList**">
4896
 
              <type name="GObject.ParamSpec"/>
4897
 
            </type>
4898
 
          </parameter>
4899
 
          <parameter name="return_filtered" transfer-ownership="none">
4900
 
            <doc xml:whitespace="preserve">if %TRUE the return value shall be a new list with the slow keys</doc>
4901
 
            <type name="gboolean" c:type="gboolean"/>
4902
 
          </parameter>
4903
 
        </parameters>
4904
 
      </method>
4905
 
      <method name="filter_supported"
4906
 
              c:identifier="grl_metadata_source_filter_supported"
4907
 
              version="0.1.1">
4908
 
        <doc xml:whitespace="preserve">Compares the received @keys list with the supported key list by the
4909
 
metadata @source, and deletes those keys which are not supported.
4910
 
 
4911
 
if @return_filtered is %TRUE will return the list of removed keys;
4912
 
otherwise %NULL</doc>
4913
 
        <return-value transfer-ownership="container">
4914
 
          <type name="GLib.List" c:type="GList*">
4915
 
            <type name="GObject.ParamSpec"/>
4916
 
          </type>
4917
 
        </return-value>
4918
 
        <parameters>
4919
 
          <parameter name="keys"
4920
 
                     direction="inout"
4921
 
                     caller-allocates="0"
4922
 
                     transfer-ownership="container"
4923
 
                     allow-none="1">
4924
 
            <doc xml:whitespace="preserve"> the list of keys to filter out</doc>
4925
 
            <type name="GLib.List" c:type="GList**">
4926
 
              <type name="GObject.ParamSpec"/>
4927
 
            </type>
4928
 
          </parameter>
4929
 
          <parameter name="return_filtered" transfer-ownership="none">
4930
 
            <doc xml:whitespace="preserve">if %TRUE the return value shall be a new list with the unsupported keys</doc>
4931
 
            <type name="gboolean" c:type="gboolean"/>
4932
 
          </parameter>
4933
 
        </parameters>
4934
 
      </method>
4935
 
      <method name="filter_writable"
4936
 
              c:identifier="grl_metadata_source_filter_writable"
4937
 
              version="0.1.4">
4938
 
        <doc xml:whitespace="preserve">Similar to grl_metadata_source_filter_supported() but applied to
4939
 
the writable keys in grl_metadata_source_writable_keys().
4940
 
 
4941
 
Filter the @keys list keeping only those keys that are writtable in
4942
 
@source. If @return_filtered is %TRUE then the removed keys are returned in a
4943
 
new list.
4944
 
 
4945
 
if @return_filtered is %TRUE will return the list of non-writtable keys;
4946
 
otherwise %NULL</doc>
4947
 
        <return-value transfer-ownership="container">
4948
 
          <type name="GLib.List" c:type="GList*">
4949
 
            <type name="GObject.ParamSpec"/>
4950
 
          </type>
4951
 
        </return-value>
4952
 
        <parameters>
4953
 
          <parameter name="keys"
4954
 
                     direction="inout"
4955
 
                     caller-allocates="0"
4956
 
                     transfer-ownership="container"
4957
 
                     allow-none="1">
4958
 
            <doc xml:whitespace="preserve"> the list of keys to filter out</doc>
4959
 
            <type name="GLib.List" c:type="GList**">
4960
 
              <type name="GObject.ParamSpec"/>
4961
 
            </type>
4962
 
          </parameter>
4963
 
          <parameter name="return_filtered" transfer-ownership="none">
4964
 
            <doc xml:whitespace="preserve">if %TRUE the return value shall be a new list with the non-writable keys</doc>
4965
 
            <type name="gboolean" c:type="gboolean"/>
4966
 
          </parameter>
4967
 
        </parameters>
4968
 
      </method>
4969
 
      <method name="gen_operation_id"
4970
 
              c:identifier="grl_metadata_source_gen_operation_id">
4971
 
        <return-value transfer-ownership="none">
4972
 
          <type name="guint" c:type="guint"/>
4973
 
        </return-value>
4974
 
      </method>
4975
 
      <method name="get_additional_sources"
4976
 
              c:identifier="grl_metadata_source_get_additional_sources"
4977
 
              introspectable="0">
4978
 
        <doc xml:whitespace="preserve">Find the sources that should be queried to add @keys to @media.
4979
 
 
4980
 
If @additional_keys is provided, the result may include sources
4981
 
that need more metadata to be present in @media, the keys
4982
 
corresponding to that metadata will be put in @additional_keys.
4983
 
 
4984
 
If @additional_keys is NULL, will only consider sources that can
4985
 
resolve @keys immediately
4986
 
 
4987
 
If @main_source_is_only_resolver is TRUE and @additional_keys is
4988
 
not @NULL, only additional keys that can be resolved directly by
4989
 
@source will be considered. Sources that need other additional keys
4990
 
will not be put in the returned list.
4991
 
 
4992
 
Ignore elements of @keys that are already in @media.</doc>
4993
 
        <return-value>
4994
 
          <type name="GLib.List" c:type="GList*">
4995
 
            <type name="gpointer" c:type="gpointer"/>
4996
 
          </type>
4997
 
        </return-value>
4998
 
        <parameters>
4999
 
          <parameter name="media" transfer-ownership="none">
5000
 
            <type name="Media" c:type="GrlMedia*"/>
5001
 
          </parameter>
5002
 
          <parameter name="keys" transfer-ownership="none">
5003
 
            <type name="GLib.List" c:type="GList*">
5004
 
              <type name="gpointer" c:type="gpointer"/>
5005
 
            </type>
5006
 
          </parameter>
5007
 
          <parameter name="additional_keys" transfer-ownership="none">
5008
 
            <type name="GLib.List" c:type="GList**">
5009
 
              <type name="gpointer" c:type="gpointer"/>
5010
 
            </type>
5011
 
          </parameter>
5012
 
          <parameter name="main_source_is_only_resolver"
5013
 
                     transfer-ownership="none">
5014
 
            <type name="gboolean" c:type="gboolean"/>
5015
 
          </parameter>
5016
 
        </parameters>
5017
 
      </method>
5018
 
      <method name="get_description"
5019
 
              c:identifier="grl_metadata_source_get_description"
5020
 
              version="0.1.1">
5021
 
        <return-value transfer-ownership="none">
5022
 
          <doc xml:whitespace="preserve">the description of the @source</doc>
5023
 
          <type name="utf8" c:type="gchar*"/>
5024
 
        </return-value>
5025
 
      </method>
5026
 
      <method name="get_id"
5027
 
              c:identifier="grl_metadata_source_get_id"
5028
 
              version="0.1.1">
5029
 
        <return-value transfer-ownership="none">
5030
 
          <doc xml:whitespace="preserve">the ID of the @source</doc>
5031
 
          <type name="utf8" c:type="gchar*"/>
5032
 
        </return-value>
5033
 
      </method>
5034
 
      <method name="get_name"
5035
 
              c:identifier="grl_metadata_source_get_name"
5036
 
              version="0.1.1">
5037
 
        <return-value transfer-ownership="none">
5038
 
          <doc xml:whitespace="preserve">the name of the @source</doc>
5039
 
          <type name="utf8" c:type="gchar*"/>
5040
 
        </return-value>
5041
 
      </method>
5042
 
      <method name="get_operation_data"
5043
 
              c:identifier="grl_metadata_source_get_operation_data"
5044
 
              version="0.1.14"
5045
 
              deprecated="use grl_operation_get_data() instead."
5046
 
              deprecated-version="0.1.16">
5047
 
        <doc xml:whitespace="preserve">Obtains the previously attached data</doc>
5048
 
        <return-value transfer-ownership="none">
5049
 
          <doc xml:whitespace="preserve">The previously attached data.</doc>
5050
 
          <type name="gpointer" c:type="gpointer"/>
5051
 
        </return-value>
5052
 
        <parameters>
5053
 
          <parameter name="operation_id" transfer-ownership="none">
5054
 
            <doc xml:whitespace="preserve">the identifier of a running operation</doc>
5055
 
            <type name="guint" c:type="guint"/>
5056
 
          </parameter>
5057
 
        </parameters>
5058
 
      </method>
5059
 
      <method name="key_depends"
5060
 
              c:identifier="grl_metadata_source_key_depends"
5061
 
              version="0.1.1"
5062
 
              deprecated="use grl_metadata_source_may_resolve() instead."
5063
 
              deprecated-version="0.1.10">
5064
 
        <doc xml:whitespace="preserve">Get the list of #GrlKeyID which are needed a priori, in order to fetch
5065
 
and store the requested @key_id
5066
 
 
5067
 
a #GList with the keys, or @NULL if it can not resolve @key_id</doc>
5068
 
        <return-value transfer-ownership="none">
5069
 
          <type name="GLib.List" c:type="GList*">
5070
 
            <type name="GObject.ParamSpec"/>
5071
 
          </type>
5072
 
        </return-value>
5073
 
        <parameters>
5074
 
          <parameter name="key_id" transfer-ownership="none">
5075
 
            <doc xml:whitespace="preserve">the requested metadata key</doc>
5076
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
5077
 
          </parameter>
5078
 
        </parameters>
5079
 
      </method>
5080
 
      <method name="may_resolve"
5081
 
              c:identifier="grl_metadata_source_may_resolve"
5082
 
              version="0.1.10">
5083
 
        <doc xml:whitespace="preserve">Checks whether @key_id may be resolved with @source for @media, so that the
5084
 
caller can avoid calling grl_metadata_source_resolve() if it can be known in
5085
 
advance it will fail.
5086
 
 
5087
 
If the resolution is known to be impossible because more keys are needed in
5088
 
@media, and @missing_keys is not @NULL, it is populated with the list of
5089
 
GrlKeyID that would be needed.
5090
 
 
5091
 
This function is synchronous and should not block.
5092
 
 
5093
 
@media, @FALSE otherwise.</doc>
5094
 
        <return-value transfer-ownership="none">
5095
 
          <doc xml:whitespace="preserve">@TRUE if there's a possibility that @source resolves @key_id for</doc>
5096
 
          <type name="gboolean" c:type="gboolean"/>
5097
 
        </return-value>
5098
 
        <parameters>
5099
 
          <parameter name="media" transfer-ownership="none">
5100
 
            <doc xml:whitespace="preserve">a media on which we want more metadata</doc>
5101
 
            <type name="Media" c:type="GrlMedia*"/>
5102
 
          </parameter>
5103
 
          <parameter name="key_id" transfer-ownership="none">
5104
 
            <doc xml:whitespace="preserve">the key corresponding to a metadata we might want</doc>
5105
 
            <type name="KeyID" c:type="GrlKeyID"/>
5106
 
          </parameter>
5107
 
          <parameter name="missing_keys"
5108
 
                     direction="out"
5109
 
                     caller-allocates="0"
5110
 
                     transfer-ownership="full">
5111
 
            <doc xml:whitespace="preserve">an optional originally empty list</doc>
5112
 
            <type name="GLib.List" c:type="GList**">
5113
 
              <type name="KeyID"/>
5114
 
            </type>
5115
 
          </parameter>
5116
 
        </parameters>
5117
 
      </method>
5118
 
      <method name="operation_is_cancelled"
5119
 
              c:identifier="grl_metadata_source_operation_is_cancelled">
5120
 
        <return-value transfer-ownership="none">
5121
 
          <type name="gboolean" c:type="gboolean"/>
5122
 
        </return-value>
5123
 
        <parameters>
5124
 
          <parameter name="operation_id" transfer-ownership="none">
5125
 
            <type name="guint" c:type="guint"/>
5126
 
          </parameter>
5127
 
        </parameters>
5128
 
      </method>
5129
 
      <method name="operation_is_completed"
5130
 
              c:identifier="grl_metadata_source_operation_is_completed">
5131
 
        <return-value transfer-ownership="none">
5132
 
          <type name="gboolean" c:type="gboolean"/>
5133
 
        </return-value>
5134
 
        <parameters>
5135
 
          <parameter name="operation_id" transfer-ownership="none">
5136
 
            <type name="guint" c:type="guint"/>
5137
 
          </parameter>
5138
 
        </parameters>
5139
 
      </method>
5140
 
      <method name="operation_is_finished"
5141
 
              c:identifier="grl_metadata_source_operation_is_finished">
5142
 
        <return-value transfer-ownership="none">
5143
 
          <type name="gboolean" c:type="gboolean"/>
5144
 
        </return-value>
5145
 
        <parameters>
5146
 
          <parameter name="operation_id" transfer-ownership="none">
5147
 
            <type name="guint" c:type="guint"/>
5148
 
          </parameter>
5149
 
        </parameters>
5150
 
      </method>
5151
 
      <method name="operation_is_ongoing"
5152
 
              c:identifier="grl_metadata_source_operation_is_ongoing">
5153
 
        <return-value transfer-ownership="none">
5154
 
          <type name="gboolean" c:type="gboolean"/>
5155
 
        </return-value>
5156
 
        <parameters>
5157
 
          <parameter name="operation_id" transfer-ownership="none">
5158
 
            <type name="guint" c:type="guint"/>
5159
 
          </parameter>
5160
 
        </parameters>
5161
 
      </method>
5162
 
      <method name="resolve"
5163
 
              c:identifier="grl_metadata_source_resolve"
5164
 
              version="0.1.14">
5165
 
        <doc xml:whitespace="preserve">This is the main method of the #GrlMetadataSource class. It will fetch the
5166
 
metadata of the requested keys.
5167
 
 
5168
 
This function is asynchronous.</doc>
5169
 
        <return-value transfer-ownership="none">
5170
 
          <doc xml:whitespace="preserve">the operation identifier</doc>
5171
 
          <type name="guint" c:type="guint"/>
5172
 
        </return-value>
5173
 
        <parameters>
5174
 
          <parameter name="keys" transfer-ownership="none" allow-none="1">
5175
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID to retrieve</doc>
5176
 
            <type name="GLib.List" c:type="GList*">
5177
 
              <type name="GObject.ParamSpec"/>
5178
 
            </type>
5179
 
          </parameter>
5180
 
          <parameter name="media" transfer-ownership="none">
5181
 
            <doc xml:whitespace="preserve">Transfer object where all the metadata is stored.</doc>
5182
 
            <type name="Media" c:type="GrlMedia*"/>
5183
 
          </parameter>
5184
 
          <parameter name="flags" transfer-ownership="none">
5185
 
            <doc xml:whitespace="preserve">bitwise mask of #GrlMetadataResolutionFlags with the resolution strategy</doc>
5186
 
            <type name="MetadataResolutionFlags"
5187
 
                  c:type="GrlMetadataResolutionFlags"/>
5188
 
          </parameter>
5189
 
          <parameter name="callback"
5190
 
                     transfer-ownership="none"
5191
 
                     scope="notified"
5192
 
                     closure="4">
5193
 
            <doc xml:whitespace="preserve">the callback to execute when the @media metadata is filled up</doc>
5194
 
            <type name="MetadataSourceResolveCb"
5195
 
                  c:type="GrlMetadataSourceResolveCb"/>
5196
 
          </parameter>
5197
 
          <parameter name="user_data" transfer-ownership="none">
5198
 
            <doc xml:whitespace="preserve">user data set for the @callback</doc>
5199
 
            <type name="gpointer" c:type="gpointer"/>
5200
 
          </parameter>
5201
 
        </parameters>
5202
 
      </method>
5203
 
      <method name="resolve_sync"
5204
 
              c:identifier="grl_metadata_source_resolve_sync"
5205
 
              version="0.1.6"
5206
 
              throws="1">
5207
 
        <doc xml:whitespace="preserve">This is the main method of the #GrlMetadataSource class. It will fetch the
5208
 
metadata of the requested keys.
5209
 
 
5210
 
This function is synchronous.</doc>
5211
 
        <return-value transfer-ownership="full">
5212
 
          <doc xml:whitespace="preserve">the updated #GrlMedia</doc>
5213
 
          <type name="Media" c:type="GrlMedia*"/>
5214
 
        </return-value>
5215
 
        <parameters>
5216
 
          <parameter name="keys" transfer-ownership="none" allow-none="1">
5217
 
            <doc xml:whitespace="preserve">the #GList of #GrlKeyID to retrieve</doc>
5218
 
            <type name="GLib.List" c:type="GList*">
5219
 
              <type name="GObject.ParamSpec"/>
5220
 
            </type>
5221
 
          </parameter>
5222
 
          <parameter name="media" transfer-ownership="none">
5223
 
            <doc xml:whitespace="preserve">Transfer object where all the metadata is stored</doc>
5224
 
            <type name="Media" c:type="GrlMedia*"/>
5225
 
          </parameter>
5226
 
          <parameter name="flags" transfer-ownership="none">
5227
 
            <doc xml:whitespace="preserve">bitwise mask of #GrlMetadataResolutionFlags with the resolution strategy</doc>
5228
 
            <type name="MetadataResolutionFlags"
5229
 
                  c:type="GrlMetadataResolutionFlags"/>
5230
 
          </parameter>
5231
 
        </parameters>
5232
 
      </method>
5233
 
      <method name="set_metadata"
5234
 
              c:identifier="grl_metadata_source_set_metadata"
5235
 
              version="0.1.4">
5236
 
        <doc xml:whitespace="preserve">This is the main method of the #GrlMetadataSource class. It will
5237
 
get the values for @keys from @media and store it permanently. After
5238
 
calling this method, future queries that return this media object
5239
 
shall return this new values for the selected keys.
5240
 
 
5241
 
This function is asynchronous and uses the Glib's main loop.</doc>
5242
 
        <return-value transfer-ownership="none">
5243
 
          <type name="none" c:type="void"/>
5244
 
        </return-value>
5245
 
        <parameters>
5246
 
          <parameter name="media" transfer-ownership="none">
5247
 
            <doc xml:whitespace="preserve">the #GrlMedia object that we want to operate on.</doc>
5248
 
            <type name="Media" c:type="GrlMedia*"/>
5249
 
          </parameter>
5250
 
          <parameter name="keys" transfer-ownership="none" allow-none="1">
5251
 
            <doc xml:whitespace="preserve">a list of #GrlKeyID whose values we want to change.</doc>
5252
 
            <type name="GLib.List" c:type="GList*">
5253
 
              <type name="GObject.ParamSpec"/>
5254
 
            </type>
5255
 
          </parameter>
5256
 
          <parameter name="flags" transfer-ownership="none">
5257
 
            <doc xml:whitespace="preserve">Flags to configure specific behaviors of the operation.</doc>
5258
 
            <type name="MetadataWritingFlags"
5259
 
                  c:type="GrlMetadataWritingFlags"/>
5260
 
          </parameter>
5261
 
          <parameter name="callback"
5262
 
                     transfer-ownership="none"
5263
 
                     scope="notified"
5264
 
                     closure="4">
5265
 
            <doc xml:whitespace="preserve">the callback to execute when the operation is finished.</doc>
5266
 
            <type name="MetadataSourceSetMetadataCb"
5267
 
                  c:type="GrlMetadataSourceSetMetadataCb"/>
5268
 
          </parameter>
5269
 
          <parameter name="user_data" transfer-ownership="none">
5270
 
            <doc xml:whitespace="preserve">user data set for the @callback</doc>
5271
 
            <type name="gpointer" c:type="gpointer"/>
5272
 
          </parameter>
5273
 
        </parameters>
5274
 
      </method>
5275
 
      <method name="set_metadata_sync"
5276
 
              c:identifier="grl_metadata_source_set_metadata_sync"
5277
 
              version="0.1.6"
5278
 
              throws="1">
5279
 
        <doc xml:whitespace="preserve">This is the main method of the #GrlMetadataSource class. It will
5280
 
get the value for @key from @media and store it permanently. After
5281
 
calling this method, future queries that return this media object
5282
 
shall return this new value for the selected key.
5283
 
 
5284
 
This function is synchronous.
5285
 
 
5286
 
a #GList of keys that could not be updated, or @NULL</doc>
5287
 
        <return-value transfer-ownership="container">
5288
 
          <type name="GLib.List" c:type="GList*">
5289
 
            <type name="GObject.ParamSpec"/>
5290
 
          </type>
5291
 
        </return-value>
5292
 
        <parameters>
5293
 
          <parameter name="media" transfer-ownership="none">
5294
 
            <doc xml:whitespace="preserve">the #GrlMedia object that we want to operate on</doc>
5295
 
            <type name="Media" c:type="GrlMedia*"/>
5296
 
          </parameter>
5297
 
          <parameter name="keys" transfer-ownership="none" allow-none="1">
5298
 
            <doc xml:whitespace="preserve">a list of #GrlKeyID whose values we want to change</doc>
5299
 
            <type name="GLib.List" c:type="GList*">
5300
 
              <type name="GObject.ParamSpec"/>
5301
 
            </type>
5302
 
          </parameter>
5303
 
          <parameter name="flags" transfer-ownership="none">
5304
 
            <doc xml:whitespace="preserve">Flags to configure specific behaviors of the operation.</doc>
5305
 
            <type name="MetadataWritingFlags"
5306
 
                  c:type="GrlMetadataWritingFlags"/>
5307
 
          </parameter>
5308
 
        </parameters>
5309
 
      </method>
5310
 
      <method name="set_operation_cancelled"
5311
 
              c:identifier="grl_metadata_source_set_operation_cancelled">
5312
 
        <return-value transfer-ownership="none">
5313
 
          <type name="none" c:type="void"/>
5314
 
        </return-value>
5315
 
        <parameters>
5316
 
          <parameter name="operation_id" transfer-ownership="none">
5317
 
            <type name="guint" c:type="guint"/>
5318
 
          </parameter>
5319
 
        </parameters>
5320
 
      </method>
5321
 
      <method name="set_operation_completed"
5322
 
              c:identifier="grl_metadata_source_set_operation_completed">
5323
 
        <return-value transfer-ownership="none">
5324
 
          <type name="none" c:type="void"/>
5325
 
        </return-value>
5326
 
        <parameters>
5327
 
          <parameter name="operation_id" transfer-ownership="none">
5328
 
            <type name="guint" c:type="guint"/>
5329
 
          </parameter>
5330
 
        </parameters>
5331
 
      </method>
5332
 
      <method name="set_operation_data"
5333
 
              c:identifier="grl_metadata_source_set_operation_data"
5334
 
              version="0.1.14"
5335
 
              deprecated="use grl_operation_set_data() instead."
5336
 
              deprecated-version="0.1.16">
5337
 
        <doc xml:whitespace="preserve">Attach a pointer to the specific operation.</doc>
5338
 
        <return-value transfer-ownership="none">
5339
 
          <type name="none" c:type="void"/>
5340
 
        </return-value>
5341
 
        <parameters>
5342
 
          <parameter name="operation_id" transfer-ownership="none">
5343
 
            <doc xml:whitespace="preserve">the identifier of a running operation</doc>
5344
 
            <type name="guint" c:type="guint"/>
5345
 
          </parameter>
5346
 
          <parameter name="data" transfer-ownership="none">
5347
 
            <doc xml:whitespace="preserve">the data to attach</doc>
5348
 
            <type name="gpointer" c:type="gpointer"/>
5349
 
          </parameter>
5350
 
        </parameters>
5351
 
      </method>
5352
 
      <method name="set_operation_finished"
5353
 
              c:identifier="grl_metadata_source_set_operation_finished">
5354
 
        <return-value transfer-ownership="none">
5355
 
          <type name="none" c:type="void"/>
5356
 
        </return-value>
5357
 
        <parameters>
5358
 
          <parameter name="operation_id" transfer-ownership="none">
5359
 
            <type name="guint" c:type="guint"/>
5360
 
          </parameter>
5361
 
        </parameters>
5362
 
      </method>
5363
 
      <method name="set_operation_ongoing"
5364
 
              c:identifier="grl_metadata_source_set_operation_ongoing">
5365
 
        <return-value transfer-ownership="none">
5366
 
          <type name="none" c:type="void"/>
5367
 
        </return-value>
5368
 
        <parameters>
5369
 
          <parameter name="operation_id" transfer-ownership="none">
5370
 
            <type name="guint" c:type="guint"/>
5371
 
          </parameter>
5372
 
        </parameters>
5373
 
      </method>
5374
 
      <method name="slow_keys"
5375
 
              c:identifier="grl_metadata_source_slow_keys"
5376
 
              version="0.1.1">
5377
 
        <doc xml:whitespace="preserve">Similar to grl_metadata_source_supported_keys(), but this keys
5378
 
are marked as slow because of the amount of traffic/processing needed
5379
 
to fetch them.</doc>
5380
 
        <return-value transfer-ownership="none">
5381
 
          <doc xml:whitespace="preserve">a #GList with the keys</doc>
5382
 
          <type name="GLib.List" c:type="GList*">
5383
 
            <type name="GObject.ParamSpec"/>
5384
 
          </type>
5385
 
        </return-value>
5386
 
      </method>
5387
 
      <method name="supported_keys"
5388
 
              c:identifier="grl_metadata_source_supported_keys"
5389
 
              version="0.1.1">
5390
 
        <doc xml:whitespace="preserve">Get a list of #GrlKeyID, which describe a metadata types that this
5391
 
source can fetch and store.</doc>
5392
 
        <return-value transfer-ownership="none">
5393
 
          <doc xml:whitespace="preserve">a #GList with the keys</doc>
5394
 
          <type name="GLib.List" c:type="GList*">
5395
 
            <type name="GObject.ParamSpec"/>
5396
 
          </type>
5397
 
        </return-value>
5398
 
      </method>
5399
 
      <method name="supported_operations"
5400
 
              c:identifier="grl_metadata_source_supported_operations"
5401
 
              version="0.1.1">
5402
 
        <doc xml:whitespace="preserve">By default the derived objects of #GrlMetadataSource can only resolve.
5403
 
 
5404
 
the source</doc>
5405
 
        <return-value transfer-ownership="none">
5406
 
          <doc xml:whitespace="preserve">a bitwise mangle with the supported operations by</doc>
5407
 
          <type name="guint" c:type="GrlSupportedOps"/>
5408
 
        </return-value>
5409
 
      </method>
5410
 
      <method name="writable_keys"
5411
 
              c:identifier="grl_metadata_source_writable_keys"
5412
 
              version="0.1.4">
5413
 
        <doc xml:whitespace="preserve">Similar to grl_metadata_source_supported_keys(), but these keys
5414
 
are marked as writable, meaning the source allows the client
5415
 
to provide new values for these keys that will be stored permanently.
5416
 
 
5417
 
a #GList with the keys</doc>
5418
 
        <return-value transfer-ownership="none">
5419
 
          <type name="GLib.List" c:type="GList*">
5420
 
            <type name="GObject.ParamSpec"/>
5421
 
          </type>
5422
 
        </return-value>
5423
 
      </method>
5424
 
      <property name="source-desc"
5425
 
                writable="1"
5426
 
                construct="1"
5427
 
                transfer-ownership="none">
5428
 
        <doc xml:whitespace="preserve">A description of the source</doc>
5429
 
        <type name="utf8"/>
5430
 
      </property>
5431
 
      <property name="source-id"
5432
 
                writable="1"
5433
 
                construct="1"
5434
 
                transfer-ownership="none">
5435
 
        <doc xml:whitespace="preserve">The identifier of the source.</doc>
5436
 
        <type name="utf8"/>
5437
 
      </property>
5438
 
      <property name="source-name"
5439
 
                writable="1"
5440
 
                construct="1"
5441
 
                transfer-ownership="none">
5442
 
        <doc xml:whitespace="preserve">The name of the source.</doc>
5443
 
        <type name="utf8"/>
5444
 
      </property>
5445
 
      <field name="parent">
5446
 
        <type name="MediaPlugin" c:type="GrlMediaPlugin"/>
5447
 
      </field>
5448
 
      <field name="priv" readable="0" private="1">
5449
 
        <type name="MetadataSourcePrivate" c:type="GrlMetadataSourcePrivate*"/>
5450
 
      </field>
5451
 
      <field name="_grl_reserved" readable="0" private="1">
5452
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
5453
 
          <type name="gpointer" c:type="gpointer"/>
5454
 
        </array>
5455
 
      </field>
5456
 
    </class>
5457
 
    <record name="MetadataSourceClass"
5458
 
            c:type="GrlMetadataSourceClass"
5459
 
            glib:is-gtype-struct-for="MetadataSource">
5460
 
      <doc xml:whitespace="preserve">Grilo MetadataSource class. Override the vmethods to implement the
5461
 
element functionality.</doc>
5462
 
      <field name="parent_class">
5463
 
        <type name="MediaPluginClass" c:type="GrlMediaPluginClass"/>
5464
 
      </field>
5465
 
      <field name="operation_id">
5466
 
        <type name="guint" c:type="guint"/>
5467
 
      </field>
5468
 
      <field name="supported_operations">
5469
 
        <callback name="supported_operations">
5470
 
          <return-value transfer-ownership="none">
5471
 
            <type name="SupportedOps" c:type="GrlSupportedOps"/>
5472
 
          </return-value>
5473
 
          <parameters>
5474
 
            <parameter name="source" transfer-ownership="none">
5475
 
              <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5476
 
            </parameter>
5477
 
          </parameters>
5478
 
        </callback>
5479
 
      </field>
5480
 
      <field name="supported_keys">
5481
 
        <callback name="supported_keys">
5482
 
          <return-value transfer-ownership="none">
5483
 
            <doc xml:whitespace="preserve">a #GList with the keys</doc>
5484
 
            <type name="GLib.List" c:type="GList*">
5485
 
              <type name="GObject.ParamSpec"/>
5486
 
            </type>
5487
 
          </return-value>
5488
 
          <parameters>
5489
 
            <parameter name="source" transfer-ownership="none">
5490
 
              <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5491
 
            </parameter>
5492
 
          </parameters>
5493
 
        </callback>
5494
 
      </field>
5495
 
      <field name="slow_keys">
5496
 
        <callback name="slow_keys">
5497
 
          <return-value transfer-ownership="none">
5498
 
            <doc xml:whitespace="preserve">a #GList with the keys</doc>
5499
 
            <type name="GLib.List" c:type="GList*">
5500
 
              <type name="GObject.ParamSpec"/>
5501
 
            </type>
5502
 
          </return-value>
5503
 
          <parameters>
5504
 
            <parameter name="source" transfer-ownership="none">
5505
 
              <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5506
 
            </parameter>
5507
 
          </parameters>
5508
 
        </callback>
5509
 
      </field>
5510
 
      <field name="key_depends">
5511
 
        <callback name="key_depends">
5512
 
          <return-value transfer-ownership="none">
5513
 
            <type name="GLib.List" c:type="GList*">
5514
 
              <type name="GObject.ParamSpec"/>
5515
 
            </type>
5516
 
          </return-value>
5517
 
          <parameters>
5518
 
            <parameter name="source" transfer-ownership="none">
5519
 
              <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5520
 
            </parameter>
5521
 
            <parameter name="key_id" transfer-ownership="none">
5522
 
              <doc xml:whitespace="preserve">the requested metadata key</doc>
5523
 
              <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
5524
 
            </parameter>
5525
 
          </parameters>
5526
 
        </callback>
5527
 
      </field>
5528
 
      <field name="writable_keys">
5529
 
        <callback name="writable_keys">
5530
 
          <return-value transfer-ownership="none">
5531
 
            <type name="GLib.List" c:type="GList*">
5532
 
              <type name="GObject.ParamSpec"/>
5533
 
            </type>
5534
 
          </return-value>
5535
 
          <parameters>
5536
 
            <parameter name="source" transfer-ownership="none">
5537
 
              <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5538
 
            </parameter>
5539
 
          </parameters>
5540
 
        </callback>
5541
 
      </field>
5542
 
      <field name="resolve">
5543
 
        <callback name="resolve">
5544
 
          <return-value transfer-ownership="none">
5545
 
            <type name="none" c:type="void"/>
5546
 
          </return-value>
5547
 
          <parameters>
5548
 
            <parameter name="source" transfer-ownership="none">
5549
 
              <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5550
 
            </parameter>
5551
 
            <parameter name="rs" transfer-ownership="none">
5552
 
              <type name="MetadataSourceResolveSpec"
5553
 
                    c:type="GrlMetadataSourceResolveSpec*"/>
5554
 
            </parameter>
5555
 
          </parameters>
5556
 
        </callback>
5557
 
      </field>
5558
 
      <field name="set_metadata">
5559
 
        <callback name="set_metadata">
5560
 
          <return-value transfer-ownership="none">
5561
 
            <type name="none" c:type="void"/>
5562
 
          </return-value>
5563
 
          <parameters>
5564
 
            <parameter name="source" transfer-ownership="none">
5565
 
              <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5566
 
            </parameter>
5567
 
            <parameter name="sms" transfer-ownership="none">
5568
 
              <type name="MetadataSourceSetMetadataSpec"
5569
 
                    c:type="GrlMetadataSourceSetMetadataSpec*"/>
5570
 
            </parameter>
5571
 
          </parameters>
5572
 
        </callback>
5573
 
      </field>
5574
 
      <field name="may_resolve">
5575
 
        <callback name="may_resolve">
5576
 
          <return-value transfer-ownership="none">
5577
 
            <doc xml:whitespace="preserve">@TRUE if there's a possibility that @source resolves @key_id for</doc>
5578
 
            <type name="gboolean" c:type="gboolean"/>
5579
 
          </return-value>
5580
 
          <parameters>
5581
 
            <parameter name="source" transfer-ownership="none">
5582
 
              <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5583
 
            </parameter>
5584
 
            <parameter name="media" transfer-ownership="none">
5585
 
              <doc xml:whitespace="preserve">a media on which we want more metadata</doc>
5586
 
              <type name="Media" c:type="GrlMedia*"/>
5587
 
            </parameter>
5588
 
            <parameter name="key_id" transfer-ownership="none">
5589
 
              <doc xml:whitespace="preserve">the key corresponding to a metadata we might want</doc>
5590
 
              <type name="KeyID" c:type="GrlKeyID"/>
5591
 
            </parameter>
5592
 
            <parameter name="missing_keys"
5593
 
                       direction="out"
5594
 
                       caller-allocates="0"
5595
 
                       transfer-ownership="full">
5596
 
              <doc xml:whitespace="preserve">an optional originally empty list</doc>
5597
 
              <type name="GLib.List" c:type="GList**">
5598
 
                <type name="KeyID"/>
5599
 
              </type>
5600
 
            </parameter>
5601
 
          </parameters>
5602
 
        </callback>
5603
 
      </field>
5604
 
      <field name="cancel">
5605
 
        <callback name="cancel">
5606
 
          <return-value transfer-ownership="none">
5607
 
            <type name="none" c:type="void"/>
5608
 
          </return-value>
5609
 
          <parameters>
5610
 
            <parameter name="source" transfer-ownership="none">
5611
 
              <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5612
 
            </parameter>
5613
 
            <parameter name="operation_id" transfer-ownership="none">
5614
 
              <doc xml:whitespace="preserve">the identifier of the running operation, as returned by the function that started it</doc>
5615
 
              <type name="guint" c:type="guint"/>
5616
 
            </parameter>
5617
 
          </parameters>
5618
 
        </callback>
5619
 
      </field>
5620
 
      <field name="_grl_reserved" readable="0" private="1">
5621
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="13">
5622
 
          <type name="gpointer" c:type="gpointer"/>
5623
 
        </array>
5624
 
      </field>
5625
 
    </record>
5626
 
    <record name="MetadataSourcePrivate"
5627
 
            c:type="GrlMetadataSourcePrivate"
5628
 
            disguised="1">
5629
 
    </record>
5630
 
    <callback name="MetadataSourceResolveCb"
5631
 
              c:type="GrlMetadataSourceResolveCb">
5632
 
      <doc xml:whitespace="preserve">Prototype for the callback passed to grl_metadata_source_resolve()</doc>
5633
 
      <return-value transfer-ownership="none">
5634
 
        <type name="none" c:type="void"/>
5635
 
      </return-value>
5636
 
      <parameters>
5637
 
        <parameter name="source" transfer-ownership="none">
5638
 
          <doc xml:whitespace="preserve">a metadata source</doc>
5639
 
          <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5640
 
        </parameter>
5641
 
        <parameter name="operation_id" transfer-ownership="none">
5642
 
          <doc xml:whitespace="preserve">operation identifier</doc>
5643
 
          <type name="guint" c:type="guint"/>
5644
 
        </parameter>
5645
 
        <parameter name="media" transfer-ownership="full">
5646
 
          <doc xml:whitespace="preserve">a #GrlMedia transfer object</doc>
5647
 
          <type name="Media" c:type="GrlMedia*"/>
5648
 
        </parameter>
5649
 
        <parameter name="user_data" transfer-ownership="none" closure="3">
5650
 
          <doc xml:whitespace="preserve">user data passed to grl_metadata_source_resolve()</doc>
5651
 
          <type name="gpointer" c:type="gpointer"/>
5652
 
        </parameter>
5653
 
        <parameter name="error" transfer-ownership="none">
5654
 
          <doc xml:whitespace="preserve">possible #GError generated when resolving the metadata</doc>
5655
 
          <type name="guint" c:type="GError*"/>
5656
 
        </parameter>
5657
 
      </parameters>
5658
 
    </callback>
5659
 
    <record name="MetadataSourceResolveSpec"
5660
 
            c:type="GrlMetadataSourceResolveSpec">
5661
 
      <doc xml:whitespace="preserve">Represents the closure used by the derived objects to fetch, store and
5662
 
return the transfer object to the client's code.</doc>
5663
 
      <field name="source" writable="1">
5664
 
        <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5665
 
      </field>
5666
 
      <field name="resolve_id" writable="1">
5667
 
        <type name="guint" c:type="guint"/>
5668
 
      </field>
5669
 
      <field name="keys" writable="1">
5670
 
        <type name="GLib.List" c:type="GList*">
5671
 
          <type name="gpointer" c:type="gpointer"/>
5672
 
        </type>
5673
 
      </field>
5674
 
      <field name="media" writable="1">
5675
 
        <type name="Media" c:type="GrlMedia*"/>
5676
 
      </field>
5677
 
      <field name="flags" writable="1">
5678
 
        <type name="MetadataResolutionFlags"
5679
 
              c:type="GrlMetadataResolutionFlags"/>
5680
 
      </field>
5681
 
      <field name="callback" writable="1">
5682
 
        <type name="MetadataSourceResolveCb"
5683
 
              c:type="GrlMetadataSourceResolveCb"/>
5684
 
      </field>
5685
 
      <field name="user_data" writable="1">
5686
 
        <type name="gpointer" c:type="gpointer"/>
5687
 
      </field>
5688
 
      <field name="_grl_reserved" readable="0" private="1">
5689
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="15">
5690
 
          <type name="gpointer" c:type="gpointer"/>
5691
 
        </array>
5692
 
      </field>
5693
 
    </record>
5694
 
    <callback name="MetadataSourceSetMetadataCb"
5695
 
              c:type="GrlMetadataSourceSetMetadataCb">
5696
 
      <doc xml:whitespace="preserve">Prototype for the callback passed to grl_metadata_source_set_metadata()</doc>
5697
 
      <return-value transfer-ownership="none">
5698
 
        <type name="none" c:type="void"/>
5699
 
      </return-value>
5700
 
      <parameters>
5701
 
        <parameter name="source" transfer-ownership="none">
5702
 
          <doc xml:whitespace="preserve">a metadata source</doc>
5703
 
          <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5704
 
        </parameter>
5705
 
        <parameter name="media" transfer-ownership="full">
5706
 
          <doc xml:whitespace="preserve">a #GrlMedia transfer object</doc>
5707
 
          <type name="Media" c:type="GrlMedia*"/>
5708
 
        </parameter>
5709
 
        <parameter name="failed_keys" transfer-ownership="container">
5710
 
          <doc xml:whitespace="preserve">#GList of keys that could not be updated, if any</doc>
5711
 
          <type name="GLib.List" c:type="GList*">
5712
 
            <type name="GObject.ParamSpec"/>
5713
 
          </type>
5714
 
        </parameter>
5715
 
        <parameter name="user_data" transfer-ownership="none" closure="3">
5716
 
          <doc xml:whitespace="preserve">user data passed to grl_metadata_source_set_metadata()</doc>
5717
 
          <type name="gpointer" c:type="gpointer"/>
5718
 
        </parameter>
5719
 
        <parameter name="error" transfer-ownership="none">
5720
 
          <doc xml:whitespace="preserve">possible #GError generated when updating the metadata</doc>
5721
 
          <type name="guint" c:type="GError*"/>
5722
 
        </parameter>
5723
 
      </parameters>
5724
 
    </callback>
5725
 
    <record name="MetadataSourceSetMetadataSpec"
5726
 
            c:type="GrlMetadataSourceSetMetadataSpec">
5727
 
      <doc xml:whitespace="preserve">Represents the closure used by the derived objects to operate.</doc>
5728
 
      <field name="source" writable="1">
5729
 
        <type name="MetadataSource" c:type="GrlMetadataSource*"/>
5730
 
      </field>
5731
 
      <field name="media" writable="1">
5732
 
        <type name="Media" c:type="GrlMedia*"/>
5733
 
      </field>
5734
 
      <field name="keys" writable="1">
5735
 
        <type name="GLib.List" c:type="GList*">
5736
 
          <type name="gpointer" c:type="gpointer"/>
5737
 
        </type>
5738
 
      </field>
5739
 
      <field name="flags" writable="1">
5740
 
        <type name="MetadataWritingFlags" c:type="GrlMetadataWritingFlags"/>
5741
 
      </field>
5742
 
      <field name="callback" writable="1">
5743
 
        <type name="MetadataSourceSetMetadataCb"
5744
 
              c:type="GrlMetadataSourceSetMetadataCb"/>
5745
 
      </field>
5746
 
      <field name="user_data" writable="1">
5747
 
        <type name="gpointer" c:type="gpointer"/>
5748
 
      </field>
5749
 
      <field name="failed_keys" writable="1">
5750
 
        <type name="GLib.List" c:type="GList*">
5751
 
          <type name="gpointer" c:type="gpointer"/>
5752
 
        </type>
5753
 
      </field>
5754
 
      <field name="_grl_reserved" readable="0" private="1">
5755
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
5756
 
          <type name="gpointer" c:type="gpointer"/>
5757
 
        </array>
5758
 
      </field>
5759
 
    </record>
5760
 
    <bitfield name="MetadataWritingFlags" c:type="GrlMetadataWritingFlags">
5761
 
      <doc xml:whitespace="preserve">Flags for metadata writing operations.</doc>
5762
 
      <member name="normal" value="0" c:identifier="GRL_WRITE_NORMAL"/>
5763
 
      <member name="full" value="1" c:identifier="GRL_WRITE_FULL"/>
5764
 
    </bitfield>
5765
 
    <constant name="PADDING" value="16" c:type="GRL_PADDING">
5766
 
      <type name="gint" c:type="gint"/>
5767
 
    </constant>
5768
 
    <constant name="PADDING_SMALL" value="8" c:type="GRL_PADDING_SMALL">
5769
 
      <type name="gint" c:type="gint"/>
5770
 
    </constant>
5771
 
    <constant name="PLUGIN_LIST_VAR"
5772
 
              value="GRL_PLUGIN_LIST"
5773
 
              c:type="GRL_PLUGIN_LIST_VAR">
5774
 
      <type name="utf8" c:type="gchar*"/>
5775
 
    </constant>
5776
 
    <constant name="PLUGIN_PATH_VAR"
5777
 
              value="GRL_PLUGIN_PATH"
5778
 
              c:type="GRL_PLUGIN_PATH_VAR">
5779
 
      <type name="utf8" c:type="gchar*"/>
5780
 
    </constant>
5781
 
    <constant name="PLUGIN_RANKS_VAR"
5782
 
              value="GRL_PLUGIN_RANKS"
5783
 
              c:type="GRL_PLUGIN_RANKS_VAR">
5784
 
      <type name="utf8" c:type="gchar*"/>
5785
 
    </constant>
5786
 
    <record name="PluginDescriptor" c:type="GrlPluginDescriptor">
5787
 
      <field name="plugin_id" writable="1">
5788
 
        <type name="utf8" c:type="gchar*"/>
5789
 
      </field>
5790
 
      <field name="plugin_init" introspectable="0">
5791
 
        <callback name="plugin_init" introspectable="0">
5792
 
          <return-value transfer-ownership="none">
5793
 
            <type name="gboolean" c:type="gboolean"/>
5794
 
          </return-value>
5795
 
          <parameters>
5796
 
            <parameter transfer-ownership="none">
5797
 
              <type name="PluginRegistry" c:type="GrlPluginRegistry*"/>
5798
 
            </parameter>
5799
 
            <parameter transfer-ownership="none">
5800
 
              <type name="PluginInfo" c:type="GrlPluginInfo*"/>
5801
 
            </parameter>
5802
 
            <parameter transfer-ownership="none">
5803
 
              <type name="GLib.List" c:type="GList*">
5804
 
                <type name="gpointer" c:type="gpointer"/>
5805
 
              </type>
5806
 
            </parameter>
5807
 
          </parameters>
5808
 
        </callback>
5809
 
      </field>
5810
 
      <field name="plugin_deinit">
5811
 
        <callback name="plugin_deinit">
5812
 
          <return-value transfer-ownership="none">
5813
 
            <type name="none" c:type="void"/>
5814
 
          </return-value>
5815
 
        </callback>
5816
 
      </field>
5817
 
      <field name="module" writable="1">
5818
 
        <type name="GModule.Module" c:type="GModule*"/>
5819
 
      </field>
5820
 
      <field name="_grl_reserved" readable="0" private="1">
5821
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
5822
 
          <type name="gpointer" c:type="gpointer"/>
5823
 
        </array>
5824
 
      </field>
5825
 
    </record>
5826
 
    <record name="PluginInfo" c:type="GrlPluginInfo">
5827
 
      <doc xml:whitespace="preserve">This structure stores the information related to a module</doc>
5828
 
      <field name="id" writable="1">
5829
 
        <type name="utf8" c:type="gchar*"/>
5830
 
      </field>
5831
 
      <field name="filename" writable="1">
5832
 
        <type name="utf8" c:type="gchar*"/>
5833
 
      </field>
5834
 
      <field name="optional_info" writable="1">
5835
 
        <type name="GLib.HashTable" c:type="GHashTable*">
5836
 
          <type name="gpointer" c:type="gpointer"/>
5837
 
          <type name="gpointer" c:type="gpointer"/>
5838
 
        </type>
5839
 
      </field>
5840
 
      <field name="rank" writable="1">
5841
 
        <type name="gint" c:type="gint"/>
5842
 
      </field>
5843
 
      <field name="_grl_reserved" readable="0" private="1">
5844
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
5845
 
          <type name="gpointer" c:type="gpointer"/>
5846
 
        </array>
5847
 
      </field>
5848
 
    </record>
5849
 
    <enumeration name="PluginRank" c:type="GrlPluginRank">
5850
 
      <doc xml:whitespace="preserve">Module priority ranks. Defines the order in which the resolver
5851
 
(or similar rank-picking mechanisms) will choose this plugin
5852
 
over an alternative one with the same function.
5853
 
 
5854
 
These constants serve as a rough guidance for defining the rank
5855
 
of a GrlPluginInfo. Any value is valid, including values bigger
5856
 
than GRL_PLUGIN_RANK_HIGHEST.</doc>
5857
 
      <member name="lowest" value="-64" c:identifier="GRL_PLUGIN_RANK_LOWEST"/>
5858
 
      <member name="low" value="-32" c:identifier="GRL_PLUGIN_RANK_LOW"/>
5859
 
      <member name="default" value="0" c:identifier="GRL_PLUGIN_RANK_DEFAULT"/>
5860
 
      <member name="high" value="32" c:identifier="GRL_PLUGIN_RANK_HIGH"/>
5861
 
      <member name="highest"
5862
 
              value="64"
5863
 
              c:identifier="GRL_PLUGIN_RANK_HIGHEST"/>
5864
 
    </enumeration>
5865
 
    <class name="PluginRegistry"
5866
 
           c:symbol-prefix="plugin_registry"
5867
 
           c:type="GrlPluginRegistry"
5868
 
           parent="GObject.Object"
5869
 
           glib:type-name="GrlPluginRegistry"
5870
 
           glib:get-type="grl_plugin_registry_get_type"
5871
 
           glib:type-struct="PluginRegistryClass">
5872
 
      <function name="get_default"
5873
 
                c:identifier="grl_plugin_registry_get_default"
5874
 
                version="0.1.6">
5875
 
        <doc xml:whitespace="preserve">As the registry is designed to work as a singleton, this
5876
 
method is in charge of creating the only instance or
5877
 
returned it if it is already in memory.
5878
 
 
5879
 
 
5880
 
It is NOT MT-safe</doc>
5881
 
        <return-value transfer-ownership="none">
5882
 
          <doc xml:whitespace="preserve">a new or an already created instance of the registry.</doc>
5883
 
          <type name="PluginRegistry" c:type="GrlPluginRegistry*"/>
5884
 
        </return-value>
5885
 
      </function>
5886
 
      <method name="add_config"
5887
 
              c:identifier="grl_plugin_registry_add_config"
5888
 
              version="0.1.7"
5889
 
              throws="1">
5890
 
        <doc xml:whitespace="preserve">Add a configuration for a plugin/source.</doc>
5891
 
        <return-value transfer-ownership="none">
5892
 
          <type name="gboolean" c:type="gboolean"/>
5893
 
        </return-value>
5894
 
        <parameters>
5895
 
          <parameter name="config" transfer-ownership="full">
5896
 
            <doc xml:whitespace="preserve">a configuration set</doc>
5897
 
            <type name="Config" c:type="GrlConfig*"/>
5898
 
          </parameter>
5899
 
        </parameters>
5900
 
      </method>
5901
 
      <method name="add_config_from_file"
5902
 
              c:identifier="grl_plugin_registry_add_config_from_file"
5903
 
              version="0.1.7"
5904
 
              throws="1">
5905
 
        <doc xml:whitespace="preserve">Load plugin configurations from a .ini-like config file.</doc>
5906
 
        <return-value transfer-ownership="none">
5907
 
          <doc xml:whitespace="preserve">%TRUE on success</doc>
5908
 
          <type name="gboolean" c:type="gboolean"/>
5909
 
        </return-value>
5910
 
        <parameters>
5911
 
          <parameter name="config_file" transfer-ownership="none">
5912
 
            <doc xml:whitespace="preserve">a key-value file containing the configuration</doc>
5913
 
            <type name="utf8" c:type="gchar*"/>
5914
 
          </parameter>
5915
 
        </parameters>
5916
 
      </method>
5917
 
      <method name="add_directory"
5918
 
              c:identifier="grl_plugin_registry_add_directory"
5919
 
              version="0.1.6">
5920
 
        <doc xml:whitespace="preserve">Set this path as part of default paths to load plugins.</doc>
5921
 
        <return-value transfer-ownership="none">
5922
 
          <type name="none" c:type="void"/>
5923
 
        </return-value>
5924
 
        <parameters>
5925
 
          <parameter name="path" transfer-ownership="none">
5926
 
            <doc xml:whitespace="preserve">a path with plugins</doc>
5927
 
            <type name="utf8" c:type="gchar*"/>
5928
 
          </parameter>
5929
 
        </parameters>
5930
 
      </method>
5931
 
      <method name="get_metadata_keys"
5932
 
              c:identifier="grl_plugin_registry_get_metadata_keys"
5933
 
              version="0.1.6">
5934
 
        <doc xml:whitespace="preserve">Returns a list with all registered keys in system.
5935
 
 
5936
 
with all the available #GrlKeyID&lt;!-- --&gt;s. The content of the list should
5937
 
not be modified or freed. Use g_list_free() when done using the list.</doc>
5938
 
        <return-value transfer-ownership="container">
5939
 
          <doc xml:whitespace="preserve">a #GList</doc>
5940
 
          <type name="GLib.List" c:type="GList*">
5941
 
            <type name="GObject.ParamSpec"/>
5942
 
          </type>
5943
 
        </return-value>
5944
 
      </method>
5945
 
      <method name="get_sources"
5946
 
              c:identifier="grl_plugin_registry_get_sources"
5947
 
              version="0.1.7">
5948
 
        <doc xml:whitespace="preserve">This function will return all the available sources in the @registry.
5949
 
 
5950
 
If @ranked is %TRUE, the source list will be ordered by rank.
5951
 
 
5952
 
available #GrlMediaPlugins&lt;!-- --&gt;s. The content of the list should not be
5953
 
modified or freed. Use g_list_free() when done using the list.</doc>
5954
 
        <return-value transfer-ownership="container">
5955
 
          <doc xml:whitespace="preserve">a #GList of</doc>
5956
 
          <type name="GLib.List" c:type="GList*">
5957
 
            <type name="MediaPlugin"/>
5958
 
          </type>
5959
 
        </return-value>
5960
 
        <parameters>
5961
 
          <parameter name="ranked" transfer-ownership="none">
5962
 
            <doc xml:whitespace="preserve">whether the returned list shall be returned ordered by rank</doc>
5963
 
            <type name="gboolean" c:type="gboolean"/>
5964
 
          </parameter>
5965
 
        </parameters>
5966
 
      </method>
5967
 
      <method name="get_sources_by_operations"
5968
 
              c:identifier="grl_plugin_registry_get_sources_by_operations"
5969
 
              version="0.1.7">
5970
 
        <doc xml:whitespace="preserve">Give an array of all the available sources in the @registry capable of
5971
 
perform the operations requested in @ops.
5972
 
 
5973
 
If @ranked is %TRUE, the source list will be ordered by rank.
5974
 
 
5975
 
available #GrlMediaPlugins&lt;!-- --&gt;s. The content of the list should not be
5976
 
modified or freed. Use g_list_free() when done using the list.</doc>
5977
 
        <return-value transfer-ownership="container">
5978
 
          <doc xml:whitespace="preserve">a #GList of</doc>
5979
 
          <type name="GLib.List" c:type="GList*">
5980
 
            <type name="MediaPlugin"/>
5981
 
          </type>
5982
 
        </return-value>
5983
 
        <parameters>
5984
 
          <parameter name="ops" transfer-ownership="none">
5985
 
            <doc xml:whitespace="preserve">a bitwise mangle of the requested operations.</doc>
5986
 
            <type name="SupportedOps" c:type="GrlSupportedOps"/>
5987
 
          </parameter>
5988
 
          <parameter name="ranked" transfer-ownership="none">
5989
 
            <doc xml:whitespace="preserve">whether the returned list shall be returned ordered by rank</doc>
5990
 
            <type name="gboolean" c:type="gboolean"/>
5991
 
          </parameter>
5992
 
        </parameters>
5993
 
      </method>
5994
 
      <method name="load"
5995
 
              c:identifier="grl_plugin_registry_load"
5996
 
              version="0.1.7"
5997
 
              throws="1">
5998
 
        <doc xml:whitespace="preserve">Loads a module from shared object file stored in @path</doc>
5999
 
        <return-value transfer-ownership="none">
6000
 
          <doc xml:whitespace="preserve">%TRUE if the module is loaded correctly</doc>
6001
 
          <type name="gboolean" c:type="gboolean"/>
6002
 
        </return-value>
6003
 
        <parameters>
6004
 
          <parameter name="library_filename" transfer-ownership="none">
6005
 
            <doc xml:whitespace="preserve">the path to the so file</doc>
6006
 
            <type name="utf8" c:type="gchar*"/>
6007
 
          </parameter>
6008
 
        </parameters>
6009
 
      </method>
6010
 
      <method name="load_all"
6011
 
              c:identifier="grl_plugin_registry_load_all"
6012
 
              version="0.1.1"
6013
 
              throws="1">
6014
 
        <doc xml:whitespace="preserve">Load all the modules available in the default directory path.
6015
 
 
6016
 
The default directory path can be changed through the environment
6017
 
variable %GRL_PLUGIN_PATH and it can contain several paths separated
6018
 
by ":"
6019
 
 
6020
 
%TRUE% otherwise.</doc>
6021
 
        <return-value transfer-ownership="none">
6022
 
          <doc xml:whitespace="preserve">%FALSE% is all the configured plugin paths are invalid,</doc>
6023
 
          <type name="gboolean" c:type="gboolean"/>
6024
 
        </return-value>
6025
 
      </method>
6026
 
      <method name="load_by_id"
6027
 
              c:identifier="grl_plugin_registry_load_by_id"
6028
 
              version="0.1.14"
6029
 
              throws="1">
6030
 
        <doc xml:whitespace="preserve">Loads plugin identified by @plugin_id.
6031
 
 
6032
 
This requires the XML plugin information file to define a "module" key with
6033
 
the name of the module that provides the plugin or the absolute path of the
6034
 
actual module file.</doc>
6035
 
        <return-value transfer-ownership="none">
6036
 
          <doc xml:whitespace="preserve">%TRUE if the plugin is loaded correctly</doc>
6037
 
          <type name="gboolean" c:type="gboolean"/>
6038
 
        </return-value>
6039
 
        <parameters>
6040
 
          <parameter name="plugin_id" transfer-ownership="none">
6041
 
            <doc xml:whitespace="preserve">plugin identifier</doc>
6042
 
            <type name="utf8" c:type="gchar*"/>
6043
 
          </parameter>
6044
 
        </parameters>
6045
 
      </method>
6046
 
      <method name="load_directory"
6047
 
              c:identifier="grl_plugin_registry_load_directory"
6048
 
              version="0.1.7"
6049
 
              throws="1">
6050
 
        <doc xml:whitespace="preserve">Loads a set of modules from directory in @path which contains
6051
 
a group shared object files.</doc>
6052
 
        <return-value transfer-ownership="none">
6053
 
          <doc xml:whitespace="preserve">%TRUE if the directory is valid.</doc>
6054
 
          <type name="gboolean" c:type="gboolean"/>
6055
 
        </return-value>
6056
 
        <parameters>
6057
 
          <parameter name="path" transfer-ownership="none">
6058
 
            <doc xml:whitespace="preserve">the path to the directory</doc>
6059
 
            <type name="utf8" c:type="gchar*"/>
6060
 
          </parameter>
6061
 
        </parameters>
6062
 
      </method>
6063
 
      <method name="lookup_metadata_key"
6064
 
              c:identifier="grl_plugin_registry_lookup_metadata_key"
6065
 
              version="0.1.6">
6066
 
        <doc xml:whitespace="preserve">Look up for the metadata key with name @key_name.</doc>
6067
 
        <return-value transfer-ownership="none">
6068
 
          <doc xml:whitespace="preserve">The metadata key, or @NULL if not found</doc>
6069
 
          <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6070
 
        </return-value>
6071
 
        <parameters>
6072
 
          <parameter name="key_name" transfer-ownership="none">
6073
 
            <doc xml:whitespace="preserve">the key name</doc>
6074
 
            <type name="utf8" c:type="gchar*"/>
6075
 
          </parameter>
6076
 
        </parameters>
6077
 
      </method>
6078
 
      <method name="lookup_metadata_key_relation"
6079
 
              c:identifier="grl_plugin_registry_lookup_metadata_key_relation"
6080
 
              version="0.1.10">
6081
 
        <doc xml:whitespace="preserve">Look up the list of keys that have a relation with @key.
6082
 
 
6083
 
@key is included in that list.
6084
 
 
6085
 
related keys, or @NULL if key is invalid.</doc>
6086
 
        <return-value transfer-ownership="none">
6087
 
          <doc xml:whitespace="preserve">a #GList of</doc>
6088
 
          <type name="GLib.List" c:type="GList*">
6089
 
            <type name="GObject.ParamSpec"/>
6090
 
          </type>
6091
 
        </return-value>
6092
 
        <parameters>
6093
 
          <parameter name="key" transfer-ownership="none">
6094
 
            <doc xml:whitespace="preserve">a metadata key</doc>
6095
 
            <type name="KeyID" c:type="GrlKeyID"/>
6096
 
          </parameter>
6097
 
        </parameters>
6098
 
      </method>
6099
 
      <method name="lookup_source"
6100
 
              c:identifier="grl_plugin_registry_lookup_source"
6101
 
              version="0.1.1">
6102
 
        <doc xml:whitespace="preserve">This function will search and retrieve a source given its identifier.</doc>
6103
 
        <return-value transfer-ownership="none">
6104
 
          <doc xml:whitespace="preserve">The source found.</doc>
6105
 
          <type name="MediaPlugin" c:type="GrlMediaPlugin*"/>
6106
 
        </return-value>
6107
 
        <parameters>
6108
 
          <parameter name="source_id" transfer-ownership="none">
6109
 
            <doc xml:whitespace="preserve">the id of a source</doc>
6110
 
            <type name="utf8" c:type="gchar*"/>
6111
 
          </parameter>
6112
 
        </parameters>
6113
 
      </method>
6114
 
      <method name="register_metadata_key"
6115
 
              c:identifier="grl_plugin_registry_register_metadata_key"
6116
 
              version="0.1.7"
6117
 
              throws="1">
6118
 
        <doc xml:whitespace="preserve">Registers a metadata key
6119
 
 
6120
 
or @NULL on error.</doc>
6121
 
        <return-value transfer-ownership="none">
6122
 
          <doc xml:whitespace="preserve">The #GrlKeyID registered</doc>
6123
 
          <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6124
 
        </return-value>
6125
 
        <parameters>
6126
 
          <parameter name="key" transfer-ownership="none">
6127
 
            <doc xml:whitespace="preserve">The key to register</doc>
6128
 
            <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
6129
 
          </parameter>
6130
 
        </parameters>
6131
 
      </method>
6132
 
      <method name="register_metadata_key_relation"
6133
 
              c:identifier="grl_plugin_registry_register_metadata_key_relation"
6134
 
              version="0.1.10">
6135
 
        <doc xml:whitespace="preserve">Creates a relation between @key1 and @key2, meaning that the values of both
6136
 
keys are somehow related.
6137
 
 
6138
 
One example of a relation would be the one between the URI of a media
6139
 
resource and its mime-type: they are both tied together and one does not make
6140
 
sense without the other.
6141
 
 
6142
 
Relations between keys allow the framework to provide all the data that is
6143
 
somehow related when any of the related keys are requested.</doc>
6144
 
        <return-value transfer-ownership="none">
6145
 
          <type name="none" c:type="void"/>
6146
 
        </return-value>
6147
 
        <parameters>
6148
 
          <parameter name="key1" transfer-ownership="none">
6149
 
            <doc xml:whitespace="preserve">key involved in relationship</doc>
6150
 
            <type name="KeyID" c:type="GrlKeyID"/>
6151
 
          </parameter>
6152
 
          <parameter name="key2" transfer-ownership="none">
6153
 
            <doc xml:whitespace="preserve">key involved in relationship</doc>
6154
 
            <type name="KeyID" c:type="GrlKeyID"/>
6155
 
          </parameter>
6156
 
        </parameters>
6157
 
      </method>
6158
 
      <method name="register_source"
6159
 
              c:identifier="grl_plugin_registry_register_source"
6160
 
              version="0.1.7"
6161
 
              throws="1">
6162
 
        <doc xml:whitespace="preserve">Register a @source in the @registry with the given @plugin information</doc>
6163
 
        <return-value transfer-ownership="none">
6164
 
          <doc xml:whitespace="preserve">%TRUE if success, %FALSE% otherwise.</doc>
6165
 
          <type name="gboolean" c:type="gboolean"/>
6166
 
        </return-value>
6167
 
        <parameters>
6168
 
          <parameter name="plugin" transfer-ownership="none">
6169
 
            <doc xml:whitespace="preserve">the descriptor of the plugin which owns the source</doc>
6170
 
            <type name="PluginInfo" c:type="GrlPluginInfo*"/>
6171
 
          </parameter>
6172
 
          <parameter name="source" transfer-ownership="none">
6173
 
            <doc xml:whitespace="preserve">the source to register</doc>
6174
 
            <type name="MediaPlugin" c:type="GrlMediaPlugin*"/>
6175
 
          </parameter>
6176
 
        </parameters>
6177
 
      </method>
6178
 
      <method name="restrict_plugins"
6179
 
              c:identifier="grl_plugin_registry_restrict_plugins">
6180
 
        <doc xml:whitespace="preserve">Restrict the plugins that application sees to this list.
6181
 
 
6182
 
Other plugins will not be available for the application, unless it uses
6183
 
directly #grl_plugin_registry_load() function.</doc>
6184
 
        <return-value transfer-ownership="none">
6185
 
          <type name="none" c:type="void"/>
6186
 
        </return-value>
6187
 
        <parameters>
6188
 
          <parameter name="plugins" transfer-ownership="none">
6189
 
            <doc xml:whitespace="preserve">a @NULL-terminated array of plugins identifiers</doc>
6190
 
            <type name="utf8" c:type="gchar**"/>
6191
 
          </parameter>
6192
 
        </parameters>
6193
 
      </method>
6194
 
      <method name="unload"
6195
 
              c:identifier="grl_plugin_registry_unload"
6196
 
              version="0.1.7"
6197
 
              throws="1">
6198
 
        <doc xml:whitespace="preserve">Unload from memory a module identified by @plugin_id. This means call the
6199
 
module's deinit function.</doc>
6200
 
        <return-value transfer-ownership="none">
6201
 
          <doc xml:whitespace="preserve">%TRUE% on success.</doc>
6202
 
          <type name="gboolean" c:type="gboolean"/>
6203
 
        </return-value>
6204
 
        <parameters>
6205
 
          <parameter name="plugin_id" transfer-ownership="none">
6206
 
            <doc xml:whitespace="preserve">the identifier of the plugin</doc>
6207
 
            <type name="utf8" c:type="gchar*"/>
6208
 
          </parameter>
6209
 
        </parameters>
6210
 
      </method>
6211
 
      <method name="unregister_source"
6212
 
              c:identifier="grl_plugin_registry_unregister_source"
6213
 
              version="0.1.7"
6214
 
              throws="1">
6215
 
        <doc xml:whitespace="preserve">Removes the @source from the @registry hash table</doc>
6216
 
        <return-value transfer-ownership="none">
6217
 
          <doc xml:whitespace="preserve">%TRUE if success, %FALSE% otherwise.</doc>
6218
 
          <type name="gboolean" c:type="gboolean"/>
6219
 
        </return-value>
6220
 
        <parameters>
6221
 
          <parameter name="source" transfer-ownership="none">
6222
 
            <doc xml:whitespace="preserve">the source to unregister</doc>
6223
 
            <type name="MediaPlugin" c:type="GrlMediaPlugin*"/>
6224
 
          </parameter>
6225
 
        </parameters>
6226
 
      </method>
6227
 
      <field name="parent">
6228
 
        <type name="GObject.Object" c:type="GObject"/>
6229
 
      </field>
6230
 
      <field name="priv" readable="0" private="1">
6231
 
        <type name="PluginRegistryPrivate" c:type="GrlPluginRegistryPrivate*"/>
6232
 
      </field>
6233
 
      <field name="_grl_reserved" readable="0" private="1">
6234
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
6235
 
          <type name="gpointer" c:type="gpointer"/>
6236
 
        </array>
6237
 
      </field>
6238
 
      <glib:signal name="source-added" when="first" action="1">
6239
 
        <doc xml:whitespace="preserve">Signals that a plugin has been added to the registry.</doc>
6240
 
        <return-value transfer-ownership="none">
6241
 
          <type name="none"/>
6242
 
        </return-value>
6243
 
        <parameters>
6244
 
          <parameter name="plugin" transfer-ownership="none">
6245
 
            <doc xml:whitespace="preserve">the plugin that has been added</doc>
6246
 
            <type name="MediaPlugin"/>
6247
 
          </parameter>
6248
 
        </parameters>
6249
 
      </glib:signal>
6250
 
      <glib:signal name="source-removed" when="first" action="1">
6251
 
        <doc xml:whitespace="preserve">Signals that a plugin has been removed from the registry.</doc>
6252
 
        <return-value transfer-ownership="none">
6253
 
          <type name="none"/>
6254
 
        </return-value>
6255
 
        <parameters>
6256
 
          <parameter name="plugin" transfer-ownership="none">
6257
 
            <doc xml:whitespace="preserve">the plugin that has been removed</doc>
6258
 
            <type name="MediaPlugin"/>
6259
 
          </parameter>
6260
 
        </parameters>
6261
 
      </glib:signal>
6262
 
    </class>
6263
 
    <record name="PluginRegistryClass"
6264
 
            c:type="GrlPluginRegistryClass"
6265
 
            glib:is-gtype-struct-for="PluginRegistry">
6266
 
      <doc xml:whitespace="preserve">Grilo PluginRegistry class. Dynamic loader of plugins.</doc>
6267
 
      <field name="parent_class">
6268
 
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
6269
 
      </field>
6270
 
      <field name="_grl_reserved" readable="0" private="1">
6271
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
6272
 
          <type name="gpointer" c:type="gpointer"/>
6273
 
        </array>
6274
 
      </field>
6275
 
    </record>
6276
 
    <record name="PluginRegistryPrivate"
6277
 
            c:type="GrlPluginRegistryPrivate"
6278
 
            disguised="1">
6279
 
    </record>
6280
 
    <class name="RelatedKeys"
6281
 
           c:symbol-prefix="related_keys"
6282
 
           c:type="GrlRelatedKeys"
6283
 
           parent="GObject.Object"
6284
 
           glib:type-name="GrlRelatedKeys"
6285
 
           glib:get-type="grl_related_keys_get_type"
6286
 
           glib:type-struct="RelatedKeysClass">
6287
 
      <constructor name="new"
6288
 
                   c:identifier="grl_related_keys_new"
6289
 
                   version="0.1.10">
6290
 
        <doc xml:whitespace="preserve">Creates a new #GrlRelatedKeys instance that can be used to store related
6291
 
keys and their values.</doc>
6292
 
        <return-value transfer-ownership="full">
6293
 
          <doc xml:whitespace="preserve">a new object.</doc>
6294
 
          <type name="RelatedKeys" c:type="GrlRelatedKeys*"/>
6295
 
        </return-value>
6296
 
      </constructor>
6297
 
      <constructor name="new_valist"
6298
 
                   c:identifier="grl_related_keys_new_valist"
6299
 
                   version="0.1.10"
6300
 
                   introspectable="0">
6301
 
        <doc xml:whitespace="preserve">Creates a new #GrlRelatedKeys containing pairs of (key, value). Finish the
6302
 
list with %NULL.
6303
 
 
6304
 
In case of a binary-type key, the expected element is (key, value, size).
6305
 
 
6306
 
value type will be extracted from key information.</doc>
6307
 
        <return-value transfer-ownership="full">
6308
 
          <doc xml:whitespace="preserve">a new #GrlRelatedKeys</doc>
6309
 
          <type name="RelatedKeys" c:type="GrlRelatedKeys*"/>
6310
 
        </return-value>
6311
 
        <parameters>
6312
 
          <parameter name="key" transfer-ownership="none">
6313
 
            <doc xml:whitespace="preserve">first key</doc>
6314
 
            <type name="KeyID" c:type="GrlKeyID"/>
6315
 
          </parameter>
6316
 
          <parameter name="args" transfer-ownership="none">
6317
 
            <doc xml:whitespace="preserve">#va_list of value, followed by (key,value) pairs to insert</doc>
6318
 
            <type name="va_list" c:type="va_list"/>
6319
 
          </parameter>
6320
 
        </parameters>
6321
 
      </constructor>
6322
 
      <constructor name="new_with_keys"
6323
 
                   c:identifier="grl_related_keys_new_with_keys"
6324
 
                   version="0.1.10"
6325
 
                   introspectable="0">
6326
 
        <doc xml:whitespace="preserve">Creates a initial #GrlRelatedKeys containing the list of (key, value)
6327
 
pairs. Finish the list with %NULL.
6328
 
 
6329
 
For more information see #grl_related_keys_new_valist.</doc>
6330
 
        <return-value transfer-ownership="full">
6331
 
          <doc xml:whitespace="preserve">a new #GrlRelatedKeys</doc>
6332
 
          <type name="RelatedKeys" c:type="GrlRelatedKeys*"/>
6333
 
        </return-value>
6334
 
        <parameters>
6335
 
          <parameter name="key" transfer-ownership="none">
6336
 
            <doc xml:whitespace="preserve">first key</doc>
6337
 
            <type name="KeyID" c:type="GrlKeyID"/>
6338
 
          </parameter>
6339
 
          <parameter transfer-ownership="none">
6340
 
            <varargs>
6341
 
            </varargs>
6342
 
          </parameter>
6343
 
        </parameters>
6344
 
      </constructor>
6345
 
      <method name="add"
6346
 
              c:identifier="grl_related_keys_add"
6347
 
              version="0.1.10"
6348
 
              deprecated="Use grl_related_keys_set() instead"
6349
 
              deprecated-version="0.1.13">
6350
 
        <doc xml:whitespace="preserve">Adds a new @key to @relkeys, with no value. If @key already exists, it does
6351
 
nothing.</doc>
6352
 
        <return-value transfer-ownership="none">
6353
 
          <type name="none" c:type="void"/>
6354
 
        </return-value>
6355
 
        <parameters>
6356
 
          <parameter name="key" transfer-ownership="none">
6357
 
            <doc xml:whitespace="preserve">key to add</doc>
6358
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6359
 
          </parameter>
6360
 
        </parameters>
6361
 
      </method>
6362
 
      <method name="dup" c:identifier="grl_related_keys_dup" version="0.1.10">
6363
 
        <doc xml:whitespace="preserve">Makes a deep copy of @relkeys and its contents.
6364
 
 
6365
 
Free it with #g_object_unref.</doc>
6366
 
        <return-value transfer-ownership="full">
6367
 
          <doc xml:whitespace="preserve">a new #GrlRelatedKeys.</doc>
6368
 
          <type name="RelatedKeys" c:type="GrlRelatedKeys*"/>
6369
 
        </return-value>
6370
 
      </method>
6371
 
      <method name="get" c:identifier="grl_related_keys_get" version="0.1.10">
6372
 
        <doc xml:whitespace="preserve">Get the value associated with @key from @relkeys. If it does not contain any
6373
 
value, %NULL will be returned.
6374
 
 
6375
 
freed by user.</doc>
6376
 
        <return-value transfer-ownership="none">
6377
 
          <doc xml:whitespace="preserve">a #GValue. This value should not be modified nor</doc>
6378
 
          <type name="GObject.Value" c:type="GValue*"/>
6379
 
        </return-value>
6380
 
        <parameters>
6381
 
          <parameter name="key" transfer-ownership="none">
6382
 
            <doc xml:whitespace="preserve">key to look up.</doc>
6383
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6384
 
          </parameter>
6385
 
        </parameters>
6386
 
      </method>
6387
 
      <method name="get_binary"
6388
 
              c:identifier="grl_related_keys_get_binary"
6389
 
              version="0.1.10">
6390
 
        <doc xml:whitespace="preserve">Returns the value associated with @key from @relkeys. If @key has no value,
6391
 
or value is not a binary, or @key is not in @relkeys, then 0 is returned.
6392
 
 
6393
 
successful @size will be set to the buffer size.</doc>
6394
 
        <return-value transfer-ownership="none">
6395
 
          <doc xml:whitespace="preserve">buffer location associated with @key, or %NULL in other case. If</doc>
6396
 
          <type name="guint8" c:type="guint8*"/>
6397
 
        </return-value>
6398
 
        <parameters>
6399
 
          <parameter name="key" transfer-ownership="none">
6400
 
            <doc xml:whitespace="preserve">key to use</doc>
6401
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6402
 
          </parameter>
6403
 
          <parameter name="size"
6404
 
                     direction="out"
6405
 
                     caller-allocates="0"
6406
 
                     transfer-ownership="full">
6407
 
            <doc xml:whitespace="preserve">location to store the buffer size</doc>
6408
 
            <type name="gsize" c:type="gsize*"/>
6409
 
          </parameter>
6410
 
        </parameters>
6411
 
      </method>
6412
 
      <method name="get_float"
6413
 
              c:identifier="grl_related_keys_get_float"
6414
 
              version="0.1.10">
6415
 
        <doc xml:whitespace="preserve">Returns the value associated with @key from @relkeys. If @key has no value,
6416
 
or value is not a gfloat, or @key is not in @relkeys, then 0 is returned.</doc>
6417
 
        <return-value transfer-ownership="none">
6418
 
          <doc xml:whitespace="preserve">float value associated with @key, or 0 in other case.</doc>
6419
 
          <type name="gfloat" c:type="gfloat"/>
6420
 
        </return-value>
6421
 
        <parameters>
6422
 
          <parameter name="key" transfer-ownership="none">
6423
 
            <doc xml:whitespace="preserve">key to use</doc>
6424
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6425
 
          </parameter>
6426
 
        </parameters>
6427
 
      </method>
6428
 
      <method name="get_int"
6429
 
              c:identifier="grl_related_keys_get_int"
6430
 
              version="0.1.10">
6431
 
        <doc xml:whitespace="preserve">Returns the value associated with @key from @relkeys. If @key has no value,
6432
 
or value is not a gint, or @key is not in @relkeys, then 0 is returned.</doc>
6433
 
        <return-value transfer-ownership="none">
6434
 
          <doc xml:whitespace="preserve">int value associated with @key, or 0 in other case.</doc>
6435
 
          <type name="gint" c:type="gint"/>
6436
 
        </return-value>
6437
 
        <parameters>
6438
 
          <parameter name="key" transfer-ownership="none">
6439
 
            <doc xml:whitespace="preserve">key to use</doc>
6440
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6441
 
          </parameter>
6442
 
        </parameters>
6443
 
      </method>
6444
 
      <method name="get_keys"
6445
 
              c:identifier="grl_related_keys_get_keys"
6446
 
              version="0.1.13">
6447
 
        <doc xml:whitespace="preserve">Returns a list with keys contained in @relkeys.
6448
 
 
6449
 
the keys. The content of the list should not be modified or freed. Use
6450
 
g_list_free() when done using the list.</doc>
6451
 
        <return-value transfer-ownership="container">
6452
 
          <doc xml:whitespace="preserve">a list with</doc>
6453
 
          <type name="GLib.List" c:type="GList*">
6454
 
            <type name="GObject.ParamSpec"/>
6455
 
          </type>
6456
 
        </return-value>
6457
 
      </method>
6458
 
      <method name="get_string"
6459
 
              c:identifier="grl_related_keys_get_string"
6460
 
              version="0.1.10">
6461
 
        <doc xml:whitespace="preserve">Returns the value associated with @key from @relkeys. If @key has no value,
6462
 
or value is not string, or @key is not in @relkeys, then %NULL is returned.
6463
 
 
6464
 
not change nor free the value.</doc>
6465
 
        <return-value transfer-ownership="none">
6466
 
          <doc xml:whitespace="preserve">string associated with @key, or %NULL in other case. Caller should</doc>
6467
 
          <type name="utf8" c:type="gchar*"/>
6468
 
        </return-value>
6469
 
        <parameters>
6470
 
          <parameter name="key" transfer-ownership="none">
6471
 
            <doc xml:whitespace="preserve">key to use</doc>
6472
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6473
 
          </parameter>
6474
 
        </parameters>
6475
 
      </method>
6476
 
      <method name="has_key"
6477
 
              c:identifier="grl_related_keys_has_key"
6478
 
              version="0.1.10">
6479
 
        <doc xml:whitespace="preserve">Checks if @key is in @relkeys.</doc>
6480
 
        <return-value transfer-ownership="none">
6481
 
          <doc xml:whitespace="preserve">%TRUE if @key is in @relkeys, %FALSE in other case.</doc>
6482
 
          <type name="gboolean" c:type="gboolean"/>
6483
 
        </return-value>
6484
 
        <parameters>
6485
 
          <parameter name="key" transfer-ownership="none">
6486
 
            <doc xml:whitespace="preserve">key to search</doc>
6487
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6488
 
          </parameter>
6489
 
        </parameters>
6490
 
      </method>
6491
 
      <method name="key_is_known"
6492
 
              c:identifier="grl_related_keys_key_is_known"
6493
 
              version="0.1.10"
6494
 
              deprecated="Use grl_related_keys_has_key() instead"
6495
 
              deprecated-version="0.1.13">
6496
 
        <doc xml:whitespace="preserve">Checks if @key has a value in @relkeys.</doc>
6497
 
        <return-value transfer-ownership="none">
6498
 
          <doc xml:whitespace="preserve">%TRUE if @key has a value.</doc>
6499
 
          <type name="gboolean" c:type="gboolean"/>
6500
 
        </return-value>
6501
 
        <parameters>
6502
 
          <parameter name="key" transfer-ownership="none">
6503
 
            <doc xml:whitespace="preserve">key to search</doc>
6504
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6505
 
          </parameter>
6506
 
        </parameters>
6507
 
      </method>
6508
 
      <method name="set" c:identifier="grl_related_keys_set" version="0.1.10">
6509
 
        <doc xml:whitespace="preserve">Sets the value associated with @key into @relkeys. Old value is freed and
6510
 
the new one is set.
6511
 
 
6512
 
Also, checks that @value is compliant with @key specification, modifying it
6513
 
accordingly. For instance, if @key requires a number between 0 and 10, but
6514
 
value is outside this range, it will be adapted accordingly.</doc>
6515
 
        <return-value transfer-ownership="none">
6516
 
          <type name="none" c:type="void"/>
6517
 
        </return-value>
6518
 
        <parameters>
6519
 
          <parameter name="key" transfer-ownership="none">
6520
 
            <doc xml:whitespace="preserve">key to change or add</doc>
6521
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6522
 
          </parameter>
6523
 
          <parameter name="value" transfer-ownership="none">
6524
 
            <doc xml:whitespace="preserve">the new value</doc>
6525
 
            <type name="GObject.Value" c:type="GValue*"/>
6526
 
          </parameter>
6527
 
        </parameters>
6528
 
      </method>
6529
 
      <method name="set_binary"
6530
 
              c:identifier="grl_related_keys_set_binary"
6531
 
              version="0.1.10">
6532
 
        <doc xml:whitespace="preserve">Sets the value associated with @key into @relkeys. @key must have been
6533
 
registered as a binary-type key. Old value is replaced by the new one.</doc>
6534
 
        <return-value transfer-ownership="none">
6535
 
          <type name="none" c:type="void"/>
6536
 
        </return-value>
6537
 
        <parameters>
6538
 
          <parameter name="key" transfer-ownership="none">
6539
 
            <doc xml:whitespace="preserve">key to change or add</doc>
6540
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6541
 
          </parameter>
6542
 
          <parameter name="buf" transfer-ownership="none">
6543
 
            <doc xml:whitespace="preserve">buffer holding the relkeys</doc>
6544
 
            <type name="guint8" c:type="guint8*"/>
6545
 
          </parameter>
6546
 
          <parameter name="size" transfer-ownership="none">
6547
 
            <doc xml:whitespace="preserve">size of the buffer</doc>
6548
 
            <type name="gsize" c:type="gsize"/>
6549
 
          </parameter>
6550
 
        </parameters>
6551
 
      </method>
6552
 
      <method name="set_float"
6553
 
              c:identifier="grl_related_keys_set_float"
6554
 
              version="0.1.10">
6555
 
        <doc xml:whitespace="preserve">Sets the value associated with @key into @relkeys. @key must have been
6556
 
registered as a float-type key. Old value is replaced by the new one.</doc>
6557
 
        <return-value transfer-ownership="none">
6558
 
          <type name="none" c:type="void"/>
6559
 
        </return-value>
6560
 
        <parameters>
6561
 
          <parameter name="key" transfer-ownership="none">
6562
 
            <doc xml:whitespace="preserve">key to change or add</doc>
6563
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6564
 
          </parameter>
6565
 
          <parameter name="floatvalue" transfer-ownership="none">
6566
 
            <doc xml:whitespace="preserve">the new value</doc>
6567
 
            <type name="gfloat" c:type="gfloat"/>
6568
 
          </parameter>
6569
 
        </parameters>
6570
 
      </method>
6571
 
      <method name="set_int"
6572
 
              c:identifier="grl_related_keys_set_int"
6573
 
              version="0.1.10">
6574
 
        <doc xml:whitespace="preserve">Sets the value associated with @key into @relkeys. @key must have been
6575
 
registered as an int-type key. Old value is replaced by the new one.</doc>
6576
 
        <return-value transfer-ownership="none">
6577
 
          <type name="none" c:type="void"/>
6578
 
        </return-value>
6579
 
        <parameters>
6580
 
          <parameter name="key" transfer-ownership="none">
6581
 
            <doc xml:whitespace="preserve">key to change or add</doc>
6582
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6583
 
          </parameter>
6584
 
          <parameter name="intvalue" transfer-ownership="none">
6585
 
            <doc xml:whitespace="preserve">the new value</doc>
6586
 
            <type name="gint" c:type="gint"/>
6587
 
          </parameter>
6588
 
        </parameters>
6589
 
      </method>
6590
 
      <method name="set_string"
6591
 
              c:identifier="grl_related_keys_set_string"
6592
 
              version="0.1.10">
6593
 
        <doc xml:whitespace="preserve">Sets the value associated with @key into @relkeys. @key must have been
6594
 
registered as a strying-type key. Old value is freed and the new one is set.</doc>
6595
 
        <return-value transfer-ownership="none">
6596
 
          <type name="none" c:type="void"/>
6597
 
        </return-value>
6598
 
        <parameters>
6599
 
          <parameter name="key" transfer-ownership="none">
6600
 
            <doc xml:whitespace="preserve">key to change or add</doc>
6601
 
            <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6602
 
          </parameter>
6603
 
          <parameter name="strvalue" transfer-ownership="none">
6604
 
            <doc xml:whitespace="preserve">the new value</doc>
6605
 
            <type name="utf8" c:type="gchar*"/>
6606
 
          </parameter>
6607
 
        </parameters>
6608
 
      </method>
6609
 
      <field name="parent">
6610
 
        <type name="GObject.Object" c:type="GObject"/>
6611
 
      </field>
6612
 
      <field name="priv" readable="0" private="1">
6613
 
        <type name="RelatedKeysPrivate" c:type="GrlRelatedKeysPrivate*"/>
6614
 
      </field>
6615
 
      <field name="_grl_reserved" readable="0" private="1">
6616
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
6617
 
          <type name="gpointer" c:type="gpointer"/>
6618
 
        </array>
6619
 
      </field>
6620
 
    </class>
6621
 
    <record name="RelatedKeysClass"
6622
 
            c:type="GrlRelatedKeysClass"
6623
 
            glib:is-gtype-struct-for="RelatedKeys">
6624
 
      <doc xml:whitespace="preserve">Grilo Data Multivalued class</doc>
6625
 
      <field name="parent_class">
6626
 
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
6627
 
      </field>
6628
 
      <field name="_grl_reserved" readable="0" private="1">
6629
 
        <array zero-terminated="0" c:type="gpointer" fixed-size="16">
6630
 
          <type name="gpointer" c:type="gpointer"/>
6631
 
        </array>
6632
 
      </field>
6633
 
    </record>
6634
 
    <record name="RelatedKeysPrivate"
6635
 
            c:type="GrlRelatedKeysPrivate"
6636
 
            disguised="1">
6637
 
    </record>
6638
 
    <constant name="SOURCE_REMAINING_UNKNOWN"
6639
 
              value="-1"
6640
 
              c:type="GRL_SOURCE_REMAINING_UNKNOWN">
6641
 
      <type name="gint" c:type="gint"/>
6642
 
    </constant>
6643
 
    <bitfield name="SupportedOps" c:type="GrlSupportedOps">
6644
 
      <doc xml:whitespace="preserve">Bitwise flags which reflect the kind of operations that a
6645
 
#GrlMediaPlugin supports.</doc>
6646
 
      <member name="none" value="0" c:identifier="GRL_OP_NONE"/>
6647
 
      <member name="metadata" value="1" c:identifier="GRL_OP_METADATA"/>
6648
 
      <member name="resolve" value="2" c:identifier="GRL_OP_RESOLVE"/>
6649
 
      <member name="browse" value="4" c:identifier="GRL_OP_BROWSE"/>
6650
 
      <member name="search" value="8" c:identifier="GRL_OP_SEARCH"/>
6651
 
      <member name="query" value="16" c:identifier="GRL_OP_QUERY"/>
6652
 
      <member name="store" value="32" c:identifier="GRL_OP_STORE"/>
6653
 
      <member name="store_parent"
6654
 
              value="64"
6655
 
              c:identifier="GRL_OP_STORE_PARENT"/>
6656
 
      <member name="remove" value="128" c:identifier="GRL_OP_REMOVE"/>
6657
 
      <member name="set_metadata"
6658
 
              value="256"
6659
 
              c:identifier="GRL_OP_SET_METADATA"/>
6660
 
      <member name="media_from_uri"
6661
 
              value="512"
6662
 
              c:identifier="GRL_OP_MEDIA_FROM_URI"/>
6663
 
      <member name="notify_change"
6664
 
              value="1024"
6665
 
              c:identifier="GRL_OP_NOTIFY_CHANGE"/>
6666
 
    </bitfield>
6667
 
    <function name="init" c:identifier="grl_init" version="0.1.6">
6668
 
      <doc xml:whitespace="preserve">Initializes the Grilo library</doc>
6669
 
      <return-value transfer-ownership="none">
6670
 
        <type name="none" c:type="void"/>
6671
 
      </return-value>
6672
 
      <parameters>
6673
 
        <parameter name="argc"
6674
 
                   direction="inout"
6675
 
                   caller-allocates="0"
6676
 
                   transfer-ownership="full"
6677
 
                   allow-none="1">
6678
 
          <doc xml:whitespace="preserve">number of input arguments, length of @argv</doc>
6679
 
          <type name="gint" c:type="gint*"/>
6680
 
        </parameter>
6681
 
        <parameter name="argv"
6682
 
                   direction="inout"
6683
 
                   caller-allocates="0"
6684
 
                   transfer-ownership="full"
6685
 
                   allow-none="1">
6686
 
          <doc xml:whitespace="preserve">list of arguments</doc>
6687
 
          <array length="0" zero-terminated="0" c:type="gchar**">
6688
 
            <type name="utf8"/>
6689
 
          </array>
6690
 
        </parameter>
6691
 
      </parameters>
6692
 
    </function>
6693
 
    <function name="init_get_option_group"
6694
 
              c:identifier="grl_init_get_option_group"
6695
 
              version="0.1.6"
6696
 
              introspectable="0">
6697
 
      <doc xml:whitespace="preserve">Returns a #GOptionGroup with Grilo's argument specifications.
6698
 
 
6699
 
This function is useful if you want to integrate Grilo with other
6700
 
libraries that use the GOption commandline parser
6701
 
(see g_option_context_add_group() ).
6702
 
 
6703
 
after use.</doc>
6704
 
      <return-value>
6705
 
        <doc xml:whitespace="preserve">a pointer to Grilo's option group. Should be dereferenced</doc>
6706
 
        <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
6707
 
      </return-value>
6708
 
    </function>
6709
 
    <function name="list_from_va"
6710
 
              c:identifier="grl_list_from_va"
6711
 
              version="0.1.6"
6712
 
              introspectable="0">
6713
 
      <doc xml:whitespace="preserve">Returns a #GList containing the va_list pointers. Use @NULL to finalize them,</doc>
6714
 
      <return-value>
6715
 
        <doc xml:whitespace="preserve">a #GList.</doc>
6716
 
        <type name="GLib.List" c:type="GList*">
6717
 
          <type name="gpointer" c:type="gpointer"/>
6718
 
        </type>
6719
 
      </return-value>
6720
 
      <parameters>
6721
 
        <parameter name="p" transfer-ownership="none">
6722
 
          <doc xml:whitespace="preserve">first pointer</doc>
6723
 
          <type name="gpointer" c:type="gpointer"/>
6724
 
        </parameter>
6725
 
        <parameter transfer-ownership="none">
6726
 
          <varargs>
6727
 
          </varargs>
6728
 
        </parameter>
6729
 
      </parameters>
6730
 
    </function>
6731
 
    <function name="log" c:identifier="grl_log" introspectable="0">
6732
 
      <return-value transfer-ownership="none">
6733
 
        <type name="none" c:type="void"/>
6734
 
      </return-value>
6735
 
      <parameters>
6736
 
        <parameter name="domain" transfer-ownership="none">
6737
 
          <type name="LogDomain" c:type="GrlLogDomain*"/>
6738
 
        </parameter>
6739
 
        <parameter name="level" transfer-ownership="none">
6740
 
          <type name="LogLevel" c:type="GrlLogLevel"/>
6741
 
        </parameter>
6742
 
        <parameter name="strloc" transfer-ownership="none">
6743
 
          <type name="utf8" c:type="gchar*"/>
6744
 
        </parameter>
6745
 
        <parameter name="format" transfer-ownership="none">
6746
 
          <type name="utf8" c:type="gchar*"/>
6747
 
        </parameter>
6748
 
        <parameter transfer-ownership="none">
6749
 
          <varargs>
6750
 
          </varargs>
6751
 
        </parameter>
6752
 
      </parameters>
6753
 
    </function>
6754
 
    <function name="log_configure"
6755
 
              c:identifier="grl_log_configure"
6756
 
              version="0.1.7">
6757
 
      <doc xml:whitespace="preserve">Configure a set of log domains. The default configuration is to display
6758
 
warning and error messages only for all the log domains.
6759
 
 
6760
 
The configuration string follows the following grammar:
6761
 
 
6762
 
|[
6763
 
config-list: config | config ',' config-list
6764
 
config: domain ':' level
6765
 
domain: '*' | [a-zA-Z0-9]+
6766
 
level: '*' | '-' | named-level | num-level
6767
 
named-level: "none" | "error" | "warning" | "message" | "info" | "debug"
6768
 
num-level: [0-5]
6769
 
]|
6770
 
 
6771
 
examples:
6772
 
&lt;itemizedlist&gt;
6773
 
&lt;listitem&gt;&lt;para&gt;"*:*": maximum verbosity for all the log domains&lt;/para&gt;
6774
 
&lt;/listitem&gt;
6775
 
&lt;listitem&gt;&lt;para&gt;"*:-": don't print any message&lt;/para&gt;&lt;/listitem&gt;
6776
 
&lt;listitem&gt;&lt;para&gt;"media-source:debug,metadata-source:debug": prints debug,
6777
 
info, message warning and error messages for the media-source and
6778
 
metadata-source log domains&lt;/para&gt;&lt;/listitem&gt;
6779
 
&lt;/itemizedlist&gt;
6780
 
 
6781
 
&lt;note&gt;It's possible to override the log configuration at runtime by
6782
 
defining the GRL_DEBUG environment variable to a configuration string
6783
 
as described above&lt;/note&gt;</doc>
6784
 
      <return-value transfer-ownership="none">
6785
 
        <type name="none" c:type="void"/>
6786
 
      </return-value>
6787
 
      <parameters>
6788
 
        <parameter name="config" transfer-ownership="none">
6789
 
          <doc xml:whitespace="preserve">A string describing the wanted log configuration</doc>
6790
 
          <type name="utf8" c:type="gchar*"/>
6791
 
        </parameter>
6792
 
      </parameters>
6793
 
    </function>
6794
 
    <function name="log_domain_new"
6795
 
              c:identifier="grl_log_domain_new"
6796
 
              moved-to="LogDomain.new"
6797
 
              version="0.1.7"
6798
 
              introspectable="0">
6799
 
      <return-value>
6800
 
        <doc xml:whitespace="preserve">The new log domain</doc>
6801
 
        <type name="LogDomain" c:type="GrlLogDomain*"/>
6802
 
      </return-value>
6803
 
      <parameters>
6804
 
        <parameter name="name" transfer-ownership="none">
6805
 
          <doc xml:whitespace="preserve">The name for the new log domain</doc>
6806
 
          <type name="utf8" c:type="gchar*"/>
6807
 
        </parameter>
6808
 
      </parameters>
6809
 
    </function>
6810
 
    <function name="marshal_VOID__BOXED_ENUM_BOOLEAN"
6811
 
              c:identifier="grl_marshal_VOID__BOXED_ENUM_BOOLEAN">
6812
 
      <return-value transfer-ownership="none">
6813
 
        <type name="none" c:type="void"/>
6814
 
      </return-value>
6815
 
      <parameters>
6816
 
        <parameter name="closure" transfer-ownership="none">
6817
 
          <type name="GObject.Closure" c:type="GClosure*"/>
6818
 
        </parameter>
6819
 
        <parameter name="return_value" transfer-ownership="none">
6820
 
          <type name="GObject.Value" c:type="GValue*"/>
6821
 
        </parameter>
6822
 
        <parameter name="n_param_values" transfer-ownership="none">
6823
 
          <type name="guint" c:type="guint"/>
6824
 
        </parameter>
6825
 
        <parameter name="param_values" transfer-ownership="none">
6826
 
          <type name="GObject.Value" c:type="GValue*"/>
6827
 
        </parameter>
6828
 
        <parameter name="invocation_hint" transfer-ownership="none">
6829
 
          <type name="gpointer" c:type="gpointer"/>
6830
 
        </parameter>
6831
 
        <parameter name="marshal_data" transfer-ownership="none">
6832
 
          <type name="gpointer" c:type="gpointer"/>
6833
 
        </parameter>
6834
 
      </parameters>
6835
 
    </function>
6836
 
    <function name="metadata_key_get_desc"
6837
 
              c:identifier="grl_metadata_key_get_desc"
6838
 
              version="0.1.6">
6839
 
      <doc xml:whitespace="preserve">Retrieves the description associated with the key</doc>
6840
 
      <return-value transfer-ownership="none">
6841
 
        <doc xml:whitespace="preserve">the description of the key</doc>
6842
 
        <type name="utf8" c:type="gchar*"/>
6843
 
      </return-value>
6844
 
      <parameters>
6845
 
        <parameter name="key" transfer-ownership="none">
6846
 
          <doc xml:whitespace="preserve">key to look up</doc>
6847
 
          <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6848
 
        </parameter>
6849
 
      </parameters>
6850
 
    </function>
6851
 
    <function name="metadata_key_get_name"
6852
 
              c:identifier="grl_metadata_key_get_name"
6853
 
              version="0.1.6">
6854
 
      <doc xml:whitespace="preserve">Retrieves the name associated with the key</doc>
6855
 
      <return-value transfer-ownership="none">
6856
 
        <doc xml:whitespace="preserve">The name of the key</doc>
6857
 
        <type name="utf8" c:type="gchar*"/>
6858
 
      </return-value>
6859
 
      <parameters>
6860
 
        <parameter name="key" transfer-ownership="none">
6861
 
          <doc xml:whitespace="preserve">key to look up</doc>
6862
 
          <type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6863
 
        </parameter>
6864
 
      </parameters>
6865
 
    </function>
6866
 
    <function name="metadata_key_setup_system_keys"
6867
 
              c:identifier="grl_metadata_key_setup_system_keys">
6868
 
      <return-value transfer-ownership="none">
6869
 
        <type name="none" c:type="void"/>
6870
 
      </return-value>
6871
 
      <parameters>
6872
 
        <parameter name="registry" transfer-ownership="none">
6873
 
          <type name="PluginRegistry" c:type="GrlPluginRegistry*"/>
6874
 
        </parameter>
6875
 
      </parameters>
6876
 
    </function>
6877
 
    <function name="multiple_cancel"
6878
 
              c:identifier="grl_multiple_cancel"
6879
 
              version="0.1.6"
6880
 
              deprecated="use grl_operation_cancel() instead."
6881
 
              deprecated-version="0.1.16">
6882
 
      <doc xml:whitespace="preserve">Cancel a running multiple search by issuing a cancel operation on each
6883
 
source involved involved in the operation.</doc>
6884
 
      <return-value transfer-ownership="none">
6885
 
        <type name="none" c:type="void"/>
6886
 
      </return-value>
6887
 
      <parameters>
6888
 
        <parameter name="search_id" transfer-ownership="none">
6889
 
          <doc xml:whitespace="preserve">the identifier of the multiple operation to cancel</doc>
6890
 
          <type name="guint" c:type="guint"/>
6891
 
        </parameter>
6892
 
      </parameters>
6893
 
    </function>
6894
 
    <function name="multiple_get_media_from_uri"
6895
 
              c:identifier="grl_multiple_get_media_from_uri"
6896
 
              version="0.1.7">
6897
 
      <doc xml:whitespace="preserve">Goes though all available media sources until it finds one capable of
6898
 
constructing a GrlMedia object representing the media resource exposed
6899
 
by @uri.
6900
 
 
6901
 
This method is asynchronous.</doc>
6902
 
      <return-value transfer-ownership="none">
6903
 
        <type name="none" c:type="void"/>
6904
 
      </return-value>
6905
 
      <parameters>
6906
 
        <parameter name="uri" transfer-ownership="none">
6907
 
          <doc xml:whitespace="preserve">A URI that can be used to identify a media resource</doc>
6908
 
          <type name="utf8" c:type="gchar*"/>
6909
 
        </parameter>
6910
 
        <parameter name="keys" transfer-ownership="none">
6911
 
          <doc xml:whitespace="preserve">List of metadata keys we want to obtain.</doc>
6912
 
          <type name="GLib.List" c:type="GList*">
6913
 
            <type name="KeyID"/>
6914
 
          </type>
6915
 
        </parameter>
6916
 
        <parameter name="flags" transfer-ownership="none">
6917
 
          <doc xml:whitespace="preserve">the operation flags</doc>
6918
 
          <type name="MetadataResolutionFlags"
6919
 
                c:type="GrlMetadataResolutionFlags"/>
6920
 
        </parameter>
6921
 
        <parameter name="callback"
6922
 
                   transfer-ownership="none"
6923
 
                   scope="notified"
6924
 
                   closure="4">
6925
 
          <doc xml:whitespace="preserve">the user defined callback</doc>
6926
 
          <type name="MediaSourceMetadataCb"
6927
 
                c:type="GrlMediaSourceMetadataCb"/>
6928
 
        </parameter>
6929
 
        <parameter name="user_data" transfer-ownership="none">
6930
 
          <doc xml:whitespace="preserve">the user data to pass to the user callback</doc>
6931
 
          <type name="gpointer" c:type="gpointer"/>
6932
 
        </parameter>
6933
 
      </parameters>
6934
 
    </function>
6935
 
    <function name="multiple_search"
6936
 
              c:identifier="grl_multiple_search"
6937
 
              version="0.1.6">
6938
 
      <doc xml:whitespace="preserve">Search for @text in all the sources specified in @sources.
6939
 
 
6940
 
If @text is @NULL then NULL-text searchs will be used for each searchable
6941
 
plugin (see #grl_media_source_search for more details).
6942
 
 
6943
 
This method is asynchronous.</doc>
6944
 
      <return-value transfer-ownership="none">
6945
 
        <doc xml:whitespace="preserve">the operation identifier</doc>
6946
 
        <type name="guint" c:type="guint"/>
6947
 
      </return-value>
6948
 
      <parameters>
6949
 
        <parameter name="sources" transfer-ownership="none" allow-none="1">
6950
 
          <doc xml:whitespace="preserve"> a #GList of #GrlMediaSource&lt;!-- --&gt;s to search from (%NULL for all searchable sources)</doc>
6951
 
          <type name="GLib.List" c:type="GList*">
6952
 
            <type name="MediaSource"/>
6953
 
          </type>
6954
 
        </parameter>
6955
 
        <parameter name="text" transfer-ownership="none">
6956
 
          <doc xml:whitespace="preserve">the text to search for</doc>
6957
 
          <type name="utf8" c:type="gchar*"/>
6958
 
        </parameter>
6959
 
        <parameter name="keys" transfer-ownership="none">
6960
 
          <doc xml:whitespace="preserve">the #GList of #GrlKeyID to retrieve</doc>
6961
 
          <type name="GLib.List" c:type="GList*">
6962
 
            <type name="GObject.ParamSpec"/>
6963
 
          </type>
6964
 
        </parameter>
6965
 
        <parameter name="count" transfer-ownership="none">
6966
 
          <doc xml:whitespace="preserve">the maximum number of elements to retrieve</doc>
6967
 
          <type name="guint" c:type="guint"/>
6968
 
        </parameter>
6969
 
        <parameter name="flags" transfer-ownership="none">
6970
 
          <doc xml:whitespace="preserve">the operation flags</doc>
6971
 
          <type name="MetadataResolutionFlags"
6972
 
                c:type="GrlMetadataResolutionFlags"/>
6973
 
        </parameter>
6974
 
        <parameter name="callback"
6975
 
                   transfer-ownership="none"
6976
 
                   scope="notified"
6977
 
                   closure="6">
6978
 
          <doc xml:whitespace="preserve">the user defined callback</doc>
6979
 
          <type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
6980
 
        </parameter>
6981
 
        <parameter name="user_data" transfer-ownership="none">
6982
 
          <doc xml:whitespace="preserve">the user data to pass to the user callback</doc>
6983
 
          <type name="gpointer" c:type="gpointer"/>
6984
 
        </parameter>
6985
 
      </parameters>
6986
 
    </function>
6987
 
    <function name="multiple_search_sync"
6988
 
              c:identifier="grl_multiple_search_sync"
6989
 
              version="0.1.6"
6990
 
              throws="1">
6991
 
      <doc xml:whitespace="preserve">Search for @text in all the sources specified in @sources.
6992
 
 
6993
 
This method is synchronous.</doc>
6994
 
      <return-value transfer-ownership="full">
6995
 
        <doc xml:whitespace="preserve">a list with #GrlMedia elements</doc>
6996
 
        <type name="GLib.List" c:type="GList*">
6997
 
          <type name="Media"/>
6998
 
        </type>
6999
 
      </return-value>
7000
 
      <parameters>
7001
 
        <parameter name="sources" transfer-ownership="none" allow-none="1">
7002
 
          <doc xml:whitespace="preserve"> a #GList of #GrlMediaSource&lt;!-- --&gt;s where to search from (%NULL for all available sources with search capability)</doc>
7003
 
          <type name="GLib.List" c:type="GList*">
7004
 
            <type name="MediaSource"/>
7005
 
          </type>
7006
 
        </parameter>
7007
 
        <parameter name="text" transfer-ownership="none">
7008
 
          <doc xml:whitespace="preserve">the text to search for</doc>
7009
 
          <type name="utf8" c:type="gchar*"/>
7010
 
        </parameter>
7011
 
        <parameter name="keys" transfer-ownership="none">
7012
 
          <doc xml:whitespace="preserve">the #GList of #GrlKeyID to retrieve</doc>
7013
 
          <type name="GLib.List" c:type="GList*">
7014
 
            <type name="GObject.ParamSpec"/>
7015
 
          </type>
7016
 
        </parameter>
7017
 
        <parameter name="count" transfer-ownership="none">
7018
 
          <doc xml:whitespace="preserve">the maximum number of elements to retrieve</doc>
7019
 
          <type name="guint" c:type="guint"/>
7020
 
        </parameter>
7021
 
        <parameter name="flags" transfer-ownership="none">
7022
 
          <doc xml:whitespace="preserve">the operation flags</doc>
7023
 
          <type name="MetadataResolutionFlags"
7024
 
                c:type="GrlMetadataResolutionFlags"/>
7025
 
        </parameter>
7026
 
      </parameters>
7027
 
    </function>
7028
 
    <function name="operation_cancel"
7029
 
              c:identifier="grl_operation_cancel"
7030
 
              version="0.1.16">
7031
 
      <doc xml:whitespace="preserve">Cancel an operation.</doc>
7032
 
      <return-value transfer-ownership="none">
7033
 
        <type name="none" c:type="void"/>
7034
 
      </return-value>
7035
 
      <parameters>
7036
 
        <parameter name="operation_id" transfer-ownership="none">
7037
 
          <doc xml:whitespace="preserve">the identifier of a running operation</doc>
7038
 
          <type name="guint" c:type="guint"/>
7039
 
        </parameter>
7040
 
      </parameters>
7041
 
    </function>
7042
 
    <function name="operation_get_data"
7043
 
              c:identifier="grl_operation_get_data"
7044
 
              version="0.1.16">
7045
 
      <doc xml:whitespace="preserve">Obtains the previously attached data</doc>
7046
 
      <return-value transfer-ownership="none">
7047
 
        <doc xml:whitespace="preserve">The previously attached data.</doc>
7048
 
        <type name="gpointer" c:type="gpointer"/>
7049
 
      </return-value>
7050
 
      <parameters>
7051
 
        <parameter name="operation_id" transfer-ownership="none">
7052
 
          <doc xml:whitespace="preserve">the identifier of a running operation</doc>
7053
 
          <type name="guint" c:type="guint"/>
7054
 
        </parameter>
7055
 
      </parameters>
7056
 
    </function>
7057
 
    <function name="operation_set_data"
7058
 
              c:identifier="grl_operation_set_data"
7059
 
              version="0.1.16">
7060
 
      <doc xml:whitespace="preserve">Attach a pointer to the specific operation.</doc>
7061
 
      <return-value transfer-ownership="none">
7062
 
        <type name="none" c:type="void"/>
7063
 
      </return-value>
7064
 
      <parameters>
7065
 
        <parameter name="operation_id" transfer-ownership="none">
7066
 
          <doc xml:whitespace="preserve">the identifier of a running operation</doc>
7067
 
          <type name="guint" c:type="guint"/>
7068
 
        </parameter>
7069
 
        <parameter name="user_data" transfer-ownership="none">
7070
 
          <doc xml:whitespace="preserve">the data to attach</doc>
7071
 
          <type name="gpointer" c:type="gpointer"/>
7072
 
        </parameter>
7073
 
      </parameters>
7074
 
    </function>
7075
 
    <function name="paging_translate"
7076
 
              c:identifier="grl_paging_translate"
7077
 
              version="0.1.6">
7078
 
      <doc xml:whitespace="preserve">Grilo browsing implements a paging mechanism through @skip and @count values.
7079
 
 
7080
 
But there are some services (like Jamendo or Flickr) where paging is done
7081
 
through a page number and page size: user request all elements in a page,
7082
 
specifying in most cases what is the page size.
7083
 
 
7084
 
This function is a helper for this task, computing from @skip and @count what
7085
 
is the optimal value of page size (limited by @max_page_size), which page
7086
 
should the user request, and where requested data start inside the page.
7087
 
 
7088
 
By optimal we mean that it computes those values so only one page is required
7089
 
to satisfy the data, using the smallest page size. If user is limiting page
7090
 
size, then more requests to services might be needed. But still page size
7091
 
will be an optimal value.</doc>
7092
 
      <return-value transfer-ownership="none">
7093
 
        <type name="none" c:type="void"/>
7094
 
      </return-value>
7095
 
      <parameters>
7096
 
        <parameter name="skip" transfer-ownership="none">
7097
 
          <doc xml:whitespace="preserve">number of elements to skip</doc>
7098
 
          <type name="guint" c:type="guint"/>
7099
 
        </parameter>
7100
 
        <parameter name="count" transfer-ownership="none">
7101
 
          <doc xml:whitespace="preserve">number of elements to retrieve</doc>
7102
 
          <type name="guint" c:type="guint"/>
7103
 
        </parameter>
7104
 
        <parameter name="max_page_size" transfer-ownership="none">
7105
 
          <doc xml:whitespace="preserve">maximum value for page size</doc>
7106
 
          <type name="guint" c:type="guint"/>
7107
 
        </parameter>
7108
 
        <parameter name="page_size" transfer-ownership="none">
7109
 
          <doc xml:whitespace="preserve">optimal page size</doc>
7110
 
          <type name="guint" c:type="guint*"/>
7111
 
        </parameter>
7112
 
        <parameter name="page_number" transfer-ownership="none">
7113
 
          <doc xml:whitespace="preserve">page which contain the first element to retrieve (starting at 1)</doc>
7114
 
          <type name="guint" c:type="guint*"/>
7115
 
        </parameter>
7116
 
        <parameter name="internal_offset" transfer-ownership="none">
7117
 
          <doc xml:whitespace="preserve">in the @page_number, offset where first element can be found (starting at 0)</doc>
7118
 
          <type name="guint" c:type="guint*"/>
7119
 
        </parameter>
7120
 
      </parameters>
7121
 
    </function>
7122
 
  </namespace>
7123
 
</repository>