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"/>
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"/>
20
<constant name="CONFIG_KEY_APIKEY"
22
c:type="GRL_CONFIG_KEY_APIKEY">
23
<type name="utf8" c:type="gchar*"/>
25
<constant name="CONFIG_KEY_APIKEY_BLOB"
27
c:type="GRL_CONFIG_KEY_APIKEY_BLOB">
28
<type name="utf8" c:type="gchar*"/>
30
<constant name="CONFIG_KEY_APISECRET"
32
c:type="GRL_CONFIG_KEY_APISECRET">
33
<type name="utf8" c:type="gchar*"/>
35
<constant name="CONFIG_KEY_APITOKEN"
37
c:type="GRL_CONFIG_KEY_APITOKEN">
38
<type name="utf8" c:type="gchar*"/>
40
<constant name="CONFIG_KEY_PASSWORD"
42
c:type="GRL_CONFIG_KEY_PASSWORD">
43
<type name="utf8" c:type="gchar*"/>
45
<constant name="CONFIG_KEY_PLUGIN"
47
c:type="GRL_CONFIG_KEY_PLUGIN">
48
<type name="utf8" c:type="gchar*"/>
50
<constant name="CONFIG_KEY_SOURCE"
52
c:type="GRL_CONFIG_KEY_SOURCE">
53
<type name="utf8" c:type="gchar*"/>
55
<constant name="CONFIG_KEY_USERNAME"
57
c:type="GRL_CONFIG_KEY_USERNAME">
58
<type name="utf8" c:type="gchar*"/>
61
c:symbol-prefix="config"
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.
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*"/>
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*"/>
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*"/>
90
<method name="get_api_key"
91
c:identifier="grl_config_get_api_key"
93
<return-value transfer-ownership="full">
94
<doc xml:whitespace="preserve">the webservice API key</doc>
95
<type name="utf8" c:type="gchar*"/>
98
<method name="get_api_key_blob"
99
c:identifier="grl_config_get_api_key_blob"
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*"/>
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*"/>
112
<method name="get_api_secret"
113
c:identifier="grl_config_get_api_secret"
115
<return-value transfer-ownership="full">
116
<doc xml:whitespace="preserve">the webservice API passphrase</doc>
117
<type name="utf8" c:type="gchar*"/>
120
<method name="get_api_token"
121
c:identifier="grl_config_get_api_token"
123
<return-value transfer-ownership="full">
124
<doc xml:whitespace="preserve">the webservice API token</doc>
125
<type name="utf8" c:type="gchar*"/>
128
<method name="get_binary" c:identifier="grl_config_get_binary">
129
<return-value transfer-ownership="none">
130
<type name="guint8" c:type="guint8*"/>
133
<parameter name="param" transfer-ownership="none">
134
<type name="utf8" c:type="gchar*"/>
136
<parameter name="size" transfer-ownership="none">
137
<type name="gsize" c:type="gsize*"/>
141
<method name="get_boolean" c:identifier="grl_config_get_boolean">
142
<return-value transfer-ownership="none">
143
<type name="gboolean" c:type="gboolean"/>
146
<parameter name="param" transfer-ownership="none">
147
<type name="utf8" c:type="gchar*"/>
151
<method name="get_float" c:identifier="grl_config_get_float">
152
<return-value transfer-ownership="none">
153
<type name="gfloat" c:type="gfloat"/>
156
<parameter name="param" transfer-ownership="none">
157
<type name="utf8" c:type="gchar*"/>
161
<method name="get_int" c:identifier="grl_config_get_int">
162
<return-value transfer-ownership="none">
163
<type name="gint" c:type="gint"/>
166
<parameter name="param" transfer-ownership="none">
167
<type name="utf8" c:type="gchar*"/>
171
<method name="get_password"
172
c:identifier="grl_config_get_password"
174
<return-value transfer-ownership="full">
175
<doc xml:whitespace="preserve">the password</doc>
176
<type name="utf8" c:type="gchar*"/>
179
<method name="get_plugin"
180
c:identifier="grl_config_get_plugin"
182
<return-value transfer-ownership="full">
183
<doc xml:whitespace="preserve">the plugin id</doc>
184
<type name="utf8" c:type="gchar*"/>
187
<method name="get_string" c:identifier="grl_config_get_string">
188
<return-value transfer-ownership="full">
189
<type name="utf8" c:type="gchar*"/>
192
<parameter name="param" transfer-ownership="none">
193
<type name="utf8" c:type="gchar*"/>
197
<method name="get_username"
198
c:identifier="grl_config_get_username"
200
<return-value transfer-ownership="full">
201
<doc xml:whitespace="preserve">the username</doc>
202
<type name="utf8" c:type="gchar*"/>
205
<method name="has_param"
206
c:identifier="grl_config_has_param"
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"/>
214
<parameter name="param" transfer-ownership="none">
215
<doc xml:whitespace="preserve">the param</doc>
216
<type name="utf8" c:type="gchar*"/>
220
<method name="set" c:identifier="grl_config_set">
221
<return-value transfer-ownership="none">
222
<type name="none" c:type="void"/>
225
<parameter name="param" transfer-ownership="none">
226
<type name="utf8" c:type="gchar*"/>
228
<parameter name="value" transfer-ownership="none">
229
<type name="GObject.Value" c:type="GValue*"/>
233
<method name="set_api_key"
234
c:identifier="grl_config_set_api_key"
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"/>
241
<parameter name="key" transfer-ownership="none">
242
<doc xml:whitespace="preserve">the API key</doc>
243
<type name="utf8" c:type="gchar*"/>
247
<method name="set_api_key_blob"
248
c:identifier="grl_config_set_api_key_blob"
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"/>
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*"/>
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"/>
265
<method name="set_api_secret"
266
c:identifier="grl_config_set_api_secret"
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"/>
273
<parameter name="secret" transfer-ownership="none">
274
<doc xml:whitespace="preserve">the webservice passphrase</doc>
275
<type name="utf8" c:type="gchar*"/>
279
<method name="set_api_token"
280
c:identifier="grl_config_set_api_token"
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"/>
287
<parameter name="token" transfer-ownership="none">
288
<doc xml:whitespace="preserve">the API token</doc>
289
<type name="utf8" c:type="gchar*"/>
293
<method name="set_binary" c:identifier="grl_config_set_binary">
294
<return-value transfer-ownership="none">
295
<type name="none" c:type="void"/>
298
<parameter name="param" transfer-ownership="none">
299
<type name="utf8" c:type="gchar*"/>
301
<parameter name="blob" transfer-ownership="none">
302
<type name="guint8" c:type="guint8*"/>
304
<parameter name="size" transfer-ownership="none">
305
<type name="gsize" c:type="gsize"/>
309
<method name="set_boolean" c:identifier="grl_config_set_boolean">
310
<return-value transfer-ownership="none">
311
<type name="none" c:type="void"/>
314
<parameter name="param" transfer-ownership="none">
315
<type name="utf8" c:type="gchar*"/>
317
<parameter name="value" transfer-ownership="none">
318
<type name="gboolean" c:type="gboolean"/>
322
<method name="set_float" c:identifier="grl_config_set_float">
323
<return-value transfer-ownership="none">
324
<type name="none" c:type="void"/>
327
<parameter name="param" transfer-ownership="none">
328
<type name="utf8" c:type="gchar*"/>
330
<parameter name="value" transfer-ownership="none">
331
<type name="gfloat" c:type="gfloat"/>
335
<method name="set_int" c:identifier="grl_config_set_int">
336
<return-value transfer-ownership="none">
337
<type name="none" c:type="void"/>
340
<parameter name="param" transfer-ownership="none">
341
<type name="utf8" c:type="gchar*"/>
343
<parameter name="value" transfer-ownership="none">
344
<type name="gint" c:type="gint"/>
348
<method name="set_password"
349
c:identifier="grl_config_set_password"
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"/>
356
<parameter name="password" transfer-ownership="none">
357
<doc xml:whitespace="preserve">the password</doc>
358
<type name="utf8" c:type="gchar*"/>
362
<method name="set_plugin"
363
c:identifier="grl_config_set_plugin"
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"/>
370
<parameter name="plugin" transfer-ownership="none">
371
<doc xml:whitespace="preserve">the plugin id</doc>
372
<type name="utf8" c:type="gchar*"/>
376
<method name="set_source"
377
c:identifier="grl_config_set_source"
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"/>
384
<parameter name="source" transfer-ownership="none">
385
<doc xml:whitespace="preserve">the source id</doc>
386
<type name="utf8" c:type="gchar*"/>
390
<method name="set_string" c:identifier="grl_config_set_string">
391
<return-value transfer-ownership="none">
392
<type name="none" c:type="void"/>
395
<parameter name="param" transfer-ownership="none">
396
<type name="utf8" c:type="gchar*"/>
398
<parameter name="value" transfer-ownership="none">
399
<type name="utf8" c:type="gchar*"/>
403
<method name="set_username"
404
c:identifier="grl_config_set_username"
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"/>
411
<parameter name="username" transfer-ownership="none">
412
<doc xml:whitespace="preserve">the username</doc>
413
<type name="utf8" c:type="gchar*"/>
417
<field name="parent">
418
<type name="GObject.Object" c:type="GObject"/>
421
<type name="ConfigPrivate" c:type="GrlConfigPrivate*"/>
423
<field name="_grl_reserved">
424
<array zero-terminated="0" c:type="gpointer" fixed-size="8">
425
<type name="gpointer" c:type="gpointer"/>
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"/>
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"/>
442
<record name="ConfigPrivate" c:type="GrlConfigPrivate" disguised="1">
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"
448
c:identifier="GRL_CORE_ERROR_BROWSE_FAILED"/>
449
<member name="search_failed"
451
c:identifier="GRL_CORE_ERROR_SEARCH_FAILED"/>
452
<member name="search_null_unsupported"
454
c:identifier="GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED"/>
455
<member name="query_failed"
457
c:identifier="GRL_CORE_ERROR_QUERY_FAILED"/>
458
<member name="metadata_failed"
460
c:identifier="GRL_CORE_ERROR_METADATA_FAILED"/>
461
<member name="resolve_failed"
463
c:identifier="GRL_CORE_ERROR_RESOLVE_FAILED"/>
464
<member name="media_not_found"
466
c:identifier="GRL_CORE_ERROR_MEDIA_NOT_FOUND"/>
467
<member name="store_failed"
469
c:identifier="GRL_CORE_ERROR_STORE_FAILED"/>
470
<member name="remove_failed"
472
c:identifier="GRL_CORE_ERROR_REMOVE_FAILED"/>
473
<member name="set_metadata_failed"
475
c:identifier="GRL_CORE_ERROR_SET_METADATA_FAILED"/>
476
<member name="media_from_uri_failed"
478
c:identifier="GRL_CORE_ERROR_MEDIA_FROM_URI_FAILED"/>
479
<member name="config_load_failed"
481
c:identifier="GRL_CORE_ERROR_CONFIG_LOAD_FAILED"/>
482
<member name="config_failed"
484
c:identifier="GRL_CORE_ERROR_CONFIG_FAILED"/>
485
<member name="unregister_source_failed"
487
c:identifier="GRL_CORE_ERROR_UNREGISTER_SOURCE_FAILED"/>
488
<member name="load_plugin_failed"
490
c:identifier="GRL_CORE_ERROR_LOAD_PLUGIN_FAILED"/>
491
<member name="unload_plugin_failed"
493
c:identifier="GRL_CORE_ERROR_UNLOAD_PLUGIN_FAILED"/>
494
<member name="register_metadata_key_failed"
496
c:identifier="GRL_CORE_ERROR_REGISTER_METADATA_KEY_FAILED"/>
497
<member name="notify_changed_failed"
499
c:identifier="GRL_CORE_ERROR_NOTIFY_CHANGED_FAILED"/>
500
<member name="operation_cancelled"
502
c:identifier="GRL_CORE_ERROR_OPERATION_CANCELLED"/>
505
c:symbol-prefix="data"
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*"/>
519
c:identifier="grl_data_add"
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
525
<return-value transfer-ownership="none">
526
<type name="none" c:type="void"/>
529
<parameter name="key" transfer-ownership="none">
530
<doc xml:whitespace="preserve">key to add</doc>
531
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
535
<method name="add_binary"
536
c:identifier="grl_data_add_binary"
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"/>
543
<parameter name="key" transfer-ownership="none">
544
<doc xml:whitespace="preserve">key to append</doc>
545
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
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*"/>
551
<parameter name="size" transfer-ownership="none">
552
<doc xml:whitespace="preserve">size of buffer</doc>
553
<type name="gsize" c:type="gsize"/>
557
<method name="add_float"
558
c:identifier="grl_data_add_float"
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"/>
565
<parameter name="key" transfer-ownership="none">
566
<doc xml:whitespace="preserve">key to append</doc>
567
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
569
<parameter name="floatvalue" transfer-ownership="none">
570
<doc xml:whitespace="preserve">the new value</doc>
571
<type name="gfloat" c:type="gfloat"/>
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"/>
581
<parameter name="key" transfer-ownership="none">
582
<doc xml:whitespace="preserve">key to append</doc>
583
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
585
<parameter name="intvalue" transfer-ownership="none">
586
<doc xml:whitespace="preserve">the new value</doc>
587
<type name="gint" c:type="gint"/>
591
<method name="add_related_keys"
592
c:identifier="grl_data_add_related_keys"
594
<doc xml:whitespace="preserve">Adds a new set of values into @data.
596
All keys in @prop must be related among them.
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"/>
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*"/>
609
<method name="add_string"
610
c:identifier="grl_data_add_string"
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"/>
617
<parameter name="key" transfer-ownership="none">
618
<doc xml:whitespace="preserve">key to append</doc>
619
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
621
<parameter name="strvalue" transfer-ownership="none">
622
<doc xml:whitespace="preserve">the new value</doc>
623
<type name="utf8" c:type="gchar*"/>
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*"/>
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.
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*"/>
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"/>
649
<method name="get_all_single_related_keys"
650
c:identifier="grl_data_get_all_single_related_keys"
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.
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"/>
664
<parameter name="key" transfer-ownership="none">
665
<doc xml:whitespace="preserve">a metadata key</doc>
666
<type name="KeyID" c:type="GrlKeyID"/>
670
<method name="get_all_single_related_keys_string"
671
c:identifier="grl_data_get_all_single_related_keys_string"
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.
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*">
686
<parameter name="key" transfer-ownership="none">
687
<doc xml:whitespace="preserve">a metadata key</doc>
688
<type name="KeyID" c:type="GrlKeyID"/>
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
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*"/>
703
<parameter name="key" transfer-ownership="none">
704
<doc xml:whitespace="preserve">key to use</doc>
705
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
707
<parameter name="size"
710
transfer-ownership="full">
711
<doc xml:whitespace="preserve">location to store the buffer size</doc>
712
<type name="gsize" c:type="gsize*"/>
716
<method name="get_float"
717
c:identifier="grl_data_get_float"
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
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"/>
727
<parameter name="key" transfer-ownership="none">
728
<doc xml:whitespace="preserve">key to use</doc>
729
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
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
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"/>
742
<parameter name="key" transfer-ownership="none">
743
<doc xml:whitespace="preserve">key to use</doc>
744
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
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.
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"/>
760
<method name="get_overwrite"
761
c:identifier="grl_data_get_overwrite"
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"/>
770
<method name="get_related_keys"
771
c:identifier="grl_data_get_related_keys"
773
<doc xml:whitespace="preserve">Returns a set containing the values for @key and related keys at position
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*"/>
783
<parameter name="key" transfer-ownership="none">
784
<doc xml:whitespace="preserve">a metadata key</doc>
785
<type name="KeyID" c:type="GrlKeyID"/>
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"/>
793
<method name="get_single_values_for_key"
794
c:identifier="grl_data_get_single_values_for_key"
796
<doc xml:whitespace="preserve">Returns all non-%NULL values for @key from @data. This ignores related keys.
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"/>
806
<parameter name="key" transfer-ownership="none">
807
<doc xml:whitespace="preserve">a metadata key</doc>
808
<type name="KeyID" c:type="GrlKeyID"/>
812
<method name="get_single_values_for_key_string"
813
c:identifier="grl_data_get_single_values_for_key_string"
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.
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*">
826
<parameter name="key" transfer-ownership="none">
827
<doc xml:whitespace="preserve">a metadata key</doc>
828
<type name="KeyID" c:type="GrlKeyID"/>
832
<method name="get_string"
833
c:identifier="grl_data_get_string"
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
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*"/>
845
<parameter name="key" transfer-ownership="none">
846
<doc xml:whitespace="preserve">key to use</doc>
847
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
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"/>
858
<parameter name="key" transfer-ownership="none">
859
<doc xml:whitespace="preserve">key to search</doc>
860
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
864
<method name="key_is_known"
865
c:identifier="grl_data_key_is_known"
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"/>
875
<parameter name="key" transfer-ownership="none">
876
<doc xml:whitespace="preserve">key to search</doc>
877
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
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.
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:
888
(V10, V20, V30),, (V11, NULL, V31), (V12, NULL, V32)
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"/>
897
<parameter name="key" transfer-ownership="none">
898
<doc xml:whitespace="preserve">a metadata key</doc>
899
<type name="KeyID" c:type="GrlKeyID"/>
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"/>
910
<parameter name="key" transfer-ownership="none">
911
<doc xml:whitespace="preserve">key to remove</doc>
912
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
916
<method name="remove_nth"
917
c:identifier="grl_data_remove_nth"
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
922
<return-value transfer-ownership="none">
923
<type name="none" c:type="void"/>
926
<parameter name="key" transfer-ownership="none">
927
<doc xml:whitespace="preserve">a metadata key</doc>
928
<type name="KeyID" c:type="GrlKeyID"/>
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"/>
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.
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"/>
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"/>
951
<parameter name="value" transfer-ownership="none">
952
<doc xml:whitespace="preserve">the new value</doc>
953
<type name="GObject.Value" c:type="GValue*"/>
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"/>
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"/>
968
<parameter name="buf" transfer-ownership="none">
969
<doc xml:whitespace="preserve">buffer holding the data</doc>
970
<type name="guint8" c:type="guint8*"/>
972
<parameter name="size" transfer-ownership="none">
973
<doc xml:whitespace="preserve">size of the buffer</doc>
974
<type name="gsize" c:type="gsize"/>
978
<method name="set_float"
979
c:identifier="grl_data_set_float"
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"/>
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"/>
991
<parameter name="floatvalue" transfer-ownership="none">
992
<doc xml:whitespace="preserve">the new value</doc>
993
<type name="gfloat" c:type="gfloat"/>
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"/>
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"/>
1008
<parameter name="intvalue" transfer-ownership="none">
1009
<doc xml:whitespace="preserve">the new value</doc>
1010
<type name="gint" c:type="gint"/>
1014
<method name="set_overwrite"
1015
c:identifier="grl_data_set_overwrite"
1017
deprecated="0.1.13">
1018
<doc xml:whitespace="preserve">This controls if #grl_data_set will overwrite the current value of a property
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"/>
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"/>
1033
<method name="set_related_keys"
1034
c:identifier="grl_data_set_related_keys"
1036
<doc xml:whitespace="preserve">Updates the values at position @index in @data with values in @relkeys.
1038
@data will take ownership of @relkeys, so do not free it after invoking this
1040
<return-value transfer-ownership="none">
1041
<type name="none" c:type="void"/>
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*"/>
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"/>
1054
<method name="set_string"
1055
c:identifier="grl_data_set_string"
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"/>
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"/>
1067
<parameter name="strvalue" transfer-ownership="none">
1068
<doc xml:whitespace="preserve">the new value</doc>
1069
<type name="utf8" c:type="gchar*"/>
1073
<property name="overwrite" writable="1" transfer-ownership="none">
1074
<type name="gboolean"/>
1076
<field name="parent">
1077
<type name="GObject.Object" c:type="GObject"/>
1080
<type name="DataPrivate" c:type="GrlDataPrivate*"/>
1082
<field name="_grl_reserved">
1083
<array zero-terminated="0" c:type="gpointer" fixed-size="8">
1084
<type name="gpointer" c:type="gpointer"/>
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"/>
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"/>
1101
<record name="DataPrivate" c:type="GrlDataPrivate" disguised="1">
1103
<constant name="KEYID_FORMAT" value="p" c:type="GRL_KEYID_FORMAT">
1104
<type name="utf8" c:type="gchar*"/>
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"/>
1112
<function name="new"
1113
c:identifier="grl_log_domain_new"
1117
<doc xml:whitespace="preserve">The new log domain</doc>
1118
<type name="LogDomain" c:type="GrlLogDomain*"/>
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*"/>
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"/>
1138
<constant name="MEDIA_PLUGIN_AUTHOR"
1140
c:type="GRL_MEDIA_PLUGIN_AUTHOR">
1141
<type name="utf8" c:type="gchar*"/>
1143
<constant name="MEDIA_PLUGIN_DESCRIPTION"
1145
c:type="GRL_MEDIA_PLUGIN_DESCRIPTION">
1146
<type name="utf8" c:type="gchar*"/>
1148
<constant name="MEDIA_PLUGIN_LICENSE"
1150
c:type="GRL_MEDIA_PLUGIN_LICENSE">
1151
<type name="utf8" c:type="gchar*"/>
1153
<constant name="MEDIA_PLUGIN_NAME"
1155
c:type="GRL_MEDIA_PLUGIN_NAME">
1156
<type name="utf8" c:type="gchar*"/>
1158
<constant name="MEDIA_PLUGIN_SITE"
1160
c:type="GRL_MEDIA_PLUGIN_SITE">
1161
<type name="utf8" c:type="gchar*"/>
1163
<constant name="MEDIA_PLUGIN_VERSION"
1165
c:type="GRL_MEDIA_PLUGIN_VERSION">
1166
<type name="utf8" c:type="gchar*"/>
1168
<constant name="METADATA_KEY_CHILDCOUNT_UNKNOWN"
1170
c:type="GRL_METADATA_KEY_CHILDCOUNT_UNKNOWN">
1171
<type name="gint" c:type="gint"/>
1174
c:symbol-prefix="media"
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*"/>
1187
<function name="unserialize"
1188
c:identifier="grl_media_unserialize"
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*"/>
1196
<parameter name="serial" transfer-ownership="none">
1197
<doc xml:whitespace="preserve">a serialized media</doc>
1198
<type name="utf8" c:type="gchar*"/>
1202
<method name="add_author"
1203
c:identifier="grl_media_add_author"
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"/>
1210
<parameter name="author" transfer-ownership="none">
1211
<doc xml:whitespace="preserve">an author for @media</doc>
1212
<type name="utf8" c:type="gchar*"/>
1216
<method name="add_external_player"
1217
c:identifier="grl_media_add_external_player"
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"/>
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*"/>
1230
<method name="add_external_url"
1231
c:identifier="grl_media_add_external_url"
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"/>
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*"/>
1244
<method name="add_thumbnail"
1245
c:identifier="grl_media_add_thumbnail"
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"/>
1252
<parameter name="thumbnail" transfer-ownership="none">
1253
<doc xml:whitespace="preserve">a thumbnail for @media</doc>
1254
<type name="utf8" c:type="gchar*"/>
1258
<method name="add_thumbnail_binary"
1259
c:identifier="grl_media_add_thumbnail_binary"
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"/>
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*"/>
1270
<parameter name="size" transfer-ownership="none">
1271
<doc xml:whitespace="preserve">size of buffer</doc>
1272
<type name="gsize" c:type="gsize"/>
1276
<method name="add_url_data"
1277
c:identifier="grl_media_add_url_data"
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"/>
1284
<parameter name="url" transfer-ownership="none">
1285
<doc xml:whitespace="preserve">a media's URL</doc>
1286
<type name="utf8" c:type="gchar*"/>
1288
<parameter name="mime" transfer-ownership="none">
1289
<doc xml:whitespace="preserve">th @url mime type</doc>
1290
<type name="utf8" c:type="gchar*"/>
1294
<method name="get_author"
1295
c:identifier="grl_media_get_author"
1297
<return-value transfer-ownership="none">
1298
<doc xml:whitespace="preserve">the media's author</doc>
1299
<type name="utf8" c:type="gchar*"/>
1302
<method name="get_author_nth"
1303
c:identifier="grl_media_get_author_nth"
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*"/>
1310
<parameter name="index" transfer-ownership="none">
1311
<doc xml:whitespace="preserve">element to retrieve</doc>
1312
<type name="guint" c:type="guint"/>
1316
<method name="get_certificate"
1317
c:identifier="grl_media_get_certificate"
1319
<return-value transfer-ownership="none">
1320
<doc xml:whitespace="preserve">the media's certificate</doc>
1321
<type name="utf8" c:type="gchar*"/>
1324
<method name="get_creation_date"
1325
c:identifier="grl_media_get_creation_date"
1327
<return-value transfer-ownership="none">
1328
<doc xml:whitespace="preserve">date when media was created</doc>
1329
<type name="utf8" c:type="gchar*"/>
1332
<method name="get_date"
1333
c:identifier="grl_media_get_date"
1335
<return-value transfer-ownership="none">
1336
<doc xml:whitespace="preserve">the media's date (TBD)</doc>
1337
<type name="utf8" c:type="gchar*"/>
1340
<method name="get_description"
1341
c:identifier="grl_media_get_description"
1343
<return-value transfer-ownership="none">
1344
<doc xml:whitespace="preserve">the media's description</doc>
1345
<type name="utf8" c:type="gchar*"/>
1348
<method name="get_duration"
1349
c:identifier="grl_media_get_duration"
1351
<return-value transfer-ownership="none">
1352
<doc xml:whitespace="preserve">the media's duration</doc>
1353
<type name="gint" c:type="gint"/>
1356
<method name="get_external_url"
1357
c:identifier="grl_media_get_external_url"
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*"/>
1365
<method name="get_external_url_nth"
1366
c:identifier="grl_media_get_external_url_nth"
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*"/>
1373
<parameter name="index" transfer-ownership="none">
1374
<doc xml:whitespace="preserve">element to retrieve</doc>
1375
<type name="guint" c:type="guint"/>
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*"/>
1385
<method name="get_last_played"
1386
c:identifier="grl_media_get_last_played"
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*"/>
1393
<method name="get_last_position"
1394
c:identifier="grl_media_get_last_position"
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"/>
1401
<method name="get_license"
1402
c:identifier="grl_media_get_license"
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*"/>
1409
<method name="get_mime"
1410
c:identifier="grl_media_get_mime"
1412
<return-value transfer-ownership="none">
1413
<doc xml:whitespace="preserve">the media's mime-type</doc>
1414
<type name="utf8" c:type="gchar*"/>
1417
<method name="get_play_count"
1418
c:identifier="grl_media_get_play_count"
1420
<return-value transfer-ownership="none">
1421
<doc xml:whitespace="preserve">the media's play count</doc>
1422
<type name="gint" c:type="gint"/>
1425
<method name="get_player"
1426
c:identifier="grl_media_get_player"
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*"/>
1434
<method name="get_player_nth"
1435
c:identifier="grl_media_get_player_nth"
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*"/>
1442
<parameter name="index" transfer-ownership="none">
1443
<doc xml:whitespace="preserve">element to retrieve</doc>
1444
<type name="guint" c:type="guint"/>
1448
<method name="get_rating"
1449
c:identifier="grl_media_get_rating"
1451
<return-value transfer-ownership="none">
1452
<doc xml:whitespace="preserve">the media's rating</doc>
1453
<type name="gfloat" c:type="gfloat"/>
1456
<method name="get_site"
1457
c:identifier="grl_media_get_site"
1459
<return-value transfer-ownership="none">
1460
<doc xml:whitespace="preserve">the media's site</doc>
1461
<type name="utf8" c:type="gchar*"/>
1464
<method name="get_source"
1465
c:identifier="grl_media_get_source"
1467
<return-value transfer-ownership="none">
1468
<doc xml:whitespace="preserve">the media's source</doc>
1469
<type name="utf8" c:type="gchar*"/>
1472
<method name="get_studio"
1473
c:identifier="grl_media_get_studio"
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*"/>
1480
<method name="get_thumbnail"
1481
c:identifier="grl_media_get_thumbnail"
1483
<return-value transfer-ownership="none">
1484
<doc xml:whitespace="preserve">the media's thumbnail URL</doc>
1485
<type name="utf8" c:type="gchar*"/>
1488
<method name="get_thumbnail_binary"
1489
c:identifier="grl_media_get_thumbnail_binary"
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*"/>
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*"/>
1502
<method name="get_thumbnail_binary_nth"
1503
c:identifier="grl_media_get_thumbnail_binary_nth"
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*"/>
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*"/>
1515
<parameter name="index" transfer-ownership="none">
1516
<doc xml:whitespace="preserve">element to retrieve</doc>
1517
<type name="guint" c:type="guint"/>
1521
<method name="get_thumbnail_nth"
1522
c:identifier="grl_media_get_thumbnail_nth"
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*"/>
1529
<parameter name="index" transfer-ownership="none">
1530
<doc xml:whitespace="preserve">element to retrieve</doc>
1531
<type name="guint" c:type="guint"/>
1535
<method name="get_title"
1536
c:identifier="grl_media_get_title"
1538
<return-value transfer-ownership="none">
1539
<doc xml:whitespace="preserve">the media's title</doc>
1540
<type name="utf8" c:type="gchar*"/>
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*"/>
1549
<method name="get_url_data"
1550
c:identifier="grl_media_get_url_data"
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*"/>
1557
<parameter name="mime"
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**"/>
1566
<method name="get_url_data_nth"
1567
c:identifier="grl_media_get_url_data_nth"
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*"/>
1574
<parameter name="index" transfer-ownership="none">
1575
<doc xml:whitespace="preserve">element to retrieve</doc>
1576
<type name="guint" c:type="guint"/>
1578
<parameter name="mime"
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**"/>
1587
<method name="serialize"
1588
c:identifier="grl_media_serialize"
1590
<doc xml:whitespace="preserve">Serializes a GrlMedia into a string. It does a basic serialization.
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*"/>
1598
<method name="serialize_extended"
1599
c:identifier="grl_media_serialize_extended"
1602
<doc xml:whitespace="preserve">Serializes a GrlMedia into a string.
1604
See grl_media_unserialize() to recover back the GrlMedia from the string.
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*"/>
1614
<parameter name="serial_type" transfer-ownership="none">
1615
<doc xml:whitespace="preserve">type of serialization</doc>
1616
<type name="MediaSerializeType" c:type="GrlMediaSerializeType"/>
1618
<parameter transfer-ownership="none">
1624
<method name="set_author"
1625
c:identifier="grl_media_set_author"
1627
<doc xml:whitespace="preserve">Set the media's author</doc>
1628
<return-value transfer-ownership="none">
1629
<type name="none" c:type="void"/>
1632
<parameter name="author" transfer-ownership="none">
1633
<doc xml:whitespace="preserve">the media's author</doc>
1634
<type name="utf8" c:type="gchar*"/>
1638
<method name="set_certificate"
1639
c:identifier="grl_media_set_certificate"
1641
<doc xml:whitespace="preserve">Set the media certificate</doc>
1642
<return-value transfer-ownership="none">
1643
<type name="none" c:type="void"/>
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*"/>
1652
<method name="set_creation_date"
1653
c:identifier="grl_media_set_creation_date"
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"/>
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*"/>
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"/>
1672
<parameter name="date" transfer-ownership="none">
1673
<doc xml:whitespace="preserve">the date</doc>
1674
<type name="utf8" c:type="gchar*"/>
1678
<method name="set_description"
1679
c:identifier="grl_media_set_description"
1681
<doc xml:whitespace="preserve">Set the media's description</doc>
1682
<return-value transfer-ownership="none">
1683
<type name="none" c:type="void"/>
1686
<parameter name="description" transfer-ownership="none">
1687
<doc xml:whitespace="preserve">the description</doc>
1688
<type name="utf8" c:type="gchar*"/>
1692
<method name="set_duration"
1693
c:identifier="grl_media_set_duration"
1695
<doc xml:whitespace="preserve">Set the media's duration</doc>
1696
<return-value transfer-ownership="none">
1697
<type name="none" c:type="void"/>
1700
<parameter name="duration" transfer-ownership="none">
1701
<doc xml:whitespace="preserve">the duration</doc>
1702
<type name="gint" c:type="gint"/>
1706
<method name="set_external_player"
1707
c:identifier="grl_media_set_external_player"
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"/>
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*"/>
1720
<method name="set_external_url"
1721
c:identifier="grl_media_set_external_url"
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"/>
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*"/>
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"/>
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*"/>
1746
<method name="set_last_played"
1747
c:identifier="grl_media_set_last_played"
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"/>
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*"/>
1760
<method name="set_last_position"
1761
c:identifier="grl_media_set_last_position"
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"/>
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"/>
1774
<method name="set_license"
1775
c:identifier="grl_media_set_license"
1777
<doc xml:whitespace="preserve">Set the media license</doc>
1778
<return-value transfer-ownership="none">
1779
<type name="none" c:type="void"/>
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*"/>
1788
<method name="set_mime"
1789
c:identifier="grl_media_set_mime"
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"/>
1796
<parameter name="mime" transfer-ownership="none">
1797
<doc xml:whitespace="preserve">the mime type</doc>
1798
<type name="utf8" c:type="gchar*"/>
1802
<method name="set_play_count"
1803
c:identifier="grl_media_set_play_count"
1805
<doc xml:whitespace="preserve">Set the media play count</doc>
1806
<return-value transfer-ownership="none">
1807
<type name="none" c:type="void"/>
1810
<parameter name="play_count" transfer-ownership="none">
1811
<doc xml:whitespace="preserve">the play count</doc>
1812
<type name="gint" c:type="gint"/>
1816
<method name="set_rating"
1817
c:identifier="grl_media_set_rating"
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"/>
1824
<parameter name="rating" transfer-ownership="none">
1825
<doc xml:whitespace="preserve">a rating value</doc>
1826
<type name="gfloat" c:type="gfloat"/>
1828
<parameter name="max" transfer-ownership="none">
1829
<doc xml:whitespace="preserve">maximum rating value</doc>
1830
<type name="gfloat" c:type="gfloat"/>
1834
<method name="set_site"
1835
c:identifier="grl_media_set_site"
1837
<doc xml:whitespace="preserve">Set the media's site</doc>
1838
<return-value transfer-ownership="none">
1839
<type name="none" c:type="void"/>
1842
<parameter name="site" transfer-ownership="none">
1843
<doc xml:whitespace="preserve">the site</doc>
1844
<type name="utf8" c:type="gchar*"/>
1848
<method name="set_source"
1849
c:identifier="grl_media_set_source"
1851
<doc xml:whitespace="preserve">Set the media's source</doc>
1852
<return-value transfer-ownership="none">
1853
<type name="none" c:type="void"/>
1856
<parameter name="source" transfer-ownership="none">
1857
<doc xml:whitespace="preserve">the source</doc>
1858
<type name="utf8" c:type="gchar*"/>
1862
<method name="set_studio"
1863
c:identifier="grl_media_set_studio"
1865
<doc xml:whitespace="preserve">Set the media studio</doc>
1866
<return-value transfer-ownership="none">
1867
<type name="none" c:type="void"/>
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*"/>
1876
<method name="set_thumbnail"
1877
c:identifier="grl_media_set_thumbnail"
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"/>
1884
<parameter name="thumbnail" transfer-ownership="none">
1885
<doc xml:whitespace="preserve">the thumbnail URL</doc>
1886
<type name="utf8" c:type="gchar*"/>
1890
<method name="set_thumbnail_binary"
1891
c:identifier="grl_media_set_thumbnail_binary"
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"/>
1898
<parameter name="thumbnail" transfer-ownership="none">
1899
<doc xml:whitespace="preserve">thumbnail buffer</doc>
1900
<type name="guint8" c:type="guint8*"/>
1902
<parameter name="size" transfer-ownership="none">
1903
<doc xml:whitespace="preserve">thumbnail buffer size</doc>
1904
<type name="gsize" c:type="gsize"/>
1908
<method name="set_title"
1909
c:identifier="grl_media_set_title"
1911
<doc xml:whitespace="preserve">Set the media's title</doc>
1912
<return-value transfer-ownership="none">
1913
<type name="none" c:type="void"/>
1916
<parameter name="title" transfer-ownership="none">
1917
<doc xml:whitespace="preserve">the title</doc>
1918
<type name="utf8" c:type="gchar*"/>
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"/>
1928
<parameter name="url" transfer-ownership="none">
1929
<doc xml:whitespace="preserve">the media's URL</doc>
1930
<type name="utf8" c:type="gchar*"/>
1934
<method name="set_url_data"
1935
c:identifier="grl_media_set_url_data"
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"/>
1942
<parameter name="url" transfer-ownership="none">
1943
<doc xml:whitespace="preserve">the media's URL</doc>
1944
<type name="utf8" c:type="gchar*"/>
1946
<parameter name="mime" transfer-ownership="none">
1947
<doc xml:whitespace="preserve">the @url mime type</doc>
1948
<type name="utf8" c:type="gchar*"/>
1952
<field name="parent">
1953
<type name="Data" c:type="GrlData"/>
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"/>
1961
<class name="MediaAudio"
1962
c:symbol-prefix="media_audio"
1963
c:type="GrlMediaAudio"
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"
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*"/>
1977
<method name="add_artist"
1978
c:identifier="grl_media_audio_add_artist"
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"/>
1985
<parameter name="artist" transfer-ownership="none">
1986
<doc xml:whitespace="preserve">an audio's artist</doc>
1987
<type name="utf8" c:type="gchar*"/>
1991
<method name="add_genre"
1992
c:identifier="grl_media_audio_add_genre"
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"/>
1999
<parameter name="genre" transfer-ownership="none">
2000
<doc xml:whitespace="preserve">an audio's genre</doc>
2001
<type name="utf8" c:type="gchar*"/>
2005
<method name="add_lyrics"
2006
c:identifier="grl_media_audio_add_lyrics"
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"/>
2013
<parameter name="lyrics" transfer-ownership="none">
2014
<doc xml:whitespace="preserve">an audio's lyrics</doc>
2015
<type name="utf8" c:type="gchar*"/>
2019
<method name="add_url_data"
2020
c:identifier="grl_media_audio_add_url_data"
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"/>
2028
<parameter name="url" transfer-ownership="none">
2029
<doc xml:whitespace="preserve">an audio's url</doc>
2030
<type name="utf8" c:type="gchar*"/>
2032
<parameter name="mime" transfer-ownership="none">
2033
<doc xml:whitespace="preserve">the @url mime-type</doc>
2034
<type name="utf8" c:type="gchar*"/>
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"/>
2042
<method name="get_album"
2043
c:identifier="grl_media_audio_get_album"
2045
<return-value transfer-ownership="none">
2046
<doc xml:whitespace="preserve">the album of the audio</doc>
2047
<type name="utf8" c:type="gchar*"/>
2050
<method name="get_artist"
2051
c:identifier="grl_media_audio_get_artist"
2053
<return-value transfer-ownership="none">
2054
<doc xml:whitespace="preserve">the artist of the audio</doc>
2055
<type name="utf8" c:type="gchar*"/>
2058
<method name="get_artist_nth"
2059
c:identifier="grl_media_audio_get_artist_nth"
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*"/>
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"/>
2072
<method name="get_bitrate"
2073
c:identifier="grl_media_audio_get_bitrate"
2075
<return-value transfer-ownership="none">
2076
<doc xml:whitespace="preserve">the bitrate of the audio</doc>
2077
<type name="gint" c:type="gint"/>
2080
<method name="get_genre"
2081
c:identifier="grl_media_audio_get_genre"
2083
<return-value transfer-ownership="none">
2084
<doc xml:whitespace="preserve">the genre of the audio</doc>
2085
<type name="utf8" c:type="gchar*"/>
2088
<method name="get_genre_nth"
2089
c:identifier="grl_media_audio_get_genre_nth"
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*"/>
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"/>
2102
<method name="get_lyrics"
2103
c:identifier="grl_media_audio_get_lyrics"
2105
<return-value transfer-ownership="none">
2106
<doc xml:whitespace="preserve">the lyrics of the audio</doc>
2107
<type name="utf8" c:type="gchar*"/>
2110
<method name="get_lyrics_nth"
2111
c:identifier="grl_media_audio_get_lyrics_nth"
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*"/>
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"/>
2124
<method name="get_track_number"
2125
c:identifier="grl_media_audio_get_track_number"
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"/>
2132
<method name="get_url_data"
2133
c:identifier="grl_media_audio_get_url_data"
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*"/>
2140
<parameter name="mime"
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**"/>
2147
<parameter name="bitrate"
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*"/>
2156
<method name="get_url_data_nth"
2157
c:identifier="grl_media_audio_get_url_data_nth"
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*"/>
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"/>
2169
<parameter name="mime"
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**"/>
2176
<parameter name="bitrate"
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*"/>
2185
<method name="set_album"
2186
c:identifier="grl_media_audio_set_album"
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"/>
2193
<parameter name="album" transfer-ownership="none">
2194
<doc xml:whitespace="preserve">the audio's album</doc>
2195
<type name="utf8" c:type="gchar*"/>
2199
<method name="set_artist"
2200
c:identifier="grl_media_audio_set_artist"
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"/>
2207
<parameter name="artist" transfer-ownership="none">
2208
<doc xml:whitespace="preserve">the audio's artist</doc>
2209
<type name="utf8" c:type="gchar*"/>
2213
<method name="set_bitrate"
2214
c:identifier="grl_media_audio_set_bitrate"
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"/>
2221
<parameter name="bitrate" transfer-ownership="none">
2222
<doc xml:whitespace="preserve">the audio's bitrate</doc>
2223
<type name="gint" c:type="gint"/>
2227
<method name="set_genre"
2228
c:identifier="grl_media_audio_set_genre"
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"/>
2235
<parameter name="genre" transfer-ownership="none">
2236
<doc xml:whitespace="preserve">the audio's genre</doc>
2237
<type name="utf8" c:type="gchar*"/>
2241
<method name="set_lyrics"
2242
c:identifier="grl_media_audio_set_lyrics"
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"/>
2249
<parameter name="lyrics" transfer-ownership="none">
2250
<doc xml:whitespace="preserve">the audio's lyrics</doc>
2251
<type name="utf8" c:type="gchar*"/>
2255
<method name="set_track_number"
2256
c:identifier="grl_media_audio_set_track_number"
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"/>
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"/>
2269
<method name="set_url_data"
2270
c:identifier="grl_media_audio_set_url_data"
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"/>
2277
<parameter name="url" transfer-ownership="none">
2278
<doc xml:whitespace="preserve">the audio's url</doc>
2279
<type name="utf8" c:type="gchar*"/>
2281
<parameter name="mime" transfer-ownership="none">
2282
<doc xml:whitespace="preserve">the @url mime-type</doc>
2283
<type name="utf8" c:type="gchar*"/>
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"/>
2291
<field name="parent">
2292
<type name="Media" c:type="GrlMedia"/>
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"/>
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"/>
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"/>
2313
<class name="MediaBox"
2314
c:symbol-prefix="media_box"
2315
c:type="GrlMediaBox"
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*"/>
2327
<method name="get_childcount"
2328
c:identifier="grl_media_box_get_childcount"
2330
<doc xml:whitespace="preserve">Number of children of this box.
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"/>
2338
<method name="set_childcount"
2339
c:identifier="grl_media_box_set_childcount"
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"/>
2347
<parameter name="childcount" transfer-ownership="none">
2348
<doc xml:whitespace="preserve">number of children</doc>
2349
<type name="gint" c:type="gint"/>
2353
<field name="parent">
2354
<type name="Media" c:type="GrlMedia"/>
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"/>
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"/>
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"/>
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"/>
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"/>
2388
<class name="MediaImage"
2389
c:symbol-prefix="media_image"
2390
c:type="GrlMediaImage"
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"
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*"/>
2404
<method name="add_url_data"
2405
c:identifier="grl_media_image_add_url_data"
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"/>
2413
<parameter name="url" transfer-ownership="none">
2414
<doc xml:whitespace="preserve">a image's url</doc>
2415
<type name="utf8" c:type="gchar*"/>
2417
<parameter name="mime" transfer-ownership="none">
2418
<doc xml:whitespace="preserve">image mime-type</doc>
2419
<type name="utf8" c:type="gchar*"/>
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"/>
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"/>
2431
<method name="get_camera_model"
2432
c:identifier="grl_media_image_get_camera_model"
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*"/>
2439
<method name="get_exposure_time"
2440
c:identifier="grl_media_image_get_exposure_time"
2442
<return-value transfer-ownership="none">
2443
<doc xml:whitespace="preserve">picture's exposure time</doc>
2444
<type name="gfloat" c:type="gfloat"/>
2447
<method name="get_flash_used"
2448
c:identifier="grl_media_image_get_flash_used"
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*"/>
2457
<method name="get_height"
2458
c:identifier="grl_media_image_get_height"
2460
<return-value transfer-ownership="none">
2461
<doc xml:whitespace="preserve">the height of the image</doc>
2462
<type name="gint" c:type="gint"/>
2465
<method name="get_iso_speed"
2466
c:identifier="grl_media_image_get_iso_speed"
2468
<return-value transfer-ownership="none">
2469
<doc xml:whitespace="preserve">picture's iso speed</doc>
2470
<type name="gfloat" c:type="gfloat"/>
2473
<method name="get_orientation"
2474
c:identifier="grl_media_image_get_orientation"
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"/>
2481
<method name="get_url_data"
2482
c:identifier="grl_media_image_get_url_data"
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*"/>
2489
<parameter name="mime"
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**"/>
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*"/>
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*"/>
2506
<method name="get_url_data_nth"
2507
c:identifier="grl_media_image_get_url_data_nth"
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*"/>
2515
<parameter name="index" transfer-ownership="none">
2516
<doc xml:whitespace="preserve">element to retrieve</doc>
2517
<type name="guint" c:type="guint"/>
2519
<parameter name="mime"
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**"/>
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*"/>
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*"/>
2536
<method name="get_width"
2537
c:identifier="grl_media_image_get_width"
2539
<return-value transfer-ownership="none">
2540
<doc xml:whitespace="preserve">the width of the image</doc>
2541
<type name="gint" c:type="gint"/>
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"/>
2550
<parameter name="camera_model" transfer-ownership="none">
2551
<type name="utf8" c:type="gchar*"/>
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"/>
2561
<parameter name="exposure_time" transfer-ownership="none">
2562
<type name="gfloat" c:type="gfloat"/>
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"/>
2572
<parameter name="flash_used" transfer-ownership="none">
2573
<type name="utf8" c:type="gchar*"/>
2577
<method name="set_height"
2578
c:identifier="grl_media_image_set_height"
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"/>
2585
<parameter name="height" transfer-ownership="none">
2586
<doc xml:whitespace="preserve">the image's height</doc>
2587
<type name="gint" c:type="gint"/>
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"/>
2597
<parameter name="iso_speed" transfer-ownership="none">
2598
<type name="gfloat" c:type="gfloat"/>
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"/>
2608
<parameter name="orientation" transfer-ownership="none">
2609
<type name="gint" c:type="gint"/>
2613
<method name="set_size"
2614
c:identifier="grl_media_image_set_size"
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"/>
2621
<parameter name="width" transfer-ownership="none">
2622
<doc xml:whitespace="preserve">the image's width</doc>
2623
<type name="gint" c:type="gint"/>
2625
<parameter name="height" transfer-ownership="none">
2626
<doc xml:whitespace="preserve">the image's height</doc>
2627
<type name="gint" c:type="gint"/>
2631
<method name="set_url_data"
2632
c:identifier="grl_media_image_set_url_data"
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"/>
2639
<parameter name="url" transfer-ownership="none">
2640
<doc xml:whitespace="preserve">the image's url</doc>
2641
<type name="utf8" c:type="gchar*"/>
2643
<parameter name="mime" transfer-ownership="none">
2644
<doc xml:whitespace="preserve">image mime-type</doc>
2645
<type name="utf8" c:type="gchar*"/>
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"/>
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"/>
2657
<method name="set_width"
2658
c:identifier="grl_media_image_set_width"
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"/>
2665
<parameter name="width" transfer-ownership="none">
2666
<doc xml:whitespace="preserve">the image's width</doc>
2667
<type name="gint" c:type="gint"/>
2671
<field name="parent">
2672
<type name="Media" c:type="GrlMedia"/>
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"/>
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"/>
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"/>
2693
<class name="MediaPlugin"
2694
c:symbol-prefix="media_plugin"
2695
c:type="GrlMediaPlugin"
2696
parent="GObject.Object"
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"
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*"/>
2710
<method name="get_description"
2711
c:identifier="grl_media_plugin_get_description"
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*"/>
2719
<method name="get_filename"
2720
c:identifier="grl_media_plugin_get_filename"
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*"/>
2728
<method name="get_id"
2729
c:identifier="grl_media_plugin_get_id"
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*"/>
2737
<method name="get_info"
2738
c:identifier="grl_media_plugin_get_info"
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*"/>
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*"/>
2752
<method name="get_info_keys"
2753
c:identifier="grl_media_plugin_get_info_keys"
2755
<doc xml:whitespace="preserve">Returns a list of keys that can be queried to retrieve information about the
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*">
2767
<method name="get_license"
2768
c:identifier="grl_media_plugin_get_license"
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*"/>
2776
<method name="get_name"
2777
c:identifier="grl_media_plugin_get_name"
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*"/>
2785
<method name="get_rank"
2786
c:identifier="grl_media_plugin_get_rank"
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"/>
2794
<method name="get_site"
2795
c:identifier="grl_media_plugin_get_site"
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*"/>
2803
<method name="get_version"
2804
c:identifier="grl_media_plugin_get_version"
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*"/>
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"/>
2818
<parameter name="info" transfer-ownership="none">
2819
<type name="PluginInfo" c:type="GrlPluginInfo*"/>
2823
<field name="parent">
2824
<type name="GObject.Object" c:type="GObject"/>
2826
<field name="priv" readable="0" private="1">
2827
<type name="MediaPluginPrivate" c:type="GrlMediaPluginPrivate*"/>
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"/>
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"/>
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"/>
2847
<record name="MediaPluginPrivate"
2848
c:type="GrlMediaPluginPrivate"
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"
2856
c:identifier="GRL_MEDIA_SERIALIZE_PARTIAL"/>
2857
<member name="full" value="2" c:identifier="GRL_MEDIA_SERIALIZE_FULL"/>
2859
<class name="MediaSource"
2860
c:symbol-prefix="media_source"
2861
c:type="GrlMediaSource"
2862
parent="MetadataSource"
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"/>
2872
<parameter name="bs" transfer-ownership="none">
2873
<type name="MediaSourceBrowseSpec"
2874
c:type="GrlMediaSourceBrowseSpec*"/>
2878
<virtual-method name="cancel"
2881
deprecated="Use grl_operation_cancel() instead"
2882
deprecated-version="0.1.14">
2883
<doc xml:whitespace="preserve">Cancel a running method.
2885
The derived class must implement the cancel vmethod in order to honour the
2886
request correctly. Otherwise, the operation will not be interrupted.
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"/>
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"/>
2902
<virtual-method name="media_from_uri">
2903
<return-value transfer-ownership="none">
2904
<type name="none" c:type="void"/>
2907
<parameter name="mfss" transfer-ownership="none">
2908
<type name="MediaSourceMediaFromUriSpec"
2909
c:type="GrlMediaSourceMediaFromUriSpec*"/>
2913
<virtual-method name="metadata">
2914
<return-value transfer-ownership="none">
2915
<type name="none" c:type="void"/>
2918
<parameter name="ms" transfer-ownership="none">
2919
<type name="MediaSourceMetadataSpec"
2920
c:type="GrlMediaSourceMetadataSpec*"/>
2924
<virtual-method name="notify_change_start"
2925
invoker="notify_change_start"
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"/>
2936
<virtual-method name="notify_change_stop"
2937
invoker="notify_change_stop"
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
2943
<return-value transfer-ownership="none">
2944
<doc xml:whitespace="preserve">@TRUE if stop has succeed.</doc>
2945
<type name="gboolean" c:type="gboolean"/>
2948
<virtual-method name="query">
2949
<return-value transfer-ownership="none">
2950
<type name="none" c:type="void"/>
2953
<parameter name="qs" transfer-ownership="none">
2954
<type name="MediaSourceQuerySpec"
2955
c:type="GrlMediaSourceQuerySpec*"/>
2959
<virtual-method name="remove">
2960
<return-value transfer-ownership="none">
2961
<type name="none" c:type="void"/>
2964
<parameter name="ss" transfer-ownership="none">
2965
<type name="MediaSourceRemoveSpec"
2966
c:type="GrlMediaSourceRemoveSpec*"/>
2970
<virtual-method name="search">
2971
<return-value transfer-ownership="none">
2972
<type name="none" c:type="void"/>
2975
<parameter name="ss" transfer-ownership="none">
2976
<type name="MediaSourceSearchSpec"
2977
c:type="GrlMediaSourceSearchSpec*"/>
2981
<virtual-method name="store">
2982
<return-value transfer-ownership="none">
2983
<type name="none" c:type="void"/>
2986
<parameter name="ss" transfer-ownership="none">
2987
<type name="MediaSourceStoreSpec"
2988
c:type="GrlMediaSourceStoreSpec*"/>
2992
<virtual-method name="test_media_from_uri"
2993
invoker="test_media_from_uri"
2995
<doc xml:whitespace="preserve">Tests whether @source can instantiate a #GrlMedia object representing
2996
the media resource exposed at @uri.
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"/>
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*"/>
3011
<method name="browse"
3012
c:identifier="grl_media_source_browse"
3014
<doc xml:whitespace="preserve">Browse from @skip, a @count number of media elements through an available list.
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"/>
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*"/>
3026
<parameter name="keys" transfer-ownership="none">
3027
<doc xml:whitespace="preserve">the #GList of #GrlKeyID<!-- -->s to request</doc>
3028
<type name="GLib.List" c:type="GList*">
3029
<type name="GObject.ParamSpec"/>
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"/>
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"/>
3040
<parameter name="flags" transfer-ownership="none">
3041
<doc xml:whitespace="preserve">the resolution mode</doc>
3042
<type name="MetadataResolutionFlags"
3043
c:type="GrlMetadataResolutionFlags"/>
3045
<parameter name="callback"
3046
transfer-ownership="none"
3049
<doc xml:whitespace="preserve">the user defined callback</doc>
3050
<type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
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"/>
3058
<method name="browse_sync"
3059
c:identifier="grl_media_source_browse_sync"
3062
<doc xml:whitespace="preserve">Browse from @skip, a @count number of media elements through an available
3065
This method is synchronous.
3067
elements. After use g_object_unref() every element and g_list_free() the
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"/>
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*"/>
3080
<parameter name="keys" transfer-ownership="none">
3081
<doc xml:whitespace="preserve">the #GList of #GrlKeyID<!-- -->s to request</doc>
3082
<type name="GLib.List" c:type="GList*">
3083
<type name="GObject.ParamSpec"/>
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"/>
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"/>
3094
<parameter name="flags" transfer-ownership="none">
3095
<doc xml:whitespace="preserve">the resolution mode</doc>
3096
<type name="MetadataResolutionFlags"
3097
c:type="GrlMetadataResolutionFlags"/>
3101
<method name="cancel"
3102
c:identifier="grl_media_source_cancel"
3104
deprecated="Use grl_operation_cancel() instead"
3105
deprecated-version="0.1.14">
3106
<doc xml:whitespace="preserve">Cancel a running method.
3108
The derived class must implement the cancel vmethod in order to honour the
3109
request correctly. Otherwise, the operation will not be interrupted.
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"/>
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"/>
3125
<method name="get_auto_split_threshold"
3126
c:identifier="grl_media_source_get_auto_split_threshold"
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"/>
3134
<method name="get_media_from_uri"
3135
c:identifier="grl_media_source_get_media_from_uri"
3137
<doc xml:whitespace="preserve">Creates an instance of #GrlMedia representing the media resource
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
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"/>
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*"/>
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"/>
3160
<parameter name="flags" transfer-ownership="none">
3161
<doc xml:whitespace="preserve">the resolution mode</doc>
3162
<type name="MetadataResolutionFlags"
3163
c:type="GrlMetadataResolutionFlags"/>
3165
<parameter name="callback"
3166
transfer-ownership="none"
3169
<doc xml:whitespace="preserve">the user defined callback</doc>
3170
<type name="MediaSourceMetadataCb"
3171
c:type="GrlMediaSourceMetadataCb"/>
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"/>
3179
<method name="get_media_from_uri_sync"
3180
c:identifier="grl_media_source_get_media_from_uri_sync"
3183
<doc xml:whitespace="preserve">Creates an instance of #GrlMedia representing the media resource
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
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*"/>
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*"/>
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"/>
3206
<parameter name="flags" transfer-ownership="none">
3207
<doc xml:whitespace="preserve">the resolution mode</doc>
3208
<type name="MetadataResolutionFlags"
3209
c:type="GrlMetadataResolutionFlags"/>
3213
<method name="get_operation_data"
3214
c:identifier="grl_media_source_get_operation_data"
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"/>
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"/>
3230
<method name="metadata"
3231
c:identifier="grl_media_source_metadata"
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.
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"/>
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*"/>
3246
<parameter name="keys" transfer-ownership="none">
3247
<doc xml:whitespace="preserve">the #GList of #GrlKeyID<!-- -->s to request</doc>
3248
<type name="GLib.List" c:type="GList*">
3249
<type name="GObject.ParamSpec"/>
3252
<parameter name="flags" transfer-ownership="none">
3253
<doc xml:whitespace="preserve">the resolution mode</doc>
3254
<type name="MetadataResolutionFlags"
3255
c:type="GrlMetadataResolutionFlags"/>
3257
<parameter name="callback"
3258
transfer-ownership="none"
3261
<doc xml:whitespace="preserve">the user defined callback</doc>
3262
<type name="MediaSourceMetadataCb"
3263
c:type="GrlMediaSourceMetadataCb"/>
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"/>
3271
<method name="metadata_sync"
3272
c:identifier="grl_media_source_metadata_sync"
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.
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*"/>
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*"/>
3288
<parameter name="keys" transfer-ownership="none">
3289
<doc xml:whitespace="preserve">the #GList of #GrlKeyID<!-- -->s to request</doc>
3290
<type name="GLib.List" c:type="GList*">
3291
<type name="GObject.ParamSpec"/>
3294
<parameter name="flags" transfer-ownership="none">
3295
<doc xml:whitespace="preserve">the resolution mode</doc>
3296
<type name="MetadataResolutionFlags"
3297
c:type="GrlMetadataResolutionFlags"/>
3301
<method name="notify_change"
3302
c:identifier="grl_media_source_notify_change"
3304
<doc xml:whitespace="preserve">Emits "content-changed" signal to notify subscribers that a change ocurred
3307
See #grl_media_source_notify_change_list() function.
3311
This function is intended to be used only by plugins.
3314
<return-value transfer-ownership="none">
3315
<type name="none" c:type="void"/>
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*"/>
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"/>
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"/>
3333
<method name="notify_change_list"
3334
c:identifier="grl_media_source_notify_change_list"
3336
<doc xml:whitespace="preserve">Emits "content-changed" signal to notify subscribers that a change ocurred
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.
3343
See GrlMediaSource::content-changed signal.
3347
This function is intended to be used only by plugins.
3350
<return-value transfer-ownership="none">
3351
<type name="none" c:type="void"/>
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"/>
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"/>
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"/>
3371
<method name="notify_change_start"
3372
c:identifier="grl_media_source_notify_change_start"
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"/>
3383
<method name="notify_change_stop"
3384
c:identifier="grl_media_source_notify_change_stop"
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
3390
<return-value transfer-ownership="none">
3391
<doc xml:whitespace="preserve">@TRUE if stop has succeed.</doc>
3392
<type name="gboolean" c:type="gboolean"/>
3395
<method name="query"
3396
c:identifier="grl_media_source_query"
3398
<doc xml:whitespace="preserve">Execute a specialized query (specific for each provider) on a media
3401
It is different from grl_media_source_search() semantically, because
3402
the query implies a carefully crafted string, rather than a simple
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"/>
3411
<parameter name="query" transfer-ownership="none">
3412
<doc xml:whitespace="preserve">the query to process</doc>
3413
<type name="utf8" c:type="gchar*"/>
3415
<parameter name="keys" transfer-ownership="none">
3416
<doc xml:whitespace="preserve">the #GList of #GrlKeyID<!-- -->s to request</doc>
3417
<type name="GLib.List" c:type="GList*">
3418
<type name="GObject.ParamSpec"/>
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"/>
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"/>
3429
<parameter name="flags" transfer-ownership="none">
3430
<doc xml:whitespace="preserve">the resolution mode</doc>
3431
<type name="MetadataResolutionFlags"
3432
c:type="GrlMetadataResolutionFlags"/>
3434
<parameter name="callback"
3435
transfer-ownership="none"
3438
<doc xml:whitespace="preserve">the user defined callback</doc>
3439
<type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
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"/>
3447
<method name="query_sync"
3448
c:identifier="grl_media_source_query_sync"
3451
<doc xml:whitespace="preserve">Execute a specialized query (specific for each provider) on a media
3454
This method is synchronous.
3456
elements. After use g_object_unref() every element and g_list_free() the
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"/>
3465
<parameter name="query" transfer-ownership="none">
3466
<doc xml:whitespace="preserve">the query to process</doc>
3467
<type name="utf8" c:type="gchar*"/>
3469
<parameter name="keys" transfer-ownership="none">
3470
<doc xml:whitespace="preserve">the #GList of #GrlKeyID<!-- -->s to request</doc>
3471
<type name="GLib.List" c:type="GList*">
3472
<type name="GObject.ParamSpec"/>
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"/>
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"/>
3483
<parameter name="flags" transfer-ownership="none">
3484
<doc xml:whitespace="preserve">the resolution mode</doc>
3485
<type name="MetadataResolutionFlags"
3486
c:type="GrlMetadataResolutionFlags"/>
3490
<method name="remove"
3491
c:identifier="grl_media_source_remove"
3493
<doc xml:whitespace="preserve">Remove a @media from the @source repository.
3495
This method is asynchronous.</doc>
3496
<return-value transfer-ownership="none">
3497
<type name="none" c:type="void"/>
3500
<parameter name="media" transfer-ownership="none">
3501
<doc xml:whitespace="preserve">a data transfer object</doc>
3502
<type name="Media" c:type="GrlMedia*"/>
3504
<parameter name="callback"
3505
transfer-ownership="none"
3508
<doc xml:whitespace="preserve">the user defined callback</doc>
3509
<type name="MediaSourceRemoveCb" c:type="GrlMediaSourceRemoveCb"/>
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"/>
3517
<method name="remove_sync"
3518
c:identifier="grl_media_source_remove_sync"
3521
<doc xml:whitespace="preserve">Remove a @media from the @source repository.
3523
This method is synchronous.</doc>
3524
<return-value transfer-ownership="none">
3525
<type name="none" c:type="void"/>
3528
<parameter name="media" transfer-ownership="none">
3529
<doc xml:whitespace="preserve">a data transfer object</doc>
3530
<type name="Media" c:type="GrlMedia*"/>
3534
<method name="search"
3535
c:identifier="grl_media_source_search"
3537
<doc xml:whitespace="preserve">Search for the @text string in a media source for data identified with
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.
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"/>
3551
<parameter name="text" transfer-ownership="none">
3552
<doc xml:whitespace="preserve">the text to search</doc>
3553
<type name="utf8" c:type="gchar*"/>
3555
<parameter name="keys" transfer-ownership="none">
3556
<doc xml:whitespace="preserve">the #GList of #GrlKeyID<!-- -->s to request</doc>
3557
<type name="GLib.List" c:type="GList*">
3558
<type name="GObject.ParamSpec"/>
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"/>
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"/>
3569
<parameter name="flags" transfer-ownership="none">
3570
<doc xml:whitespace="preserve">the resolution mode</doc>
3571
<type name="MetadataResolutionFlags"
3572
c:type="GrlMetadataResolutionFlags"/>
3574
<parameter name="callback"
3575
transfer-ownership="none"
3578
<doc xml:whitespace="preserve">the user defined callback</doc>
3579
<type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
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"/>
3587
<method name="search_sync"
3588
c:identifier="grl_media_source_search_sync"
3591
<doc xml:whitespace="preserve">Search for the @text string in a media source for data identified with
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.
3599
This method is synchronous.
3601
elements. After use g_object_unref() every element and g_list_free() the
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"/>
3610
<parameter name="text" transfer-ownership="none">
3611
<doc xml:whitespace="preserve">the text to search</doc>
3612
<type name="utf8" c:type="gchar*"/>
3614
<parameter name="keys" transfer-ownership="none">
3615
<doc xml:whitespace="preserve">the #GList of #GrlKeyID<!-- -->s to request</doc>
3616
<type name="GLib.List" c:type="GList*">
3617
<type name="GObject.ParamSpec"/>
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"/>
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"/>
3628
<parameter name="flags" transfer-ownership="none">
3629
<doc xml:whitespace="preserve">the resolution mode</doc>
3630
<type name="MetadataResolutionFlags"
3631
c:type="GrlMetadataResolutionFlags"/>
3635
<method name="set_auto_split_threshold"
3636
c:identifier="grl_media_source_set_auto_split_threshold"
3638
<doc xml:whitespace="preserve">TBD</doc>
3639
<return-value transfer-ownership="none">
3640
<type name="none" c:type="void"/>
3643
<parameter name="threshold" transfer-ownership="none">
3644
<doc xml:whitespace="preserve">the threshold to request</doc>
3645
<type name="guint" c:type="guint"/>
3649
<method name="set_operation_data"
3650
c:identifier="grl_media_source_set_operation_data"
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"/>
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"/>
3663
<parameter name="data" transfer-ownership="none">
3664
<doc xml:whitespace="preserve">the data to attach</doc>
3665
<type name="gpointer" c:type="gpointer"/>
3669
<method name="store"
3670
c:identifier="grl_media_source_store"
3672
<doc xml:whitespace="preserve">Store the @media into the @parent container
3674
This method is asynchronous.</doc>
3675
<return-value transfer-ownership="none">
3676
<type name="none" c:type="void"/>
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*"/>
3683
<parameter name="media" transfer-ownership="none">
3684
<doc xml:whitespace="preserve">a data transfer object</doc>
3685
<type name="Media" c:type="GrlMedia*"/>
3687
<parameter name="callback"
3688
transfer-ownership="none"
3691
<doc xml:whitespace="preserve">the user defined callback</doc>
3692
<type name="MediaSourceStoreCb" c:type="GrlMediaSourceStoreCb"/>
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"/>
3700
<method name="store_sync"
3701
c:identifier="grl_media_source_store_sync"
3704
<doc xml:whitespace="preserve">Store the @media into the @parent container.
3706
This method is synchronous.</doc>
3707
<return-value transfer-ownership="none">
3708
<type name="none" c:type="void"/>
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*"/>
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*"/>
3721
<method name="test_media_from_uri"
3722
c:identifier="grl_media_source_test_media_from_uri"
3724
<doc xml:whitespace="preserve">Tests whether @source can instantiate a #GrlMedia object representing
3725
the media resource exposed at @uri.
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"/>
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*"/>
3740
<property name="auto-split-threshold"
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"/>
3747
<field name="parent">
3748
<type name="MetadataSource" c:type="GrlMetadataSource"/>
3750
<field name="priv" readable="0" private="1">
3751
<type name="MediaSourcePrivate" c:type="GrlMediaSourcePrivate*"/>
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"/>
3758
<glib:signal name="content-changed"
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.
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.
3770
Both @change_type and @location_unknown are applied to all elements in the
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">
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"/>
3786
<parameter name="change_type" transfer-ownership="none">
3787
<doc xml:whitespace="preserve">the kind of change that ocurred</doc>
3788
<type name="MediaSourceChangeType"/>
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"/>
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*"/>
3803
<field name="browse_id" writable="1">
3804
<type name="guint" c:type="guint"/>
3806
<field name="container" writable="1">
3807
<type name="Media" c:type="GrlMedia*"/>
3809
<field name="keys" writable="1">
3810
<type name="GLib.List" c:type="GList*">
3811
<type name="gpointer" c:type="gpointer"/>
3814
<field name="skip" writable="1">
3815
<type name="guint" c:type="guint"/>
3817
<field name="count" writable="1">
3818
<type name="guint" c:type="guint"/>
3820
<field name="flags" writable="1">
3821
<type name="MetadataResolutionFlags"
3822
c:type="GrlMetadataResolutionFlags"/>
3824
<field name="callback" writable="1">
3825
<type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
3827
<field name="user_data" writable="1">
3828
<type name="gpointer" c:type="gpointer"/>
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"/>
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"
3843
c:identifier="GRL_CONTENT_CHANGED"
3844
glib:nick="changed"/>
3845
<member name="added"
3847
c:identifier="GRL_CONTENT_ADDED"
3849
<member name="removed"
3851
c:identifier="GRL_CONTENT_REMOVED"
3852
glib:nick="removed"/>
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"/>
3862
<field name="browse">
3863
<callback name="browse">
3864
<return-value transfer-ownership="none">
3865
<type name="none" c:type="void"/>
3868
<parameter name="source" transfer-ownership="none">
3869
<type name="MediaSource" c:type="GrlMediaSource*"/>
3871
<parameter name="bs" transfer-ownership="none">
3872
<type name="MediaSourceBrowseSpec"
3873
c:type="GrlMediaSourceBrowseSpec*"/>
3878
<field name="search">
3879
<callback name="search">
3880
<return-value transfer-ownership="none">
3881
<type name="none" c:type="void"/>
3884
<parameter name="source" transfer-ownership="none">
3885
<type name="MediaSource" c:type="GrlMediaSource*"/>
3887
<parameter name="ss" transfer-ownership="none">
3888
<type name="MediaSourceSearchSpec"
3889
c:type="GrlMediaSourceSearchSpec*"/>
3894
<field name="query">
3895
<callback name="query">
3896
<return-value transfer-ownership="none">
3897
<type name="none" c:type="void"/>
3900
<parameter name="source" transfer-ownership="none">
3901
<type name="MediaSource" c:type="GrlMediaSource*"/>
3903
<parameter name="qs" transfer-ownership="none">
3904
<type name="MediaSourceQuerySpec"
3905
c:type="GrlMediaSourceQuerySpec*"/>
3910
<field name="cancel">
3911
<callback name="cancel">
3912
<return-value transfer-ownership="none">
3913
<type name="none" c:type="void"/>
3916
<parameter name="source" transfer-ownership="none">
3917
<type name="MediaSource" c:type="GrlMediaSource*"/>
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"/>
3926
<field name="metadata">
3927
<callback name="metadata">
3928
<return-value transfer-ownership="none">
3929
<type name="none" c:type="void"/>
3932
<parameter name="source" transfer-ownership="none">
3933
<type name="MediaSource" c:type="GrlMediaSource*"/>
3935
<parameter name="ms" transfer-ownership="none">
3936
<type name="MediaSourceMetadataSpec"
3937
c:type="GrlMediaSourceMetadataSpec*"/>
3942
<field name="store">
3943
<callback name="store">
3944
<return-value transfer-ownership="none">
3945
<type name="none" c:type="void"/>
3948
<parameter name="source" transfer-ownership="none">
3949
<type name="MediaSource" c:type="GrlMediaSource*"/>
3951
<parameter name="ss" transfer-ownership="none">
3952
<type name="MediaSourceStoreSpec"
3953
c:type="GrlMediaSourceStoreSpec*"/>
3958
<field name="remove">
3959
<callback name="remove">
3960
<return-value transfer-ownership="none">
3961
<type name="none" c:type="void"/>
3964
<parameter name="source" transfer-ownership="none">
3965
<type name="MediaSource" c:type="GrlMediaSource*"/>
3967
<parameter name="ss" transfer-ownership="none">
3968
<type name="MediaSourceRemoveSpec"
3969
c:type="GrlMediaSourceRemoveSpec*"/>
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"/>
3981
<parameter name="source" transfer-ownership="none">
3982
<type name="MediaSource" c:type="GrlMediaSource*"/>
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*"/>
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"/>
3997
<parameter name="source" transfer-ownership="none">
3998
<type name="MediaSource" c:type="GrlMediaSource*"/>
4000
<parameter name="mfss" transfer-ownership="none">
4001
<type name="MediaSourceMediaFromUriSpec"
4002
c:type="GrlMediaSourceMediaFromUriSpec*"/>
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"/>
4014
<parameter name="source" transfer-ownership="none">
4015
<type name="MediaSource" c:type="GrlMediaSource*"/>
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"/>
4027
<parameter name="source" transfer-ownership="none">
4028
<type name="MediaSource" c:type="GrlMediaSource*"/>
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"/>
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*"/>
4046
<field name="media_from_uri_id" writable="1">
4047
<type name="guint" c:type="guint"/>
4049
<field name="uri" writable="1">
4050
<type name="utf8" c:type="gchar*"/>
4052
<field name="keys" writable="1">
4053
<type name="GLib.List" c:type="GList*">
4054
<type name="gpointer" c:type="gpointer"/>
4057
<field name="flags" writable="1">
4058
<type name="MetadataResolutionFlags"
4059
c:type="GrlMetadataResolutionFlags"/>
4061
<field name="callback" writable="1">
4062
<type name="MediaSourceMetadataCb" c:type="GrlMediaSourceMetadataCb"/>
4064
<field name="user_data" writable="1">
4065
<type name="gpointer" c:type="gpointer"/>
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"/>
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"/>
4079
<parameter name="source" transfer-ownership="none">
4080
<doc xml:whitespace="preserve">a media source</doc>
4081
<type name="MediaSource" c:type="GrlMediaSource*"/>
4083
<parameter name="operation_id" transfer-ownership="none">
4084
<doc xml:whitespace="preserve">operation identifier</doc>
4085
<type name="guint" c:type="guint"/>
4087
<parameter name="media" transfer-ownership="full">
4088
<doc xml:whitespace="preserve">a data transfer object</doc>
4089
<type name="Media" c:type="GrlMedia*"/>
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"/>
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*"/>
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*"/>
4107
<field name="metadata_id" writable="1">
4108
<type name="guint" c:type="guint"/>
4110
<field name="media" writable="1">
4111
<type name="Media" c:type="GrlMedia*"/>
4113
<field name="keys" writable="1">
4114
<type name="GLib.List" c:type="GList*">
4115
<type name="gpointer" c:type="gpointer"/>
4118
<field name="flags" writable="1">
4119
<type name="MetadataResolutionFlags"
4120
c:type="GrlMetadataResolutionFlags"/>
4122
<field name="callback" writable="1">
4123
<type name="MediaSourceMetadataCb" c:type="GrlMediaSourceMetadataCb"/>
4125
<field name="user_data" writable="1">
4126
<type name="gpointer" c:type="gpointer"/>
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"/>
4134
<record name="MediaSourcePrivate"
4135
c:type="GrlMediaSourcePrivate"
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*"/>
4144
<field name="query_id" writable="1">
4145
<type name="guint" c:type="guint"/>
4147
<field name="query" writable="1">
4148
<type name="utf8" c:type="gchar*"/>
4150
<field name="keys" writable="1">
4151
<type name="GLib.List" c:type="GList*">
4152
<type name="gpointer" c:type="gpointer"/>
4155
<field name="skip" writable="1">
4156
<type name="guint" c:type="guint"/>
4158
<field name="count" writable="1">
4159
<type name="guint" c:type="guint"/>
4161
<field name="flags" writable="1">
4162
<type name="MetadataResolutionFlags"
4163
c:type="GrlMetadataResolutionFlags"/>
4165
<field name="callback" writable="1">
4166
<type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
4168
<field name="user_data" writable="1">
4169
<type name="gpointer" c:type="gpointer"/>
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"/>
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"/>
4183
<parameter name="source" transfer-ownership="none">
4184
<doc xml:whitespace="preserve">a media source</doc>
4185
<type name="MediaSource" c:type="GrlMediaSource*"/>
4187
<parameter name="media" transfer-ownership="full">
4188
<doc xml:whitespace="preserve">a data transfer object</doc>
4189
<type name="Media" c:type="GrlMedia*"/>
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"/>
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*"/>
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*"/>
4207
<field name="media_id" writable="1">
4208
<type name="utf8" c:type="gchar*"/>
4210
<field name="media" writable="1">
4211
<type name="Media" c:type="GrlMedia*"/>
4213
<field name="callback" writable="1">
4214
<type name="MediaSourceRemoveCb" c:type="GrlMediaSourceRemoveCb"/>
4216
<field name="user_data" writable="1">
4217
<type name="gpointer" c:type="gpointer"/>
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"/>
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"/>
4231
<parameter name="source" transfer-ownership="none">
4232
<doc xml:whitespace="preserve">a media source</doc>
4233
<type name="MediaSource" c:type="GrlMediaSource*"/>
4235
<parameter name="operation_id" transfer-ownership="none">
4236
<doc xml:whitespace="preserve">operation identifier</doc>
4237
<type name="guint" c:type="guint"/>
4239
<parameter name="media" transfer-ownership="full">
4240
<doc xml:whitespace="preserve">a data transfer object</doc>
4241
<type name="Media" c:type="GrlMedia*"/>
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"/>
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"/>
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*"/>
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*"/>
4263
<field name="search_id" writable="1">
4264
<type name="guint" c:type="guint"/>
4266
<field name="text" writable="1">
4267
<type name="utf8" c:type="gchar*"/>
4269
<field name="keys" writable="1">
4270
<type name="GLib.List" c:type="GList*">
4271
<type name="gpointer" c:type="gpointer"/>
4274
<field name="skip" writable="1">
4275
<type name="guint" c:type="guint"/>
4277
<field name="count" writable="1">
4278
<type name="guint" c:type="guint"/>
4280
<field name="flags" writable="1">
4281
<type name="MetadataResolutionFlags"
4282
c:type="GrlMetadataResolutionFlags"/>
4284
<field name="callback" writable="1">
4285
<type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
4287
<field name="user_data" writable="1">
4288
<type name="gpointer" c:type="gpointer"/>
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"/>
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"/>
4302
<parameter name="source" transfer-ownership="none">
4303
<doc xml:whitespace="preserve">a media source</doc>
4304
<type name="MediaSource" c:type="GrlMediaSource*"/>
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*"/>
4310
<parameter name="media" transfer-ownership="full">
4311
<doc xml:whitespace="preserve">a data transfer object</doc>
4312
<type name="Media" c:type="GrlMedia*"/>
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"/>
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*"/>
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*"/>
4330
<field name="parent" writable="1">
4331
<type name="MediaBox" c:type="GrlMediaBox*"/>
4333
<field name="media" writable="1">
4334
<type name="Media" c:type="GrlMedia*"/>
4336
<field name="callback" writable="1">
4337
<type name="MediaSourceStoreCb" c:type="GrlMediaSourceStoreCb"/>
4339
<field name="user_data" writable="1">
4340
<type name="gpointer" c:type="gpointer"/>
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"/>
4348
<class name="MediaVideo"
4349
c:symbol-prefix="media_video"
4350
c:type="GrlMediaVideo"
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"
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*"/>
4364
<method name="add_url_data"
4365
c:identifier="grl_media_video_add_url_data"
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"/>
4373
<parameter name="url" transfer-ownership="none">
4374
<doc xml:whitespace="preserve">a video's url</doc>
4375
<type name="utf8" c:type="gchar*"/>
4377
<parameter name="mime" transfer-ownership="none">
4378
<doc xml:whitespace="preserve">video mime-type</doc>
4379
<type name="utf8" c:type="gchar*"/>
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"/>
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"/>
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"/>
4395
<method name="get_episode"
4396
c:identifier="grl_media_video_get_episode"
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"/>
4403
<method name="get_framerate"
4404
c:identifier="grl_media_video_get_framerate"
4406
<return-value transfer-ownership="none">
4407
<doc xml:whitespace="preserve">the framerate of the video</doc>
4408
<type name="gfloat" c:type="gfloat"/>
4411
<method name="get_height"
4412
c:identifier="grl_media_video_get_height"
4414
<return-value transfer-ownership="none">
4415
<doc xml:whitespace="preserve">the height of the video</doc>
4416
<type name="gint" c:type="gint"/>
4419
<method name="get_season"
4420
c:identifier="grl_media_video_get_season"
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"/>
4427
<method name="get_show"
4428
c:identifier="grl_media_video_get_show"
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*"/>
4435
<method name="get_url_data"
4436
c:identifier="grl_media_video_get_url_data"
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*"/>
4443
<parameter name="mime"
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**"/>
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*"/>
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*"/>
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*"/>
4464
<method name="get_url_data_nth"
4465
c:identifier="grl_media_video_get_url_data_nth"
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*"/>
4473
<parameter name="index" transfer-ownership="none">
4474
<doc xml:whitespace="preserve">element to retrieve</doc>
4475
<type name="guint" c:type="guint"/>
4477
<parameter name="mime"
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**"/>
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*"/>
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*"/>
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*"/>
4498
<method name="get_width"
4499
c:identifier="grl_media_video_get_width"
4501
<return-value transfer-ownership="none">
4502
<doc xml:whitespace="preserve">the width of the video</doc>
4503
<type name="gint" c:type="gint"/>
4506
<method name="set_episode"
4507
c:identifier="grl_media_video_set_episode"
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"/>
4514
<parameter name="episode" transfer-ownership="none">
4515
<doc xml:whitespace="preserve">the video's episode</doc>
4516
<type name="gint" c:type="gint"/>
4520
<method name="set_framerate"
4521
c:identifier="grl_media_video_set_framerate"
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"/>
4528
<parameter name="framerate" transfer-ownership="none">
4529
<doc xml:whitespace="preserve">the video's framerate</doc>
4530
<type name="gfloat" c:type="gfloat"/>
4534
<method name="set_height"
4535
c:identifier="grl_media_video_set_height"
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"/>
4542
<parameter name="height" transfer-ownership="none">
4543
<doc xml:whitespace="preserve">the video's height</doc>
4544
<type name="gint" c:type="gint"/>
4548
<method name="set_season"
4549
c:identifier="grl_media_video_set_season"
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"/>
4556
<parameter name="season" transfer-ownership="none">
4557
<doc xml:whitespace="preserve">the video's season</doc>
4558
<type name="gint" c:type="gint"/>
4562
<method name="set_show"
4563
c:identifier="grl_media_video_set_show"
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"/>
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*"/>
4576
<method name="set_size"
4577
c:identifier="grl_media_video_set_size"
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"/>
4584
<parameter name="width" transfer-ownership="none">
4585
<doc xml:whitespace="preserve">the video's width</doc>
4586
<type name="gint" c:type="gint"/>
4588
<parameter name="height" transfer-ownership="none">
4589
<doc xml:whitespace="preserve">the video's height</doc>
4590
<type name="gint" c:type="gint"/>
4594
<method name="set_url_data"
4595
c:identifier="grl_media_video_set_url_data"
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"/>
4602
<parameter name="url" transfer-ownership="none">
4603
<doc xml:whitespace="preserve">the video's url</doc>
4604
<type name="utf8" c:type="gchar*"/>
4606
<parameter name="mime" transfer-ownership="none">
4607
<doc xml:whitespace="preserve">video mime-type</doc>
4608
<type name="utf8" c:type="gchar*"/>
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"/>
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"/>
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"/>
4624
<method name="set_width"
4625
c:identifier="grl_media_video_set_width"
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"/>
4632
<parameter name="width" transfer-ownership="none">
4633
<doc xml:whitespace="preserve">the video's width</doc>
4634
<type name="gint" c:type="gint"/>
4638
<field name="parent">
4639
<type name="Media" c:type="GrlMedia"/>
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"/>
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"/>
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"/>
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"
4667
c:identifier="GRL_RESOLVE_IDLE_RELAY"/>
4668
<member name="fast_only" value="4" c:identifier="GRL_RESOLVE_FAST_ONLY"/>
4670
<class name="MetadataSource"
4671
c:symbol-prefix="metadata_source"
4672
c:type="GrlMetadataSource"
4673
parent="MediaPlugin"
4675
glib:type-name="GrlMetadataSource"
4676
glib:get-type="grl_metadata_source_get_type"
4677
glib:type-struct="MetadataSourceClass">
4678
<virtual-method name="cancel"
4681
deprecated="use grl_operation_cancel() instead."
4682
deprecated-version="0.1.16">
4683
<doc xml:whitespace="preserve">Cancel a running method.
4685
The derived class must implement the cancel vmethod in order to honour the
4686
request correctly. Otherwise, the operation will not be interrupted.
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"/>
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"/>
4702
<virtual-method name="key_depends"
4703
invoker="key_depends"
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
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"/>
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"/>
4723
<virtual-method name="may_resolve"
4724
invoker="may_resolve"
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.
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.
4734
This function is synchronous and should not block.
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"/>
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*"/>
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"/>
4750
<parameter name="missing_keys"
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"/>
4761
<virtual-method name="resolve">
4762
<return-value transfer-ownership="none">
4763
<type name="none" c:type="void"/>
4766
<parameter name="rs" transfer-ownership="none">
4767
<type name="MetadataSourceResolveSpec"
4768
c:type="GrlMetadataSourceResolveSpec*"/>
4772
<virtual-method name="set_metadata">
4773
<return-value transfer-ownership="none">
4774
<type name="none" c:type="void"/>
4777
<parameter name="sms" transfer-ownership="none">
4778
<type name="MetadataSourceSetMetadataSpec"
4779
c:type="GrlMetadataSourceSetMetadataSpec*"/>
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"/>
4794
<virtual-method name="supported_keys"
4795
invoker="supported_keys"
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"/>
4806
<virtual-method name="supported_operations">
4807
<return-value transfer-ownership="none">
4808
<type name="SupportedOps" c:type="GrlSupportedOps"/>
4811
<virtual-method name="writable_keys"
4812
invoker="writable_keys"
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.
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"/>
4825
<method name="cancel"
4826
c:identifier="grl_metadata_source_cancel"
4828
deprecated="use grl_operation_cancel() instead."
4829
deprecated-version="0.1.16">
4830
<doc xml:whitespace="preserve">Cancel a running method.
4832
The derived class must implement the cancel vmethod in order to honour the
4833
request correctly. Otherwise, the operation will not be interrupted.
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"/>
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"/>
4849
<method name="expand_operation_keys"
4850
c:identifier="grl_metadata_source_expand_operation_keys"
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.
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>
4858
<type name="GLib.List" c:type="GList*">
4859
<type name="gpointer" c:type="gpointer"/>
4863
<parameter name="media" transfer-ownership="none">
4864
<type name="Media" c:type="GrlMedia*"/>
4866
<parameter name="keys" transfer-ownership="none">
4867
<type name="GLib.List" c:type="GList*">
4868
<type name="gpointer" c:type="gpointer"/>
4873
<method name="filter_slow"
4874
c:identifier="grl_metadata_source_filter_slow"
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.
4880
@return_filtered is %TRUE will return the list of slow keys; otherwise
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"/>
4889
<parameter name="keys"
4891
caller-allocates="0"
4892
transfer-ownership="container"
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"/>
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"/>
4905
<method name="filter_supported"
4906
c:identifier="grl_metadata_source_filter_supported"
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.
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"/>
4919
<parameter name="keys"
4921
caller-allocates="0"
4922
transfer-ownership="container"
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"/>
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"/>
4935
<method name="filter_writable"
4936
c:identifier="grl_metadata_source_filter_writable"
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().
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
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"/>
4953
<parameter name="keys"
4955
caller-allocates="0"
4956
transfer-ownership="container"
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"/>
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"/>
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"/>
4975
<method name="get_additional_sources"
4976
c:identifier="grl_metadata_source_get_additional_sources"
4978
<doc xml:whitespace="preserve">Find the sources that should be queried to add @keys to @media.
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.
4984
If @additional_keys is NULL, will only consider sources that can
4985
resolve @keys immediately
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.
4992
Ignore elements of @keys that are already in @media.</doc>
4994
<type name="GLib.List" c:type="GList*">
4995
<type name="gpointer" c:type="gpointer"/>
4999
<parameter name="media" transfer-ownership="none">
5000
<type name="Media" c:type="GrlMedia*"/>
5002
<parameter name="keys" transfer-ownership="none">
5003
<type name="GLib.List" c:type="GList*">
5004
<type name="gpointer" c:type="gpointer"/>
5007
<parameter name="additional_keys" transfer-ownership="none">
5008
<type name="GLib.List" c:type="GList**">
5009
<type name="gpointer" c:type="gpointer"/>
5012
<parameter name="main_source_is_only_resolver"
5013
transfer-ownership="none">
5014
<type name="gboolean" c:type="gboolean"/>
5018
<method name="get_description"
5019
c:identifier="grl_metadata_source_get_description"
5021
<return-value transfer-ownership="none">
5022
<doc xml:whitespace="preserve">the description of the @source</doc>
5023
<type name="utf8" c:type="gchar*"/>
5026
<method name="get_id"
5027
c:identifier="grl_metadata_source_get_id"
5029
<return-value transfer-ownership="none">
5030
<doc xml:whitespace="preserve">the ID of the @source</doc>
5031
<type name="utf8" c:type="gchar*"/>
5034
<method name="get_name"
5035
c:identifier="grl_metadata_source_get_name"
5037
<return-value transfer-ownership="none">
5038
<doc xml:whitespace="preserve">the name of the @source</doc>
5039
<type name="utf8" c:type="gchar*"/>
5042
<method name="get_operation_data"
5043
c:identifier="grl_metadata_source_get_operation_data"
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"/>
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"/>
5059
<method name="key_depends"
5060
c:identifier="grl_metadata_source_key_depends"
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
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"/>
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"/>
5080
<method name="may_resolve"
5081
c:identifier="grl_metadata_source_may_resolve"
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.
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.
5091
This function is synchronous and should not block.
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"/>
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*"/>
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"/>
5107
<parameter name="missing_keys"
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"/>
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"/>
5124
<parameter name="operation_id" transfer-ownership="none">
5125
<type name="guint" c:type="guint"/>
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"/>
5135
<parameter name="operation_id" transfer-ownership="none">
5136
<type name="guint" c:type="guint"/>
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"/>
5146
<parameter name="operation_id" transfer-ownership="none">
5147
<type name="guint" c:type="guint"/>
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"/>
5157
<parameter name="operation_id" transfer-ownership="none">
5158
<type name="guint" c:type="guint"/>
5162
<method name="resolve"
5163
c:identifier="grl_metadata_source_resolve"
5165
<doc xml:whitespace="preserve">This is the main method of the #GrlMetadataSource class. It will fetch the
5166
metadata of the requested keys.
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"/>
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"/>
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*"/>
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"/>
5189
<parameter name="callback"
5190
transfer-ownership="none"
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"/>
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"/>
5203
<method name="resolve_sync"
5204
c:identifier="grl_metadata_source_resolve_sync"
5207
<doc xml:whitespace="preserve">This is the main method of the #GrlMetadataSource class. It will fetch the
5208
metadata of the requested keys.
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*"/>
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"/>
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*"/>
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"/>
5233
<method name="set_metadata"
5234
c:identifier="grl_metadata_source_set_metadata"
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.
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"/>
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*"/>
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"/>
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"/>
5261
<parameter name="callback"
5262
transfer-ownership="none"
5265
<doc xml:whitespace="preserve">the callback to execute when the operation is finished.</doc>
5266
<type name="MetadataSourceSetMetadataCb"
5267
c:type="GrlMetadataSourceSetMetadataCb"/>
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"/>
5275
<method name="set_metadata_sync"
5276
c:identifier="grl_metadata_source_set_metadata_sync"
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.
5284
This function is synchronous.
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"/>
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*"/>
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"/>
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"/>
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"/>
5316
<parameter name="operation_id" transfer-ownership="none">
5317
<type name="guint" c:type="guint"/>
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"/>
5327
<parameter name="operation_id" transfer-ownership="none">
5328
<type name="guint" c:type="guint"/>
5332
<method name="set_operation_data"
5333
c:identifier="grl_metadata_source_set_operation_data"
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"/>
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"/>
5346
<parameter name="data" transfer-ownership="none">
5347
<doc xml:whitespace="preserve">the data to attach</doc>
5348
<type name="gpointer" c:type="gpointer"/>
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"/>
5358
<parameter name="operation_id" transfer-ownership="none">
5359
<type name="guint" c:type="guint"/>
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"/>
5369
<parameter name="operation_id" transfer-ownership="none">
5370
<type name="guint" c:type="guint"/>
5374
<method name="slow_keys"
5375
c:identifier="grl_metadata_source_slow_keys"
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"/>
5387
<method name="supported_keys"
5388
c:identifier="grl_metadata_source_supported_keys"
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"/>
5399
<method name="supported_operations"
5400
c:identifier="grl_metadata_source_supported_operations"
5402
<doc xml:whitespace="preserve">By default the derived objects of #GrlMetadataSource can only resolve.
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"/>
5410
<method name="writable_keys"
5411
c:identifier="grl_metadata_source_writable_keys"
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.
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"/>
5424
<property name="source-desc"
5427
transfer-ownership="none">
5428
<doc xml:whitespace="preserve">A description of the source</doc>
5431
<property name="source-id"
5434
transfer-ownership="none">
5435
<doc xml:whitespace="preserve">The identifier of the source.</doc>
5438
<property name="source-name"
5441
transfer-ownership="none">
5442
<doc xml:whitespace="preserve">The name of the source.</doc>
5445
<field name="parent">
5446
<type name="MediaPlugin" c:type="GrlMediaPlugin"/>
5448
<field name="priv" readable="0" private="1">
5449
<type name="MetadataSourcePrivate" c:type="GrlMetadataSourcePrivate*"/>
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"/>
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"/>
5465
<field name="operation_id">
5466
<type name="guint" c:type="guint"/>
5468
<field name="supported_operations">
5469
<callback name="supported_operations">
5470
<return-value transfer-ownership="none">
5471
<type name="SupportedOps" c:type="GrlSupportedOps"/>
5474
<parameter name="source" transfer-ownership="none">
5475
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
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"/>
5489
<parameter name="source" transfer-ownership="none">
5490
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
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"/>
5504
<parameter name="source" transfer-ownership="none">
5505
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
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"/>
5518
<parameter name="source" transfer-ownership="none">
5519
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
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"/>
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"/>
5536
<parameter name="source" transfer-ownership="none">
5537
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
5542
<field name="resolve">
5543
<callback name="resolve">
5544
<return-value transfer-ownership="none">
5545
<type name="none" c:type="void"/>
5548
<parameter name="source" transfer-ownership="none">
5549
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
5551
<parameter name="rs" transfer-ownership="none">
5552
<type name="MetadataSourceResolveSpec"
5553
c:type="GrlMetadataSourceResolveSpec*"/>
5558
<field name="set_metadata">
5559
<callback name="set_metadata">
5560
<return-value transfer-ownership="none">
5561
<type name="none" c:type="void"/>
5564
<parameter name="source" transfer-ownership="none">
5565
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
5567
<parameter name="sms" transfer-ownership="none">
5568
<type name="MetadataSourceSetMetadataSpec"
5569
c:type="GrlMetadataSourceSetMetadataSpec*"/>
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"/>
5581
<parameter name="source" transfer-ownership="none">
5582
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
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*"/>
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"/>
5592
<parameter name="missing_keys"
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"/>
5604
<field name="cancel">
5605
<callback name="cancel">
5606
<return-value transfer-ownership="none">
5607
<type name="none" c:type="void"/>
5610
<parameter name="source" transfer-ownership="none">
5611
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
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"/>
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"/>
5626
<record name="MetadataSourcePrivate"
5627
c:type="GrlMetadataSourcePrivate"
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"/>
5637
<parameter name="source" transfer-ownership="none">
5638
<doc xml:whitespace="preserve">a metadata source</doc>
5639
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
5641
<parameter name="operation_id" transfer-ownership="none">
5642
<doc xml:whitespace="preserve">operation identifier</doc>
5643
<type name="guint" c:type="guint"/>
5645
<parameter name="media" transfer-ownership="full">
5646
<doc xml:whitespace="preserve">a #GrlMedia transfer object</doc>
5647
<type name="Media" c:type="GrlMedia*"/>
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"/>
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*"/>
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*"/>
5666
<field name="resolve_id" writable="1">
5667
<type name="guint" c:type="guint"/>
5669
<field name="keys" writable="1">
5670
<type name="GLib.List" c:type="GList*">
5671
<type name="gpointer" c:type="gpointer"/>
5674
<field name="media" writable="1">
5675
<type name="Media" c:type="GrlMedia*"/>
5677
<field name="flags" writable="1">
5678
<type name="MetadataResolutionFlags"
5679
c:type="GrlMetadataResolutionFlags"/>
5681
<field name="callback" writable="1">
5682
<type name="MetadataSourceResolveCb"
5683
c:type="GrlMetadataSourceResolveCb"/>
5685
<field name="user_data" writable="1">
5686
<type name="gpointer" c:type="gpointer"/>
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"/>
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"/>
5701
<parameter name="source" transfer-ownership="none">
5702
<doc xml:whitespace="preserve">a metadata source</doc>
5703
<type name="MetadataSource" c:type="GrlMetadataSource*"/>
5705
<parameter name="media" transfer-ownership="full">
5706
<doc xml:whitespace="preserve">a #GrlMedia transfer object</doc>
5707
<type name="Media" c:type="GrlMedia*"/>
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"/>
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"/>
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*"/>
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*"/>
5731
<field name="media" writable="1">
5732
<type name="Media" c:type="GrlMedia*"/>
5734
<field name="keys" writable="1">
5735
<type name="GLib.List" c:type="GList*">
5736
<type name="gpointer" c:type="gpointer"/>
5739
<field name="flags" writable="1">
5740
<type name="MetadataWritingFlags" c:type="GrlMetadataWritingFlags"/>
5742
<field name="callback" writable="1">
5743
<type name="MetadataSourceSetMetadataCb"
5744
c:type="GrlMetadataSourceSetMetadataCb"/>
5746
<field name="user_data" writable="1">
5747
<type name="gpointer" c:type="gpointer"/>
5749
<field name="failed_keys" writable="1">
5750
<type name="GLib.List" c:type="GList*">
5751
<type name="gpointer" c:type="gpointer"/>
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"/>
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"/>
5765
<constant name="PADDING" value="16" c:type="GRL_PADDING">
5766
<type name="gint" c:type="gint"/>
5768
<constant name="PADDING_SMALL" value="8" c:type="GRL_PADDING_SMALL">
5769
<type name="gint" c:type="gint"/>
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*"/>
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*"/>
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*"/>
5786
<record name="PluginDescriptor" c:type="GrlPluginDescriptor">
5787
<field name="plugin_id" writable="1">
5788
<type name="utf8" c:type="gchar*"/>
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"/>
5796
<parameter transfer-ownership="none">
5797
<type name="PluginRegistry" c:type="GrlPluginRegistry*"/>
5799
<parameter transfer-ownership="none">
5800
<type name="PluginInfo" c:type="GrlPluginInfo*"/>
5802
<parameter transfer-ownership="none">
5803
<type name="GLib.List" c:type="GList*">
5804
<type name="gpointer" c:type="gpointer"/>
5810
<field name="plugin_deinit">
5811
<callback name="plugin_deinit">
5812
<return-value transfer-ownership="none">
5813
<type name="none" c:type="void"/>
5817
<field name="module" writable="1">
5818
<type name="GModule.Module" c:type="GModule*"/>
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"/>
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*"/>
5831
<field name="filename" writable="1">
5832
<type name="utf8" c:type="gchar*"/>
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"/>
5840
<field name="rank" writable="1">
5841
<type name="gint" c:type="gint"/>
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"/>
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.
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"
5863
c:identifier="GRL_PLUGIN_RANK_HIGHEST"/>
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"
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.
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*"/>
5886
<method name="add_config"
5887
c:identifier="grl_plugin_registry_add_config"
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"/>
5895
<parameter name="config" transfer-ownership="full">
5896
<doc xml:whitespace="preserve">a configuration set</doc>
5897
<type name="Config" c:type="GrlConfig*"/>
5901
<method name="add_config_from_file"
5902
c:identifier="grl_plugin_registry_add_config_from_file"
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"/>
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*"/>
5917
<method name="add_directory"
5918
c:identifier="grl_plugin_registry_add_directory"
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"/>
5925
<parameter name="path" transfer-ownership="none">
5926
<doc xml:whitespace="preserve">a path with plugins</doc>
5927
<type name="utf8" c:type="gchar*"/>
5931
<method name="get_metadata_keys"
5932
c:identifier="grl_plugin_registry_get_metadata_keys"
5934
<doc xml:whitespace="preserve">Returns a list with all registered keys in system.
5936
with all the available #GrlKeyID<!-- -->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"/>
5945
<method name="get_sources"
5946
c:identifier="grl_plugin_registry_get_sources"
5948
<doc xml:whitespace="preserve">This function will return all the available sources in the @registry.
5950
If @ranked is %TRUE, the source list will be ordered by rank.
5952
available #GrlMediaPlugins<!-- -->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"/>
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"/>
5967
<method name="get_sources_by_operations"
5968
c:identifier="grl_plugin_registry_get_sources_by_operations"
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.
5973
If @ranked is %TRUE, the source list will be ordered by rank.
5975
available #GrlMediaPlugins<!-- -->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"/>
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"/>
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"/>
5995
c:identifier="grl_plugin_registry_load"
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"/>
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*"/>
6010
<method name="load_all"
6011
c:identifier="grl_plugin_registry_load_all"
6014
<doc xml:whitespace="preserve">Load all the modules available in the default directory path.
6016
The default directory path can be changed through the environment
6017
variable %GRL_PLUGIN_PATH and it can contain several paths separated
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"/>
6026
<method name="load_by_id"
6027
c:identifier="grl_plugin_registry_load_by_id"
6030
<doc xml:whitespace="preserve">Loads plugin identified by @plugin_id.
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"/>
6040
<parameter name="plugin_id" transfer-ownership="none">
6041
<doc xml:whitespace="preserve">plugin identifier</doc>
6042
<type name="utf8" c:type="gchar*"/>
6046
<method name="load_directory"
6047
c:identifier="grl_plugin_registry_load_directory"
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"/>
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*"/>
6063
<method name="lookup_metadata_key"
6064
c:identifier="grl_plugin_registry_lookup_metadata_key"
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"/>
6072
<parameter name="key_name" transfer-ownership="none">
6073
<doc xml:whitespace="preserve">the key name</doc>
6074
<type name="utf8" c:type="gchar*"/>
6078
<method name="lookup_metadata_key_relation"
6079
c:identifier="grl_plugin_registry_lookup_metadata_key_relation"
6081
<doc xml:whitespace="preserve">Look up the list of keys that have a relation with @key.
6083
@key is included in that list.
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"/>
6093
<parameter name="key" transfer-ownership="none">
6094
<doc xml:whitespace="preserve">a metadata key</doc>
6095
<type name="KeyID" c:type="GrlKeyID"/>
6099
<method name="lookup_source"
6100
c:identifier="grl_plugin_registry_lookup_source"
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*"/>
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*"/>
6114
<method name="register_metadata_key"
6115
c:identifier="grl_plugin_registry_register_metadata_key"
6118
<doc xml:whitespace="preserve">Registers a metadata key
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"/>
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*"/>
6132
<method name="register_metadata_key_relation"
6133
c:identifier="grl_plugin_registry_register_metadata_key_relation"
6135
<doc xml:whitespace="preserve">Creates a relation between @key1 and @key2, meaning that the values of both
6136
keys are somehow related.
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.
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"/>
6148
<parameter name="key1" transfer-ownership="none">
6149
<doc xml:whitespace="preserve">key involved in relationship</doc>
6150
<type name="KeyID" c:type="GrlKeyID"/>
6152
<parameter name="key2" transfer-ownership="none">
6153
<doc xml:whitespace="preserve">key involved in relationship</doc>
6154
<type name="KeyID" c:type="GrlKeyID"/>
6158
<method name="register_source"
6159
c:identifier="grl_plugin_registry_register_source"
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"/>
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*"/>
6172
<parameter name="source" transfer-ownership="none">
6173
<doc xml:whitespace="preserve">the source to register</doc>
6174
<type name="MediaPlugin" c:type="GrlMediaPlugin*"/>
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.
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"/>
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**"/>
6194
<method name="unload"
6195
c:identifier="grl_plugin_registry_unload"
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"/>
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*"/>
6211
<method name="unregister_source"
6212
c:identifier="grl_plugin_registry_unregister_source"
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"/>
6221
<parameter name="source" transfer-ownership="none">
6222
<doc xml:whitespace="preserve">the source to unregister</doc>
6223
<type name="MediaPlugin" c:type="GrlMediaPlugin*"/>
6227
<field name="parent">
6228
<type name="GObject.Object" c:type="GObject"/>
6230
<field name="priv" readable="0" private="1">
6231
<type name="PluginRegistryPrivate" c:type="GrlPluginRegistryPrivate*"/>
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"/>
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">
6244
<parameter name="plugin" transfer-ownership="none">
6245
<doc xml:whitespace="preserve">the plugin that has been added</doc>
6246
<type name="MediaPlugin"/>
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">
6256
<parameter name="plugin" transfer-ownership="none">
6257
<doc xml:whitespace="preserve">the plugin that has been removed</doc>
6258
<type name="MediaPlugin"/>
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"/>
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"/>
6276
<record name="PluginRegistryPrivate"
6277
c:type="GrlPluginRegistryPrivate"
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"
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*"/>
6297
<constructor name="new_valist"
6298
c:identifier="grl_related_keys_new_valist"
6301
<doc xml:whitespace="preserve">Creates a new #GrlRelatedKeys containing pairs of (key, value). Finish the
6304
In case of a binary-type key, the expected element is (key, value, size).
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*"/>
6312
<parameter name="key" transfer-ownership="none">
6313
<doc xml:whitespace="preserve">first key</doc>
6314
<type name="KeyID" c:type="GrlKeyID"/>
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"/>
6322
<constructor name="new_with_keys"
6323
c:identifier="grl_related_keys_new_with_keys"
6326
<doc xml:whitespace="preserve">Creates a initial #GrlRelatedKeys containing the list of (key, value)
6327
pairs. Finish the list with %NULL.
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*"/>
6335
<parameter name="key" transfer-ownership="none">
6336
<doc xml:whitespace="preserve">first key</doc>
6337
<type name="KeyID" c:type="GrlKeyID"/>
6339
<parameter transfer-ownership="none">
6346
c:identifier="grl_related_keys_add"
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
6352
<return-value transfer-ownership="none">
6353
<type name="none" c:type="void"/>
6356
<parameter name="key" transfer-ownership="none">
6357
<doc xml:whitespace="preserve">key to add</doc>
6358
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
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.
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*"/>
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.
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*"/>
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"/>
6387
<method name="get_binary"
6388
c:identifier="grl_related_keys_get_binary"
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.
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*"/>
6399
<parameter name="key" transfer-ownership="none">
6400
<doc xml:whitespace="preserve">key to use</doc>
6401
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6403
<parameter name="size"
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*"/>
6412
<method name="get_float"
6413
c:identifier="grl_related_keys_get_float"
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"/>
6422
<parameter name="key" transfer-ownership="none">
6423
<doc xml:whitespace="preserve">key to use</doc>
6424
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6428
<method name="get_int"
6429
c:identifier="grl_related_keys_get_int"
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"/>
6438
<parameter name="key" transfer-ownership="none">
6439
<doc xml:whitespace="preserve">key to use</doc>
6440
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6444
<method name="get_keys"
6445
c:identifier="grl_related_keys_get_keys"
6447
<doc xml:whitespace="preserve">Returns a list with keys contained in @relkeys.
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"/>
6458
<method name="get_string"
6459
c:identifier="grl_related_keys_get_string"
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.
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*"/>
6470
<parameter name="key" transfer-ownership="none">
6471
<doc xml:whitespace="preserve">key to use</doc>
6472
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6476
<method name="has_key"
6477
c:identifier="grl_related_keys_has_key"
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"/>
6485
<parameter name="key" transfer-ownership="none">
6486
<doc xml:whitespace="preserve">key to search</doc>
6487
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
6491
<method name="key_is_known"
6492
c:identifier="grl_related_keys_key_is_known"
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"/>
6502
<parameter name="key" transfer-ownership="none">
6503
<doc xml:whitespace="preserve">key to search</doc>
6504
<type name="GObject.ParamSpec" c:type="GrlKeyID"/>
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
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"/>
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"/>
6523
<parameter name="value" transfer-ownership="none">
6524
<doc xml:whitespace="preserve">the new value</doc>
6525
<type name="GObject.Value" c:type="GValue*"/>
6529
<method name="set_binary"
6530
c:identifier="grl_related_keys_set_binary"
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"/>
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"/>
6542
<parameter name="buf" transfer-ownership="none">
6543
<doc xml:whitespace="preserve">buffer holding the relkeys</doc>
6544
<type name="guint8" c:type="guint8*"/>
6546
<parameter name="size" transfer-ownership="none">
6547
<doc xml:whitespace="preserve">size of the buffer</doc>
6548
<type name="gsize" c:type="gsize"/>
6552
<method name="set_float"
6553
c:identifier="grl_related_keys_set_float"
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"/>
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"/>
6565
<parameter name="floatvalue" transfer-ownership="none">
6566
<doc xml:whitespace="preserve">the new value</doc>
6567
<type name="gfloat" c:type="gfloat"/>
6571
<method name="set_int"
6572
c:identifier="grl_related_keys_set_int"
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"/>
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"/>
6584
<parameter name="intvalue" transfer-ownership="none">
6585
<doc xml:whitespace="preserve">the new value</doc>
6586
<type name="gint" c:type="gint"/>
6590
<method name="set_string"
6591
c:identifier="grl_related_keys_set_string"
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"/>
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"/>
6603
<parameter name="strvalue" transfer-ownership="none">
6604
<doc xml:whitespace="preserve">the new value</doc>
6605
<type name="utf8" c:type="gchar*"/>
6609
<field name="parent">
6610
<type name="GObject.Object" c:type="GObject"/>
6612
<field name="priv" readable="0" private="1">
6613
<type name="RelatedKeysPrivate" c:type="GrlRelatedKeysPrivate*"/>
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"/>
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"/>
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"/>
6634
<record name="RelatedKeysPrivate"
6635
c:type="GrlRelatedKeysPrivate"
6638
<constant name="SOURCE_REMAINING_UNKNOWN"
6640
c:type="GRL_SOURCE_REMAINING_UNKNOWN">
6641
<type name="gint" c:type="gint"/>
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"
6655
c:identifier="GRL_OP_STORE_PARENT"/>
6656
<member name="remove" value="128" c:identifier="GRL_OP_REMOVE"/>
6657
<member name="set_metadata"
6659
c:identifier="GRL_OP_SET_METADATA"/>
6660
<member name="media_from_uri"
6662
c:identifier="GRL_OP_MEDIA_FROM_URI"/>
6663
<member name="notify_change"
6665
c:identifier="GRL_OP_NOTIFY_CHANGE"/>
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"/>
6673
<parameter name="argc"
6675
caller-allocates="0"
6676
transfer-ownership="full"
6678
<doc xml:whitespace="preserve">number of input arguments, length of @argv</doc>
6679
<type name="gint" c:type="gint*"/>
6681
<parameter name="argv"
6683
caller-allocates="0"
6684
transfer-ownership="full"
6686
<doc xml:whitespace="preserve">list of arguments</doc>
6687
<array length="0" zero-terminated="0" c:type="gchar**">
6693
<function name="init_get_option_group"
6694
c:identifier="grl_init_get_option_group"
6697
<doc xml:whitespace="preserve">Returns a #GOptionGroup with Grilo's argument specifications.
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() ).
6705
<doc xml:whitespace="preserve">a pointer to Grilo's option group. Should be dereferenced</doc>
6706
<type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
6709
<function name="list_from_va"
6710
c:identifier="grl_list_from_va"
6713
<doc xml:whitespace="preserve">Returns a #GList containing the va_list pointers. Use @NULL to finalize them,</doc>
6715
<doc xml:whitespace="preserve">a #GList.</doc>
6716
<type name="GLib.List" c:type="GList*">
6717
<type name="gpointer" c:type="gpointer"/>
6721
<parameter name="p" transfer-ownership="none">
6722
<doc xml:whitespace="preserve">first pointer</doc>
6723
<type name="gpointer" c:type="gpointer"/>
6725
<parameter transfer-ownership="none">
6731
<function name="log" c:identifier="grl_log" introspectable="0">
6732
<return-value transfer-ownership="none">
6733
<type name="none" c:type="void"/>
6736
<parameter name="domain" transfer-ownership="none">
6737
<type name="LogDomain" c:type="GrlLogDomain*"/>
6739
<parameter name="level" transfer-ownership="none">
6740
<type name="LogLevel" c:type="GrlLogLevel"/>
6742
<parameter name="strloc" transfer-ownership="none">
6743
<type name="utf8" c:type="gchar*"/>
6745
<parameter name="format" transfer-ownership="none">
6746
<type name="utf8" c:type="gchar*"/>
6748
<parameter transfer-ownership="none">
6754
<function name="log_configure"
6755
c:identifier="grl_log_configure"
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.
6760
The configuration string follows the following grammar:
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"
6772
<itemizedlist>
6773
<listitem><para>"*:*": maximum verbosity for all the log domains</para>
6775
<listitem><para>"*:-": don't print any message</para></listitem>
6776
<listitem><para>"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</para></listitem>
6779
</itemizedlist>
6781
<note>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</note></doc>
6784
<return-value transfer-ownership="none">
6785
<type name="none" c:type="void"/>
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*"/>
6794
<function name="log_domain_new"
6795
c:identifier="grl_log_domain_new"
6796
moved-to="LogDomain.new"
6800
<doc xml:whitespace="preserve">The new log domain</doc>
6801
<type name="LogDomain" c:type="GrlLogDomain*"/>
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*"/>
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"/>
6816
<parameter name="closure" transfer-ownership="none">
6817
<type name="GObject.Closure" c:type="GClosure*"/>
6819
<parameter name="return_value" transfer-ownership="none">
6820
<type name="GObject.Value" c:type="GValue*"/>
6822
<parameter name="n_param_values" transfer-ownership="none">
6823
<type name="guint" c:type="guint"/>
6825
<parameter name="param_values" transfer-ownership="none">
6826
<type name="GObject.Value" c:type="GValue*"/>
6828
<parameter name="invocation_hint" transfer-ownership="none">
6829
<type name="gpointer" c:type="gpointer"/>
6831
<parameter name="marshal_data" transfer-ownership="none">
6832
<type name="gpointer" c:type="gpointer"/>
6836
<function name="metadata_key_get_desc"
6837
c:identifier="grl_metadata_key_get_desc"
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*"/>
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"/>
6851
<function name="metadata_key_get_name"
6852
c:identifier="grl_metadata_key_get_name"
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*"/>
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"/>
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"/>
6872
<parameter name="registry" transfer-ownership="none">
6873
<type name="PluginRegistry" c:type="GrlPluginRegistry*"/>
6877
<function name="multiple_cancel"
6878
c:identifier="grl_multiple_cancel"
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"/>
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"/>
6894
<function name="multiple_get_media_from_uri"
6895
c:identifier="grl_multiple_get_media_from_uri"
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
6901
This method is asynchronous.</doc>
6902
<return-value transfer-ownership="none">
6903
<type name="none" c:type="void"/>
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*"/>
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"/>
6916
<parameter name="flags" transfer-ownership="none">
6917
<doc xml:whitespace="preserve">the operation flags</doc>
6918
<type name="MetadataResolutionFlags"
6919
c:type="GrlMetadataResolutionFlags"/>
6921
<parameter name="callback"
6922
transfer-ownership="none"
6925
<doc xml:whitespace="preserve">the user defined callback</doc>
6926
<type name="MediaSourceMetadataCb"
6927
c:type="GrlMediaSourceMetadataCb"/>
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"/>
6935
<function name="multiple_search"
6936
c:identifier="grl_multiple_search"
6938
<doc xml:whitespace="preserve">Search for @text in all the sources specified in @sources.
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).
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"/>
6949
<parameter name="sources" transfer-ownership="none" allow-none="1">
6950
<doc xml:whitespace="preserve"> a #GList of #GrlMediaSource<!-- -->s to search from (%NULL for all searchable sources)</doc>
6951
<type name="GLib.List" c:type="GList*">
6952
<type name="MediaSource"/>
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*"/>
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"/>
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"/>
6969
<parameter name="flags" transfer-ownership="none">
6970
<doc xml:whitespace="preserve">the operation flags</doc>
6971
<type name="MetadataResolutionFlags"
6972
c:type="GrlMetadataResolutionFlags"/>
6974
<parameter name="callback"
6975
transfer-ownership="none"
6978
<doc xml:whitespace="preserve">the user defined callback</doc>
6979
<type name="MediaSourceResultCb" c:type="GrlMediaSourceResultCb"/>
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"/>
6987
<function name="multiple_search_sync"
6988
c:identifier="grl_multiple_search_sync"
6991
<doc xml:whitespace="preserve">Search for @text in all the sources specified in @sources.
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"/>
7001
<parameter name="sources" transfer-ownership="none" allow-none="1">
7002
<doc xml:whitespace="preserve"> a #GList of #GrlMediaSource<!-- -->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"/>
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*"/>
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"/>
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"/>
7021
<parameter name="flags" transfer-ownership="none">
7022
<doc xml:whitespace="preserve">the operation flags</doc>
7023
<type name="MetadataResolutionFlags"
7024
c:type="GrlMetadataResolutionFlags"/>
7028
<function name="operation_cancel"
7029
c:identifier="grl_operation_cancel"
7031
<doc xml:whitespace="preserve">Cancel an operation.</doc>
7032
<return-value transfer-ownership="none">
7033
<type name="none" c:type="void"/>
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"/>
7042
<function name="operation_get_data"
7043
c:identifier="grl_operation_get_data"
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"/>
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"/>
7057
<function name="operation_set_data"
7058
c:identifier="grl_operation_set_data"
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"/>
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"/>
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"/>
7075
<function name="paging_translate"
7076
c:identifier="grl_paging_translate"
7078
<doc xml:whitespace="preserve">Grilo browsing implements a paging mechanism through @skip and @count values.
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.
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.
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"/>
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"/>
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"/>
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"/>
7108
<parameter name="page_size" transfer-ownership="none">
7109
<doc xml:whitespace="preserve">optimal page size</doc>
7110
<type name="guint" c:type="guint*"/>
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*"/>
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*"/>