[grilomm] Fix the build with the latest version of grilo.
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilomm] Fix the build with the latest version of grilo.
- Date: Wed, 3 Oct 2012 15:16:26 +0000 (UTC)
commit 418d150030cc869972afff4493508016f00ee1e9
Author: Kjell Ahlstedt <kjell ahlstedt bredband net>
Date: Wed Oct 3 16:39:29 2012 +0200
Fix the build with the latest version of grilo.
* configure.ac: Change grilo-0.2 to grilo-0.3.
* .gitignore: Add *~ (gedit's backup files).
* grilo/.gitignore: Add generated files in grilo/grilomm/.
* doc/reference/Doxyfile.in: EXTRACT_ALL=YES, EXTRACT_PRIVATE=NO.
* codegen/extradefs/generate_extra_defs_grilo.cc: Change GRL_TYPE_*.
* codegen/m4/convert_grilo.m4:
* examples/example/example.cc:
* grilo/grilomm.h:
* grilo/src/filelist.am: Changes caused by changed file names and class names.
* grilo/src/grilo_docs.xml:
* grilo/src/grilo_enum.defs:
* grilo/src/grilo_extra.defs:
* grilo/src/grilo_method.defs: Regenerated.
* grilo/src/media-plugin.[hg|ccg]:
* grilo/src/plugin-registry.[hg|ccg]: Deleted files.
* codegen/generate_defs_and_docs.sh: New file. Generates all .defs files
and grilo_docs.xml.
* grilo/src/plugin.[hg|ccg]:
* grilo/src/source.[hg|ccg]: New files. Replace media-plugin.[hg|ccg].
Adjustment to grilo commits ae22e96590eed29b2a8d1c4b4bfce6fb11a1d822
and b9b02d0cff289c8e88f3555cceda8154fd295bf3.
* grilo/src/registry.[hg|ccg]: New files. Replace plugin-registry.[hg|ccg].
Adjustment to grilo commit 41f2fe09990e8f800f829e52867e87864d971b5f.
.gitignore | 11 +-
codegen/extradefs/generate_extra_defs_grilo.cc | 5 +-
codegen/generate_defs_and_docs.sh | 31 +
codegen/m4/convert_grilo.m4 | 5 +-
configure.ac | 4 +-
doc/reference/Doxyfile.in | 4 +-
examples/example/example.cc | 20 +-
grilo/.gitignore | 6 +
grilo/grilomm.h | 5 +-
grilo/src/filelist.am | 2 +-
grilo/src/grilo_docs.xml | 4441 +++++++++++++----------
grilo/src/grilo_enum.defs | 179 +-
grilo/src/grilo_extra.defs | 20 -
grilo/src/grilo_method.defs | 3293 ++++-------------
grilo/src/media-plugin.hg | 51 -
grilo/src/{media-plugin.ccg => plugin.ccg} | 0
grilo/src/plugin.hg | 57 +
grilo/src/{plugin-registry.ccg => registry.ccg} | 0
grilo/src/{plugin-registry.hg => registry.hg} | 14 +-
grilo/src/{media-plugin.ccg => source.ccg} | 0
grilo/src/{plugin-registry.hg => source.hg} | 19 +-
21 files changed, 3487 insertions(+), 4680 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index bb0d047..e5ab21e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+# wildcard patterns
.deps/
.dirstamp
.libs/
@@ -6,6 +7,9 @@ Makefile.in
stamp-h?
*.[ao]
*.l[ao]
+*~
+
+# /
/INSTALL
/aclocal.m4
/autom4te.cache/
@@ -13,6 +17,11 @@ stamp-h?
/config.log
/config.status
/configure
-/skeletonmm-*.tar.*
+/grilomm-*.tar.*
/libtool
+
+# codegen/
/codegen/extradefs/generate_extra_defs
+
+# grilo/ has its own .gitignore
+
diff --git a/codegen/extradefs/generate_extra_defs_grilo.cc b/codegen/extradefs/generate_extra_defs_grilo.cc
index fcb1400..170c1ea 100644
--- a/codegen/extradefs/generate_extra_defs_grilo.cc
+++ b/codegen/extradefs/generate_extra_defs_grilo.cc
@@ -24,8 +24,9 @@ int main(int, char**)
{
grl_init(0, 0);
- std::cout << get_defs(GRL_TYPE_MEDIA_PLUGIN)
- << get_defs(GRL_TYPE_PLUGIN_REGISTRY);
+ std::cout << get_defs(GRL_TYPE_PLUGIN)
+ << get_defs(GRL_TYPE_REGISTRY)
+ << get_defs(GRL_TYPE_SOURCE);
return 0;
}
diff --git a/codegen/generate_defs_and_docs.sh b/codegen/generate_defs_and_docs.sh
new file mode 100755
index 0000000..1b2c5ee
--- /dev/null
+++ b/codegen/generate_defs_and_docs.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# grilomm/codegen/generate_defs_and_docs.sh
+
+# This script must be executed from directory grilomm/codegen.
+
+# Assumed directory structure:
+# glibmm/tools/defs_gen/docextract_to_xml.py
+# glibmm/tools/defs_gen/h2def.py
+# glibmm/tools/enum.pl
+# grilo/src/*.h
+# grilo/src/*.c
+# grilo/doc/grilo/*.sgml
+# grilo/doc/grilo/*.xml
+# grilomm/codegen/extradefs/generate_extra_defs
+
+# Generated files:
+# grilomm/grilo/src/grilo_docs.xml
+# grilomm/grilo/src/grilo_method.defs
+# grilomm/grilo/src/grilo_enum.defs
+# grilomm/grilo/src/grilo_extra.defs (signals and properties)
+
+GLIBMM_TOOLS_DIR=../../glibmm/tools
+GRILO_DIR=../../grilo
+GRILOMM_SRC_DIR=../grilo/src
+
+$GLIBMM_TOOLS_DIR/defs_gen/docextract_to_xml.py -s $GRILO_DIR/src -s $GRILO_DIR/doc/grilo >$GRILOMM_SRC_DIR/grilo_docs.xml
+$GLIBMM_TOOLS_DIR/defs_gen/h2def.py $GRILO_DIR/src/*.h >$GRILOMM_SRC_DIR/grilo_method.defs
+$GLIBMM_TOOLS_DIR/enum.pl $GRILO_DIR/src/*.h >$GRILOMM_SRC_DIR/grilo_enum.defs
+extradefs/generate_extra_defs >$GRILOMM_SRC_DIR/grilo_extra.defs
+
diff --git a/codegen/m4/convert_grilo.m4 b/codegen/m4/convert_grilo.m4
index 8ccc2d2..7a4ede2 100644
--- a/codegen/m4/convert_grilo.m4
+++ b/codegen/m4/convert_grilo.m4
@@ -1,5 +1,6 @@
dnl Copyright (c) 2012 Murray Cumming <murrayc murrayc com>
dnl This file is part of grilomm.
-_CONVERSION(`GrlPluginRegistry*',`Glib::RefPtr<PluginRegistry>',`Glib::wrap($3)')
-_CONVERSION(`GrlMediaPlugin*',`Glib::RefPtr<MediaPlugin>',`Glib::wrap($3)')
+_CONVERSION(`GrlRegistry*',`Glib::RefPtr<Registry>',`Glib::wrap($3)')
+_CONVERSION(`GrlPlugin*',`Glib::RefPtr<Plugin>',`Glib::wrap($3)')
+_CONVERSION(`GrlPlugin*',`Glib::RefPtr<const Plugin>',`Glib::wrap($3)')
diff --git a/configure.ac b/configure.ac
index 87bf5dc..75c2e08 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,7 +40,7 @@ AC_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL
-AC_SUBST([GRILOMM_MODULES], ['grilo-0.2 >= 0.2.0 glibmm-2.4 >= 2.16'])
+AC_SUBST([GRILOMM_MODULES], ['grilo-0.3 >= 0.3.0 glibmm-2.4 >= 2.16'])
PKG_CHECK_MODULES([GRILOMM], [$GRILOMM_MODULES])
MM_PKG_CONFIG_SUBST([GTHREAD_CFLAGS], [--cflags-only-other gthread-2.0])
@@ -57,7 +57,7 @@ AC_LANG([C++])
MM_ARG_ENABLE_WARNINGS([GRILOMM_WXXFLAGS],
[-Wall],
[-pedantic -Wall -Wextra -Wno-long-long -Wno-variadic-macros -DGSEAL_ENABLE],
- [G GRILO])
+ [G GRILO GLIBMM])
AC_CONFIG_FILES([Makefile
codegen/Makefile
diff --git a/doc/reference/Doxyfile.in b/doc/reference/Doxyfile.in
index 7e8ce0b..8424bcd 100644
--- a/doc/reference/Doxyfile.in
+++ b/doc/reference/Doxyfile.in
@@ -48,8 +48,8 @@ SYMBOL_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
-EXTRACT_ALL = NO
-EXTRACT_PRIVATE = YES
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
diff --git a/examples/example/example.cc b/examples/example/example.cc
index 026c2cd..3b39779 100644
--- a/examples/example/example.cc
+++ b/examples/example/example.cc
@@ -23,27 +23,25 @@ int main(int, char**)
{
Grilo::init();
- const Glib::RefPtr<Grilo::PluginRegistry> plugin_registry =
- Grilo::PluginRegistry::get_default();
- if(!plugin_registry)
+ const Glib::RefPtr<Grilo::Registry> registry = Grilo::Registry::get_default();
+ if(!registry)
{
- std::cerr << "Grilo::PluginRegistry::get_default() returned null." << std::endl;
+ std::cerr << "Grilo::Registry::get_default() returned null." << std::endl;
return EXIT_FAILURE;
}
- typedef std::vector<Glib::RefPtr<Grilo::MediaPlugin> > typeVecSources;
- const typeVecSources sources = plugin_registry->get_sources();
+ typedef std::vector<Glib::RefPtr<Grilo::Source> > typeVecSources;
+ const typeVecSources sources = registry->get_sources();
- std::cout << "Plugins:" << std::endl;
+ std::cout << "Sources:" << std::endl;
for(typeVecSources::const_iterator iter = sources.begin(); iter != sources.end(); ++iter)
{
- const Glib::RefPtr<Grilo::MediaPlugin> plugin = *iter;
- if(!plugin)
+ const Glib::RefPtr<Grilo::Source> source = *iter;
+ if(!source)
continue;
- std::cout << plugin->get_name() << std::endl;
+ std::cout << source->get_name() << std::endl;
}
-
return EXIT_SUCCESS;
}
diff --git a/grilo/.gitignore b/grilo/.gitignore
index 8e56819..ea720e0 100644
--- a/grilo/.gitignore
+++ b/grilo/.gitignore
@@ -1,5 +1,11 @@
/grilommconfig.h
/grilomm-*.pc
+/grilomm/plugin.h
+/grilomm/plugin.cc
+/grilomm/registry.h
+/grilomm/registry.cc
+/grilomm/source.h
+/grilomm/source.cc
/grilomm/grilo.cc
/grilomm/grilo.h
/grilomm/wrap_init.cc
diff --git a/grilo/grilomm.h b/grilo/grilomm.h
index b03072f..246037c 100644
--- a/grilo/grilomm.h
+++ b/grilo/grilomm.h
@@ -39,8 +39,9 @@
#include <grilommconfig.h>
#include <grilomm/init.h>
-#include <grilomm/media-plugin.h>
-#include <grilomm/plugin-registry.h>
+#include <grilomm/plugin.h>
+#include <grilomm/registry.h>
+#include <grilomm/source.h>
/** @example example/example.cc
* A grilomm example program.
diff --git a/grilo/src/filelist.am b/grilo/src/filelist.am
index 9eb5d24..a99e993 100644
--- a/grilo/src/filelist.am
+++ b/grilo/src/filelist.am
@@ -7,5 +7,5 @@ files_defs = \
grilo_method.defs \
grilo_docs.xml
-files_hg = media-plugin.hg plugin-registry.hg
+files_hg = plugin.hg registry.hg source.hg
files_ccg = $(files_hg:.hg=.ccg)
diff --git a/grilo/src/grilo_docs.xml b/grilo/src/grilo_docs.xml
index 9e5f705..8a30cce 100644
--- a/grilo/src/grilo_docs.xml
+++ b/grilo/src/grilo_docs.xml
@@ -1,5 +1,45 @@
<root>
-<signal name="GrlMediaSource::content-changed">
+<signal name="GrlRegistry::source-added">
+<description>
+Signals that a source has been added to the registry.
+
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="registry">
+<parameter_description> the registry
+</parameter_description>
+</parameter>
+<parameter name="source">
+<parameter_description> the source that has been added
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GrlRegistry::source-removed">
+<description>
+Signals that a source has been removed from the registry.
+
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="registry">
+<parameter_description> the registry
+</parameter_description>
+</parameter>
+<parameter name="source">
+<parameter_description> the source that has been removed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GrlSource::content-changed">
<description>
Signals that the content in the source has changed. @changed_medias is the
list of elements that have changed. Usually these medias are of type
@@ -16,7 +56,7 @@ For the cases where the source can only signal that a change happened, but
not where, it would use a list with the the root box (@NULL id) and set
location_unknown as @TRUE.
-Since: 0.1.9
+Since: 0.2.0
</description>
<parameters>
@@ -42,63 +82,95 @@ of its direct children (when @media is a #GrlMediaBox). @FALSE otherwise
<return></return>
</signal>
-<signal name="GrlPluginRegistry::source-added">
+<function name="grl_caps_get_key_filter">
<description>
-Signals that a plugin has been added to the registry.
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry
-</parameter_description>
-</parameter>
-<parameter name="plugin">
-<parameter_description> the plugin that has been added
+<parameter name="caps">
+<parameter_description> a #GrlCaps instance
</parameter_description>
</parameter>
</parameters>
-<return></return>
-</signal>
+<return>
-<signal name="GrlPluginRegistry::source-removed">
+</return>
+</function>
+
+<function name="grl_caps_get_key_range_filter">
<description>
-Signals that a plugin has been removed from the registry.
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry
+<parameter name="caps">
+<parameter_description> a #GrlCaps instance
</parameter_description>
</parameter>
-<parameter name="plugin">
-<parameter_description> the plugin that has been removed
+</parameters>
+<return>
+
+</return>
+</function>
+
+<function name="grl_caps_get_type_filter">
+<description>
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a #GrlCaps instance
</parameter_description>
</parameter>
</parameters>
-<return></return>
-</signal>
+<return> the supported #GrlTypeFilter
-<function name="grl_caps_get_key_filter">
+</return>
+</function>
+
+<function name="grl_caps_is_key_filter">
<description>
+Checks if @key is supported for filtering in @caps.
+
+Since: 0.2.0
</description>
<parameters>
+<parameter name="caps">
+<parameter_description> a #GrlCaps instance
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a #GrlKeyID
+</parameter_description>
+</parameter>
</parameters>
-<return>
+<return> %TRUE if @key can be used for filtering
+
</return>
</function>
-<function name="grl_caps_get_key_range_filter">
+<function name="grl_caps_is_key_range_filter">
<description>
+Checks if @key is supported for filtering by range in @caps.
+
+Since: 0.2.0
</description>
<parameters>
<parameter name="caps">
-<parameter_description>
+<parameter_description> a #grlCaps instance
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a #GrlKeyID
</parameter_description>
</parameter>
</parameters>
-<return>
+<return> %TRUE if @key can be used for filtering
+
</return>
</function>
@@ -106,21 +178,24 @@ Signals that a plugin has been removed from the registry.
<description>
Creates a new caps object.
+Since: 0.2.0
</description>
<parameters>
</parameters>
<return> a new caps object.
+
</return>
</function>
<function name="grl_caps_set_key_filter">
<description>
+Since: 0.2.0
</description>
<parameters>
<parameter name="caps">
-<parameter_description>
+<parameter_description> a #GrlCaps instance
</parameter_description>
</parameter>
<parameter name="keys">
@@ -133,11 +208,12 @@ Creates a new caps object.
<function name="grl_caps_set_key_range_filter">
<description>
+Since: 0.2.0
</description>
<parameters>
<parameter name="caps">
-<parameter_description>
+<parameter_description> a #GrlCaps instance
</parameter_description>
</parameter>
<parameter name="keys">
@@ -148,10 +224,31 @@ Creates a new caps object.
<return></return>
</function>
+<function name="grl_caps_set_type_filter">
+<description>
+Sets the supported filter capability.
+
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="caps">
+<parameter_description> a #GrlCaps instance
+</parameter_description>
+</parameter>
+<parameter name="filter">
+<parameter_description> a #GrlTypefilter
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="grl_caps_test_option">
<description>
Checks whether (@key, @value) are authorized by @caps.
+Since: 0.2.0
</description>
<parameters>
@@ -241,6 +338,93 @@ Since: 0.1.4
</return>
</function>
+<function name="grl_config_get_binary">
+<description>
+Gets the value of @param encoded as base64. If @size is not %NULL, it puts
+there the size of the value.
+
+Since: 0.1.9
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="param">
+<parameter_description> a binary type parameter
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> place for size of value
+</parameter_description>
+</parameter>
+</parameters>
+<return> @param value
+
+</return>
+</function>
+
+<function name="grl_config_get_boolean">
+<description>
+Since: 0.1.8
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="param">
+<parameter_description> a boolean type parameter
+</parameter_description>
+</parameter>
+</parameters>
+<return> @param value
+
+</return>
+</function>
+
+<function name="grl_config_get_float">
+<description>
+Since: 0.1.5
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="param">
+<parameter_description> a float type parameter
+</parameter_description>
+</parameter>
+</parameters>
+<return> @param value
+
+</return>
+</function>
+
+<function name="grl_config_get_int">
+<description>
+Since: 0.1.5
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="param">
+<parameter_description> an integer type parameter
+</parameter_description>
+</parameter>
+</parameters>
+<return> @param value
+
+</return>
+</function>
+
<function name="grl_config_get_password">
<description>
Since: 0.1.8
@@ -287,6 +471,26 @@ Since: 0.1.4
</return>
</function>
+<function name="grl_config_get_string">
+<description>
+Since: 0.1.5
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="param">
+<parameter_description> a string type paramter
+</parameter_description>
+</parameter>
+</parameters>
+<return> @param value
+
+</return>
+</function>
+
<function name="grl_config_get_username">
<description>
Since: 0.1.8
@@ -351,6 +555,30 @@ has been unloaded.
</return>
</function>
+<function name="grl_config_set">
+<description>
+Set @param @value.
+
+Since: 0.1.5
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="param">
+<parameter_description> a parameter
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="grl_config_set_api_key">
<description>
Set the webservice API key in the configuration
@@ -435,11 +663,11 @@ Since: 0.1.4
<return></return>
</function>
-<function name="grl_config_set_password">
+<function name="grl_config_set_binary">
<description>
-Set the password in the configuration
+Set @param value.
-Since: 0.1.8
+Since: 0.1.9
</description>
<parameters>
@@ -447,19 +675,27 @@ Since: 0.1.8
<parameter_description> the config instance
</parameter_description>
</parameter>
-<parameter name="password">
-<parameter_description> the password
+<parameter name="param">
+<parameter_description> a binary type parameter
+</parameter_description>
+</parameter>
+<parameter name="blob">
+<parameter_description> a base64 encoded binary value
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> size of @value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_config_set_plugin">
+<function name="grl_config_set_boolean">
<description>
-Set the plugin key in the configuration
+Set @param @value.
-Since: 0.1.4
+Since: 0.1.8
</description>
<parameters>
@@ -467,19 +703,23 @@ Since: 0.1.4
<parameter_description> the config instance
</parameter_description>
</parameter>
-<parameter name="plugin">
-<parameter_description> the plugin id
+<parameter name="param">
+<parameter_description> a boolean type parameter
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_config_set_source">
+<function name="grl_config_set_float">
<description>
-Set the source key in the configuration
+Set @param @value.
-Since: 0.1.4
+Since: 0.1.5
</description>
<parameters>
@@ -487,19 +727,131 @@ Since: 0.1.4
<parameter_description> the config instance
</parameter_description>
</parameter>
-<parameter name="source">
-<parameter_description> the source id
+<parameter name="param">
+<parameter_description> a float type parameter
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a value
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_config_set_username">
+<function name="grl_config_set_int">
<description>
-Set the username in the configuration
+Set @param @value.
-Since: 0.1.8
+Since: 0.1.5
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="param">
+<parameter_description> an integer type parameter
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="grl_config_set_password">
+<description>
+Set the password in the configuration
+
+Since: 0.1.8
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="password">
+<parameter_description> the password
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="grl_config_set_plugin">
+<description>
+Set the plugin key in the configuration
+
+Since: 0.1.4
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="plugin">
+<parameter_description> the plugin id
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="grl_config_set_source">
+<description>
+Set the source key in the configuration
+
+Since: 0.1.4
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="source">
+<parameter_description> the source id
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="grl_config_set_string">
+<description>
+Set @param @value.
+
+Since: 0.1.5
+
+</description>
+<parameters>
+<parameter name="config">
+<parameter_description> the config instance
+</parameter_description>
+</parameter>
+<parameter name="param">
+<parameter_description> a string type parameter
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a value
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="grl_config_set_username">
+<description>
+Set the username in the configuration
+
+Since: 0.1.8
</description>
<parameters>
@@ -547,6 +899,8 @@ Since: 0.1.10
<description>
Appends a new boxed value for @key in @data.
+Since: 0.2.0
+
</description>
<parameters>
<parameter name="data">
@@ -708,6 +1062,7 @@ Returns the first binary value associated with @key from @data. If @key has
no first value, or value is not a gfloat, or @key is not in data, then %NULL
is returned.
+Since: 0.1.9
</description>
<parameters>
@@ -726,6 +1081,7 @@ is returned.
</parameters>
<return> buffer location associated with the @key, or %NULL in other case. If
successful @size will be set the to the buffer size.
+
</return>
</function>
@@ -735,6 +1091,7 @@ Returns the first boxed value associated with @key from @data. If @key has
no first value, that value is not of a boxed type, or @key is not in @data,
then %NULL is returned.
+Since: 0.2.0
</description>
<parameters>
@@ -750,6 +1107,7 @@ then %NULL is returned.
<return> the boxed instance associated with @key if
possible, or %NULL in other cases. The caller should not change nor free the
value.
+
</return>
</function>
@@ -1071,6 +1429,8 @@ Since: 0.1.4
Sets the first binary value associated with @key in @data. If @key already
has a first value old value is replaced by the new one.
+Since: 0.1.9
+
</description>
<parameters>
<parameter name="data">
@@ -1098,6 +1458,8 @@ has a first value old value is replaced by the new one.
Sets the first boxed value associated with @key in @data. If @key already
has a value, the old value is freed and the new one is set.
+Since: 0.2.0
+
</description>
<parameters>
<parameter name="data">
@@ -1220,6 +1582,7 @@ Since: 0.1.4
<function name="grl_date_time_from_iso8601">
<description>
+Since: 0.2.0
</description>
<parameters>
@@ -1295,6 +1658,38 @@ Since: 0.1.6
</return>
</function>
+<function name="grl_log">
+<description>
+Send a log message.
+
+Since: 0.1.7
+
+</description>
+<parameters>
+<parameter name="domain">
+<parameter_description> a domain
+</parameter_description>
+</parameter>
+<parameter name="level">
+<parameter_description> log level
+</parameter_description>
+</parameter>
+<parameter name="strloc">
+<parameter_description> string, usually line of code where function is invoked
+</parameter_description>
+</parameter>
+<parameter name="format">
+<parameter_description> log message
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> parameters to insert in the log message
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="grl_log_configure">
<description>
Configure a set of log domains. The default configuration is to display
@@ -1337,6 +1732,22 @@ Since: 0.1.7
<return></return>
</function>
+<function name="grl_log_domain_free">
+<description>
+Releases @domain.
+
+Since: 0.1.7
+
+</description>
+<parameters>
+<parameter name="domain">
+<parameter_description> a #GrlLogDomain
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="grl_log_domain_new">
<description>
Since: 0.1.7
@@ -2045,7 +2456,7 @@ Since: 0.1.6
<function name="grl_media_get_creation_date">
<description>
-Since: 0.1.12
+Since: 0.2.0
</description>
<parameters>
@@ -2210,6 +2621,7 @@ Since: 0.1.4
<function name="grl_media_get_modification_date">
<description>
+Since: 0.2.0
</description>
<parameters>
@@ -2219,6 +2631,7 @@ Since: 0.1.4
</parameter>
</parameters>
<return>date when the media was last modified (owned by @media).
+
</return>
</function>
@@ -2277,7 +2690,7 @@ Since: 0.1.10
<function name="grl_media_get_publication_date">
<description>
-Since: 0.1.4
+Since: 0.2.0
</description>
<parameters>
@@ -2341,6 +2754,7 @@ Since: 0.1.4
<function name="grl_media_get_start_time">
<description>
+Since: 0.1.19
</description>
<parameters>
@@ -2351,6 +2765,7 @@ Since: 0.1.4
</parameters>
<return> the start time of the logical media resource inside the
file containing it, in seconds.
+
</return>
</function>
@@ -2769,6 +3184,46 @@ Since: 0.1.4
<return></return>
</function>
+<function name="grl_media_image_set_iso_speed">
+<description>
+Set the iso_speed of the image
+
+Since: 0.1.12
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> the image instance
+</parameter_description>
+</parameter>
+<parameter name="iso_speed">
+<parameter_description> picture's iso speed
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="grl_media_image_set_orientation">
+<description>
+Set the orientation of the image
+
+Since: 0.1.12
+
+</description>
+<parameters>
+<parameter name="image">
+<parameter_description> the image instance
+</parameter_description>
+</parameter>
+<parameter name="orientation">
+<parameter_description> degrees clockwise orientation of the picture
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
<function name="grl_media_image_set_size">
<description>
Set the size of the image
@@ -2859,307 +3314,101 @@ Since: 0.1.4
</return>
</function>
-<function name="grl_media_plugin_get_author">
+<function name="grl_media_serialize">
<description>
-Get the author of the plugin
+Serializes a GrlMedia into a string. It does a basic serialization.
+
+See grl_media_serialize_extended() to get more serialization approaches.
-Since: 0.1.1
+Since: 0.1.6
</description>
<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
+<parameter name="media">
+<parameter_description> a #GrlMedia
</parameter_description>
</parameter>
</parameters>
-<return> the author of the @plugin
+<return> serialized media
</return>
</function>
-<function name="grl_media_plugin_get_description">
+<function name="grl_media_serialize_extended">
<description>
-Get the description of the plugin
+Serializes a GrlMedia into a string.
+
+See grl_media_unserialize() to recover back the GrlMedia from the string.
+
+If serialization type is @GRL_MEDIA_SERIALIZE_PARTIAL then it requires a
+ GList with the properties to consider in serialization (id and source are
+always considered).
-Since: 0.1.1
+Since: 0.1.6
</description>
<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
+<parameter name="media">
+<parameter_description> a #GrlMedia
+</parameter_description>
+</parameter>
+<parameter name="serial_type">
+<parameter_description> type of serialization
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> media keys to serialize
</parameter_description>
</parameter>
</parameters>
-<return> the description of the @plugin
+<return> serialized media
</return>
</function>
-<function name="grl_media_plugin_get_filename">
+<function name="grl_media_set_author">
<description>
-Get the filename containing the plugin
+Set the media's author
-Since: 0.1.6
+Since: 0.1.4
</description>
<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
+<parameter name="media">
+<parameter_description> the media
+</parameter_description>
+</parameter>
+<parameter name="author">
+<parameter_description> the media's author
</parameter_description>
</parameter>
</parameters>
-<return> the filename containing @plugin
-
-</return>
+<return></return>
</function>
-<function name="grl_media_plugin_get_id">
+<function name="grl_media_set_camera_model">
<description>
-Get the id of the plugin
+Set the camera_model of the image
-Since: 0.1.1
+Since: 0.1.12
</description>
<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
+<parameter name="image">
+<parameter_description> the image instance
+</parameter_description>
+</parameter>
+<parameter name="camera_model">
+<parameter_description> model of camera used to take picture
</parameter_description>
</parameter>
</parameters>
-<return> the id of the @plugin
-
-</return>
+<return></return>
</function>
-<function name="grl_media_plugin_get_info">
+<function name="grl_media_set_certificate">
<description>
-Get the information of the @plugin that is associated with the given key
-
-Since: 0.1.6
-
-</description>
-<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> a key representing information about this plugin
-</parameter_description>
-</parameter>
-</parameters>
-<return> the information assigned to the given @key or NULL if there is no such information
-
-</return>
-</function>
-
-<function name="grl_media_plugin_get_info_keys">
-<description>
-Returns a list of keys that can be queried to retrieve information about the
-plugin.
-
-Since: 0.1.6
-
-</description>
-<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
-</parameter_description>
-</parameter>
-</parameters>
-<return>
-a #GList of strings containing the keys. The content of the list is
-owned by the plugin and should not be modified or freed. Use g_list_free()
-when done using the list.
-
-</return>
-</function>
-
-<function name="grl_media_plugin_get_license">
-<description>
-Get the license of the plugin
-
-Since: 0.1.1
-
-</description>
-<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
-</parameter_description>
-</parameter>
-</parameters>
-<return> the license of the @plugin
-
-</return>
-</function>
-
-<function name="grl_media_plugin_get_name">
-<description>
-Get the name of the plugin
-
-Since: 0.1.1
-
-</description>
-<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
-</parameter_description>
-</parameter>
-</parameters>
-<return> the name of the @plugin
-
-</return>
-</function>
-
-<function name="grl_media_plugin_get_rank">
-<description>
-Get the #GrlPluginRank of the plugin
-
-Since: 0.1.3
-
-</description>
-<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
-</parameter_description>
-</parameter>
-</parameters>
-<return> the rank of the plugin
-
-</return>
-</function>
-
-<function name="grl_media_plugin_get_site">
-<description>
-Get the site of the plugin
-
-Since: 0.1.1
-
-</description>
-<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
-</parameter_description>
-</parameter>
-</parameters>
-<return> the site of the @plugin
-
-</return>
-</function>
-
-<function name="grl_media_plugin_get_version">
-<description>
-Get the version of the plugin
-
-Since: 0.1.1
-
-</description>
-<parameters>
-<parameter name="plugin">
-<parameter_description> a plugin
-</parameter_description>
-</parameter>
-</parameters>
-<return> the version of the @plugin
-
-</return>
-</function>
-
-<function name="grl_media_serialize">
-<description>
-Serializes a GrlMedia into a string. It does a basic serialization.
-
-See grl_media_serialize_extended() to get more serialization approaches.
-
-Since: 0.1.6
-
-</description>
-<parameters>
-<parameter name="media">
-<parameter_description> a #GrlMedia
-</parameter_description>
-</parameter>
-</parameters>
-<return> serialized media
-
-</return>
-</function>
-
-<function name="grl_media_serialize_extended">
-<description>
-Serializes a GrlMedia into a string.
-
-See grl_media_unserialize() to recover back the GrlMedia from the string.
-
-If serialization type is @GRL_MEDIA_SERIALIZE_PARTIAL then it requires a
- GList with the properties to consider in serialization (id and source are
-always considered).
-
-Since: 0.1.6
-
-</description>
-<parameters>
-<parameter name="media">
-<parameter_description> a #GrlMedia
-</parameter_description>
-</parameter>
-<parameter name="serial_type">
-<parameter_description> type of serialization
-</parameter_description>
-</parameter>
-<parameter name="Varargs">
-<parameter_description> media keys to serialize
-</parameter_description>
-</parameter>
-</parameters>
-<return> serialized media
-
-</return>
-</function>
-
-<function name="grl_media_set_author">
-<description>
-Set the media's author
-
-Since: 0.1.4
-
-</description>
-<parameters>
-<parameter name="media">
-<parameter_description> the media
-</parameter_description>
-</parameter>
-<parameter name="author">
-<parameter_description> the media's author
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="grl_media_set_camera_model">
-<description>
-Set the camera_model of the image
-
-Since: 0.1.12
-
-</description>
-<parameters>
-<parameter name="image">
-<parameter_description> the image instance
-</parameter_description>
-</parameter>
-<parameter name="camera_model">
-<parameter_description> model of camera used to take picture
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="grl_media_set_certificate">
-<description>
-Set the media certificate
+Set the media certificate
Since: 0.1.6
@@ -3181,7 +3430,7 @@ Since: 0.1.6
<description>
Set the creation_date of the media
-Since: 0.1.12
+Since: 0.2.0
</description>
<parameters>
@@ -3339,26 +3588,6 @@ Since: 0.1.4
<return></return>
</function>
-<function name="grl_media_set_iso_speed">
-<description>
-Set the iso_speed of the image
-
-Since: 0.1.12
-
-</description>
-<parameters>
-<parameter name="image">
-<parameter_description> the image instance
-</parameter_description>
-</parameter>
-<parameter name="iso_speed">
-<parameter_description> picture's iso speed
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
<function name="grl_media_set_last_played">
<description>
Set the media last played date
@@ -3443,6 +3672,7 @@ Since: 0.1.4
<description>
Set the modification date of the media
+Since: 0.2.0
</description>
<parameters>
@@ -3458,26 +3688,6 @@ Set the modification date of the media
<return></return>
</function>
-<function name="grl_media_set_orientation">
-<description>
-Set the orientation of the image
-
-Since: 0.1.12
-
-</description>
-<parameters>
-<parameter name="image">
-<parameter_description> the image instance
-</parameter_description>
-</parameter>
-<parameter name="orientation">
-<parameter_description> degrees clockwise orientation of the picture
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
<function name="grl_media_set_play_count">
<description>
Set the media play count
@@ -3502,6 +3712,8 @@ Since: 0.1.4
<description>
Set the publication date of @media.
+Since: 0.2.0
+
</description>
<parameters>
<parameter name="media">
@@ -3518,7 +3730,8 @@ Set the publication date of @media.
<function name="grl_media_set_rating">
<description>
-This method receives a rating and its scale and normalizes it
+This method receives a rating and its scale and normalizes it on a scale
+from 0...5 to match the usual five-star rating.
Since: 0.1.5
@@ -3542,7 +3755,8 @@ Since: 0.1.5
<function name="grl_media_set_site">
<description>
-Set the media's site
+Set the media's site. A site is a website about the media such as a
+studio's promotional website for a movie.
Since: 0.1.4
@@ -3708,495 +3922,519 @@ Since: 0.1.10
<return></return>
</function>
-<function name="grl_media_source_browse">
+<function name="grl_media_unserialize">
<description>
-Get the media containers and items that are in @container.
+Unserializes a GrlMedia.
-This method is asynchronous.
+Since: 0.1.6
-Since: 0.1.4
+</description>
+<parameters>
+<parameter name="serial">
+<parameter_description> a serialized media
+</parameter_description>
+</parameter>
+</parameters>
+<return> the GrlMedia from the serial
+
+</return>
+</function>
+
+<function name="grl_media_video_add_url_data">
+<description>
+Sets all the keys related with the URL of a media resource and adds it to
+ video (useful for resources with more than one URL).
+
+Since: 0.1.10
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="container">
-<parameter_description> a container of data transfer objects
+<parameter name="url">
+<parameter_description> a video's url
</parameter_description>
</parameter>
-<parameter name="keys">
-<parameter_description> the #GList of
-#GrlKeyID<!-- -->s to request
+<parameter name="mime">
+<parameter_description> video mime-type
</parameter_description>
</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
+<parameter name="framerate">
+<parameter_description> video framerate, or -1 to ignore
</parameter_description>
</parameter>
-<parameter name="callback">
-<parameter_description> the user defined callback
+<parameter name="width">
+<parameter_description> video width, or -1 to ignore
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> the user data to pass in the callback
+<parameter name="height">
+<parameter_description> video height, or -1 to ignore
</parameter_description>
</parameter>
</parameters>
-<return> the operation identifier
-
-</return>
+<return></return>
</function>
-<function name="grl_media_source_browse_sync">
+<function name="grl_media_video_get_episode">
<description>
-Get the media containers and items that are in @container.
-
-This method is synchronous.
-
-Since: 0.1.6
+Since: 0.1.11
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="container">
-<parameter_description> a container of data transfer objects
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> the #GList of
-#GrlKeyID<!-- -->s to request
-</parameter_description>
-</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
+</parameters>
+<return> the episode number of the video
+
+</return>
+</function>
+
+<function name="grl_media_video_get_framerate">
+<description>
+Since: 0.1.4
+
+</description>
+<parameters>
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
</parameters>
-<return> a #GList with #GrlMedia
-elements. After use g_object_unref() every element and g_list_free() the
-list.
+<return> the framerate of the video
</return>
</function>
-<function name="grl_media_source_get_auto_split_threshold">
+<function name="grl_media_video_get_height">
<description>
-TBD
-
-Since: 0.1.1
+Since: 0.1.4
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
</parameters>
-<return> the assigned threshold
+<return> the height of the video
</return>
</function>
-<function name="grl_media_source_get_media_from_uri">
+<function name="grl_media_video_get_season">
<description>
-Creates an instance of #GrlMedia representing the media resource
-exposed at @uri.
+Since: 0.1.11
-It is recommended to call grl_media_source_test_media_from_uri() before
-invoking this to check whether the target source can theoretically do the
-resolution.
+</description>
+<parameters>
+<parameter name="video">
+<parameter_description> the media instance
+</parameter_description>
+</parameter>
+</parameters>
+<return> the season number of the video
-This method is asynchronous.
+</return>
+</function>
-Since: 0.1.14
+<function name="grl_media_video_get_show">
+<description>
+Since: 0.1.11
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="uri">
-<parameter_description> A URI that can be used to identify a media resource
+</parameters>
+<return> the show title of the video
+
+</return>
+</function>
+
+<function name="grl_media_video_get_url_data">
+<description>
+Since: 0.1.10
+
+</description>
+<parameters>
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="keys">
-<parameter_description> A list of keys to resolve
+<parameter name="mime">
+<parameter_description> the url mime-type, or %NULL to ignore
</parameter_description>
</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
+<parameter name="framerate">
+<parameter_description> the url framerate, or %NULL to ignore
</parameter_description>
</parameter>
-<parameter name="callback">
-<parameter_description> the user defined callback
+<parameter name="width">
+<parameter_description> the url width, or %NULL to ignore
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> the user data to pass in the callback
+<parameter name="height">
+<parameter_description> the url height, or %NULL to ignore
</parameter_description>
</parameter>
</parameters>
-<return> the operation identifier
+<return> all the keys related with the URL of a video resource in one go.
</return>
</function>
-<function name="grl_media_source_get_media_from_uri_sync">
+<function name="grl_media_video_get_url_data_nth">
<description>
-Creates an instance of #GrlMedia representing the media resource
-exposed at @uri.
-
-It is recommended to call grl_media_source_test_media_from_uri() before
-invoking this to check whether the target source can theoretically do the
-resolution.
-
-This method is synchronous.
-
-Since: 0.1.8
+Since: 0.1.10
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="uri">
-<parameter_description> A URI that can be used to identify a media resource
+<parameter name="index">
+<parameter_description> element to retrieve
</parameter_description>
</parameter>
-<parameter name="keys">
-<parameter_description> A list of keys to resolve
+<parameter name="mime">
+<parameter_description> the url mime-type, or %NULL to ignore
</parameter_description>
</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
+<parameter name="framerate">
+<parameter_description> the url framerate, or %NULL to ignore
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
+<parameter name="width">
+<parameter_description> the url width, or %NULL to ignore
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the url height, or %NULL to ignore
</parameter_description>
</parameter>
</parameters>
-<return> a filled #GrlMedia
+<return> all the keys related with the URL number @index of a video resource
+in one go.
</return>
</function>
-<function name="grl_media_source_metadata">
+<function name="grl_media_video_get_width">
<description>
-This method is intended to fetch the requested keys of metadata of
-a given @media to the media source.
-
-This method is asynchronous.
-
-Since: 0.1.6
+Since: 0.1.4
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> a data transfer object
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> the #GList of
-#GrlKeyID<!-- -->s to request
-</parameter_description>
-</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
-</parameter_description>
-</parameter>
-<parameter name="user_data">
-<parameter_description> the user data to pass in the callback
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
</parameters>
-<return> the operation identifier
+<return> the width of the video
</return>
</function>
-<function name="grl_media_source_metadata_sync">
+<function name="grl_media_video_new">
<description>
-This method is intended to fetch the requested keys of metadata of
-a given @media to the media source.
+Creates a new data video object.
-This method is synchronous.
+Since: 0.1.4
-Since: 0.1.6
+</description>
+<parameters>
+</parameters>
+<return> a newly-allocated data video.
+
+</return>
+</function>
+
+<function name="grl_media_video_set_episode">
+<description>
+Sets the episode number of the video
+
+Since: 0.1.11
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> a data transfer object
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="keys">
-<parameter_description> the #GList of
-#GrlKeyID<!-- -->s to request
+<parameter name="episode">
+<parameter_description> the video's episode
</parameter_description>
</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
+</parameters>
+<return></return>
+</function>
+
+<function name="grl_media_video_set_framerate">
+<description>
+Set the framerate of the video
+
+Since: 0.1.4
+
+</description>
+<parameters>
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
+<parameter name="framerate">
+<parameter_description> the video's framerate
</parameter_description>
</parameter>
</parameters>
-<return> a filled #GrlMedia
-
-</return>
+<return></return>
</function>
-<function name="grl_media_source_notify_change">
+<function name="grl_media_video_set_height">
<description>
-Emits "content-changed" signal to notify subscribers that a change ocurred
-in @source.
+Set the height of the video
-See #grl_media_source_notify_change_list() function.
+Since: 0.1.4
-<note>
-<para>
-This function is intended to be used only by plugins.
-</para>
-</note>
+</description>
+<parameters>
+<parameter name="video">
+<parameter_description> the media instance
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the video's height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
-Since: 0.1.9
+<function name="grl_media_video_set_season">
+<description>
+Sets the season number of the video
+
+Since: 0.1.11
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="media">
-<parameter_description> the media which has changed, or @NULL to use the root box.
+<parameter name="season">
+<parameter_description> the video's season
</parameter_description>
</parameter>
-<parameter name="change_type">
-<parameter_description> the type of change
+</parameters>
+<return></return>
+</function>
+
+<function name="grl_media_video_set_show">
+<description>
+Sets the show title of the video
+
+Since: 0.1.11
+
+</description>
+<parameters>
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="location_unknown">
-<parameter_description> if change has happened in @media or any descendant
+<parameter name="show">
+<parameter_description> the video's show name
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_media_source_notify_change_list">
+<function name="grl_media_video_set_size">
<description>
-Emits "content-changed" signal to notify subscribers that a change ocurred
-in @source.
+Set the width and the height of the video
-The function will take ownership of @changed medias and it should not be
-manipulated in any way by the caller after invoking this function. If that is
-needed, the caller must ref the array in advance.
+Since: 0.1.4
-See GrlMediaSource::content-changed signal.
+</description>
+<parameters>
+<parameter name="video">
+<parameter_description> the media instance
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> the video's width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the video's height
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
-<note>
-<para>
-This function is intended to be used only by plugins.
-</para>
-</note>
+<function name="grl_media_video_set_url_data">
+<description>
+Sets all the keys related with the URL of a video resource in one go.
-Since: 0.1.14
+Since: 0.1.10
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="changed_medias">
-<parameter_description>: the list of
-medias that have changed
+<parameter name="url">
+<parameter_description> the video's url
</parameter_description>
</parameter>
-<parameter name="change_type">
-<parameter_description> the type of change
+<parameter name="mime">
+<parameter_description> video mime-type
</parameter_description>
</parameter>
-<parameter name="location_unknown">
-<parameter_description> if change has happpened in @media or any descendant
+<parameter name="framerate">
+<parameter_description> video framerate, or -1 to ignore
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> video width, or -1 to ignore
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> video height, or -1 to ignore
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_media_source_notify_change_start">
+<function name="grl_media_video_set_width">
<description>
-Starts emitting ::content-changed signals when @source discovers changes in
-the content. This instructs @source to setup the machinery needed to be aware
-of changes in the content.
+Set the width of the video
-Since: 0.1.9
+Since: 0.1.4
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="video">
+<parameter_description> the media instance
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
+<parameter name="width">
+<parameter_description> the video's width
</parameter_description>
</parameter>
</parameters>
-<return> @TRUE if initialization has succeed.
-
-</return>
+<return></return>
</function>
-<function name="grl_media_source_notify_change_stop">
+<function name="grl_metadata_key_get_desc">
<description>
-This will drop emission of ::content-changed signals from @source. When this
-is done @source should stop the machinery required for it to track changes in
-the content.
+Retrieves the description associated with the key
-Since: 0.1.9
+Since: 0.1.6
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
+<parameter name="key">
+<parameter_description> key to look up
</parameter_description>
</parameter>
</parameters>
-<return> @TRUE if stop has succeed.
+<return> the description of the key
</return>
</function>
-<function name="grl_media_source_query">
+<function name="grl_metadata_key_get_name">
<description>
-Execute a specialized query (specific for each provider) on a media
-repository.
-
-It is different from grl_media_source_search() semantically, because
-the query implies a carefully crafted string, rather than a simple
-string to search.
-
-This method is asynchronous.
+Retrieves the name associated with the key
-Since: 0.1.1
+Since: 0.1.6
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="query">
-<parameter_description> the query to process
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> the #GList of
-#GrlKeyID<!-- -->s to request
-</parameter_description>
-</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
-</parameter_description>
-</parameter>
-<parameter name="callback">
-<parameter_description> the user defined callback
+<parameter name="key">
+<parameter_description> key to look up
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> the user data to pass in the callback
+</parameters>
+<return> The name of the key
+
+</return>
+</function>
+
+<function name="grl_metadata_key_get_type">
+<description>
+Retrieves the expected type for values associated with this key
+
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="key">
+<parameter_description> key to look up
</parameter_description>
</parameter>
</parameters>
-<return> the operation identifier
+<return> the expected value type
</return>
</function>
-<function name="grl_media_source_query_sync">
+<function name="grl_metadata_key_list_new">
<description>
-Execute a specialized query (specific for each provider) on a media
-repository.
-
-This method is synchronous.
+Returns a #GList containing the va_list keys. Use #GRL_METADATA_KEY_INVALID
+to finalize them.
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="query">
-<parameter_description> the query to process
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> the #GList of
-#GrlKeyID<!-- -->s to request
-</parameter_description>
-</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
+<parameter name="first_key">
+<parameter_description> first key
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
+<parameter name="Varargs">
+<parameter_description> va_list keys
</parameter_description>
</parameter>
</parameters>
-<return> a #GList with #GrlMedia
-elements. After use g_object_unref() every element and g_list_free() the
-list.
+<return> a #GList
</return>
</function>
-<function name="grl_media_source_remove">
+<function name="grl_multiple_get_media_from_uri">
<description>
-Remove a @media from the @source repository.
+Goes though all available media sources until it finds one capable of
+constructing a GrlMedia object representing the media resource exposed
+by @uri.
This method is asynchronous.
-Since: 0.1.4
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="uri">
+<parameter_description> A URI that can be used to identify a media resource
</parameter_description>
</parameter>
-<parameter name="media">
-<parameter_description> a data transfer object
+<parameter name="keys">
+<parameter_description> List of metadata keys we want to obtain.
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options wanted for that operation
</parameter_description>
</parameter>
<parameter name="callback">
@@ -4204,66 +4442,39 @@ Since: 0.1.4
</parameter_description>
</parameter>
<parameter name="user_data">
-<parameter_description> the user data to pass in the callback
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="grl_media_source_remove_sync">
-<description>
-Remove a @media from the @source repository.
-
-This method is synchronous.
-
-Since: 0.1.6
-
-</description>
-<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> a data transfer object
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
+<parameter_description> the user data to pass to the user callback
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_media_source_search">
+<function name="grl_multiple_search">
<description>
-Search for the @text string in a media source for data identified with
-that string.
+Search for @text in all the sources specified in @sources.
-If @text is @NULL then no text filter will be applied, and thus, no media
-items from @source will be filtered. If @source does not support NULL-text
-search operations it should notiy the client by setting
- GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED in @callback's error parameter.
+If @text is @NULL then NULL-text searchs will be used for each searchable
+plugin (see #grl_source_search for more details).
This method is asynchronous.
-Since: 0.1.1
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="sources">
+<parameter_description>
+a #GList of #GrlSource<!-- -->s to search from (%NULL for all
+searchable sources)
</parameter_description>
</parameter>
<parameter name="text">
-<parameter_description> the text to search
+<parameter_description> the text to search for
</parameter_description>
</parameter>
<parameter name="keys">
<parameter_description> the #GList of
-#GrlKeyID<!-- -->s to request
+#GrlKeyID to retrieve
</parameter_description>
</parameter>
<parameter name="options">
@@ -4275,7 +4486,7 @@ Since: 0.1.1
</parameter_description>
</parameter>
<parameter name="user_data">
-<parameter_description> the user data to pass in the callback
+<parameter_description> the user data to pass to the user callback
</parameter_description>
</parameter>
</parameters>
@@ -4284,33 +4495,29 @@ Since: 0.1.1
</return>
</function>
-<function name="grl_media_source_search_sync">
+<function name="grl_multiple_search_sync">
<description>
-Search for the @text string in a media source for data identified with
-that string.
-
-If @text is @NULL then no text filter will be applied, and thus, no media
-items from @source will be filtered. If @source does not support NULL-text
-search operations it should notiy the client by setting
- GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED in the error parameter.
+Search for @text in all the sources specified in @sources.
This method is synchronous.
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="sources">
+<parameter_description>
+a #GList of #GrlSource<!-- -->s where to search from (%NULL for all
+available sources with search capability)
</parameter_description>
</parameter>
<parameter name="text">
-<parameter_description> the text to search
+<parameter_description> the text to search for
</parameter_description>
</parameter>
<parameter name="keys">
<parameter_description> the #GList of
-#GrlKeyID<!-- -->s to request
+#GrlKeyID to retrieve
</parameter_description>
</parameter>
<parameter name="options">
@@ -4322,2659 +4529,2937 @@ Since: 0.1.6
</parameter_description>
</parameter>
</parameters>
-<return> a #GList with #GrlMedia
-elements. After use g_object_unref() every element and g_list_free() the
-list.
+<return> a list with #GrlMedia elements
</return>
</function>
-<function name="grl_media_source_set_auto_split_threshold">
+<function name="grl_operation_cancel">
<description>
-TBD
-
-Since: 0.1.1
+Cancel an operation.
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="threshold">
-<parameter_description> the threshold to request
+<parameter name="operation_id">
+<parameter_description> the identifier of a running operation
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_media_source_store">
+<function name="grl_operation_get_data">
<description>
-Store the @media into the @parent container
-
-This method is asynchronous.
+Obtains the previously attached data
-Since: 0.1.4
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="parent">
-<parameter_description> a parent to store the data transfer objects
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> a data transfer object
-</parameter_description>
-</parameter>
-<parameter name="callback">
-<parameter_description> the user defined callback
+<parameter name="operation_id">
+<parameter_description> the identifier of a running operation
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> the user data to pass in the callback
+</parameters>
+<return> The previously attached data.
+</return>
+</function>
+
+<function name="grl_operation_options_copy">
+<description>
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a new #GrlOperationOptions instance with its values being copies of
+the values of @options.
+
+</return>
</function>
-<function name="grl_media_source_store_sync">
+<function name="grl_operation_options_get_count">
<description>
-Store the @media into the @parent container.
-
-This method is synchronous.
+Get the count option, that is, the number of elements to retrieve in an
+operation done with @options.
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
-</parameter_description>
-</parameter>
-<parameter name="parent">
-<parameter_description> a #GrlMediaBox to store the data transfer objects
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> a #GrlMedia data transfer object
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
+</parameters>
+<return> the value of the count option, or a default value if it is not set.
+
+</return>
+</function>
+
+<function name="grl_operation_options_get_flags">
+<description>
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> resolution flags of @options.
+
+</return>
</function>
-<function name="grl_media_source_test_media_from_uri">
+<function name="grl_operation_options_get_key_filter">
<description>
-Tests whether @source can instantiate a #GrlMedia object representing
-the media resource exposed at @uri.
-
-Since: 0.1.7
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a media source
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="uri">
-<parameter_description> A URI that can be used to identify a media resource
+<parameter name="key">
+<parameter_description>
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if it can, %FALSE otherwise.
-
-This method is synchronous.
+<return> the filter
</return>
</function>
-<function name="grl_media_unserialize">
+<function name="grl_operation_options_get_key_filter_list">
<description>
-Unserializes a GrlMedia.
-
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="serial">
-<parameter_description> a serialized media
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
</parameters>
-<return> the GrlMedia from the serial
+<return>
</return>
</function>
-<function name="grl_media_video_add_url_data">
+<function name="grl_operation_options_get_key_range_filter">
<description>
-Sets all the keys related with the URL of a media resource and adds it to
- video (useful for resources with more than one URL).
+Stores the limits of the range in the filter for @key in @min_value and
+ max_value If some of the values has no limit, it will set a %NULL.
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
-</parameter_description>
-</parameter>
-<parameter name="url">
-<parameter_description> a video's url
-</parameter_description>
-</parameter>
-<parameter name="mime">
-<parameter_description> video mime-type
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="framerate">
-<parameter_description> video framerate, or -1 to ignore
+<parameter name="key">
+<parameter_description> a #GrlkeyId
</parameter_description>
</parameter>
-<parameter name="width">
-<parameter_description> video width, or -1 to ignore
+<parameter name="min_value">
+<parameter_description> the minimum value for the range
</parameter_description>
-</parameter>
-<parameter name="height">
-<parameter_description> video height, or -1 to ignore
+</parameter>
+<parameter name="max_value">
+<parameter_description> the maximum value for the range
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_media_video_get_episode">
+<function name="grl_operation_options_get_key_range_filter_list">
<description>
-Since: 0.1.11
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
</parameters>
-<return> the episode number of the video
+<return>
</return>
</function>
-<function name="grl_media_video_get_framerate">
+<function name="grl_operation_options_get_skip">
<description>
-Since: 0.1.4
+Get the skip option, that is, the number of elements to skip before
+retrieving media items in an operation done with @options.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
</parameters>
-<return> the framerate of the video
+<return> the value of the skip option, or a default value if it is not set.
</return>
</function>
-<function name="grl_media_video_get_height">
+<function name="grl_operation_options_get_type_filter">
<description>
-Since: 0.1.4
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
</parameters>
-<return> the height of the video
+<return> resolution flags of @options
</return>
</function>
-<function name="grl_media_video_get_season">
+<function name="grl_operation_options_key_is_set">
<description>
-Since: 0.1.11
+This is an internal method that shouldn't be used outside of Grilo.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> an operation option key
</parameter_description>
</parameter>
</parameters>
-<return> the season number of the video
+<return> whether @key is set in @options.
</return>
</function>
-<function name="grl_media_video_get_show">
+<function name="grl_operation_options_new">
<description>
-Since: 0.1.11
+Creates a new GrlOperationOptions object.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="caps">
+<parameter_description> caps that options will have to match. If %NULL, all
+options will be accepted.
</parameter_description>
</parameter>
</parameters>
-<return> the show title of the video
+<return> a new GrlOperationOptions instance.
</return>
</function>
-<function name="grl_media_video_get_url_data">
+<function name="grl_operation_options_obey_caps">
<description>
-Since: 0.1.10
+Check whether @options obey to @caps.
+Optionally provide the options that match (respectively don't match) @caps
+in @supported_options (respectively @unsupported_options).
+This would typically (but not necessarily) be used with a
+#GrlOperationOptions instance that was created with %NULL caps.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
-</parameter_description>
-</parameter>
-<parameter name="mime">
-<parameter_description> the url mime-type, or %NULL to ignore
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="framerate">
-<parameter_description> the url framerate, or %NULL to ignore
+<parameter name="caps">
+<parameter_description> capabilities against which we want to test @options
</parameter_description>
</parameter>
-<parameter name="width">
-<parameter_description> the url width, or %NULL to ignore
+<parameter name="supported_options">
+<parameter_description> if not %NULL, will contain a
+newly-allocated #GrlOperationOptions instance containing all the values of
+ options that match @caps.
</parameter_description>
</parameter>
-<parameter name="height">
-<parameter_description> the url height, or %NULL to ignore
+<parameter name="unsupported_options">
+<parameter_description> if not %NULL, will contain a
+newly-allocated #GrlOperationOptions instance containing all the values of
+ options that do not match @caps.
</parameter_description>
</parameter>
</parameters>
-<return> all the keys related with the URL of a video resource in one go.
+<return> %TRUE if @options obey to @caps, %FALSE otherwise.
</return>
</function>
-<function name="grl_media_video_get_url_data_nth">
+<function name="grl_operation_options_set_count">
<description>
-Since: 0.1.10
+Set the count option for an operation. Will only succeed if @count obey to
+the inherent capabilities of @options.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
-</parameter_description>
-</parameter>
-<parameter name="index">
-<parameter_description> element to retrieve
-</parameter_description>
-</parameter>
-<parameter name="mime">
-<parameter_description> the url mime-type, or %NULL to ignore
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="framerate">
-<parameter_description> the url framerate, or %NULL to ignore
+<parameter name="count">
+<parameter_description> number of elements to retrieve in an operation
</parameter_description>
</parameter>
-<parameter name="width">
-<parameter_description> the url width, or %NULL to ignore
+</parameters>
+<return> %TRUE if @count could be set, %FALSE otherwise.
+
+</return>
+</function>
+
+<function name="grl_operation_options_set_flags">
+<description>
+Set the resolution flags for an operation. Will only succeed if @flags obey
+to the inherent capabilities of @options.
+
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="height">
-<parameter_description> the url height, or %NULL to ignore
+<parameter name="flags">
+<parameter_description> the resolution flags to be set for an operation. See
+#GrlMetadataResolutionFlags for possible values.
</parameter_description>
</parameter>
</parameters>
-<return> all the keys related with the URL number @index of a video resource
-in one go.
+<return> %TRUE if @flags could be set, %FALSE otherwise.
</return>
</function>
-<function name="grl_media_video_get_width">
+<function name="grl_operation_options_set_key_filter_dictionary">
<description>
-Since: 0.1.4
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
+</parameter_description>
+</parameter>
+<parameter name="filters">
+<parameter_description>
</parameter_description>
</parameter>
</parameters>
-<return> the width of the video
-
-</return>
+<return></return>
</function>
-<function name="grl_media_video_new">
+<function name="grl_operation_options_set_key_filter_value">
<description>
-Creates a new data video object.
+Set filter as "@key == @value".
-Since: 0.1.4
+Since: 0.2.0
</description>
<parameters>
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a #GrlKeyID
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a #GValue
+</parameter_description>
+</parameter>
</parameters>
-<return> a newly-allocated data video.
+<return> %TRUE on success
</return>
</function>
-<function name="grl_media_video_set_episode">
+<function name="grl_operation_options_set_key_filters">
<description>
-Sets the episode number of the video
+Set filter as "k1 == v1 AND k2 == v2 AND ..."
-Since: 0.1.11
+<example>
+Elements from album "Frozen" with a bitrate of 256kbs.
+<programlisting>
+grl_operation_options_set_key_filters (my_options,
+GRL_METADATA_KEY_ALBUM, "Frozen",
+GRL_METADATA_KEY_BITRATE, 256,
+NULL);
+</programlisting>
+</example>
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="episode">
-<parameter_description> the video's episode
+<parameter name="Varargs">
+<parameter_description> pairs of #GrlKeyID, value
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE on success
+
+</return>
</function>
-<function name="grl_media_video_set_framerate">
+<function name="grl_operation_options_set_key_range_filter">
<description>
-Set the framerate of the video
+Set filter as "min1 <= k1 <= max1 AND min2 <= k2 <= max2 AND ..."
-Since: 0.1.4
+The range can be open if some of the minX, maxX values are %NULL.
+
+<example>
+Album must start with "T" and the bitrate should be 256kbs or greater.
+<programlisting>
+grl_operation_options_set_key_range_filters (my_options,
+GRL_METADATA_KEY_ALBUM, "Ta", "Tz",
+GRL_METADATA_KEY_BITRATE, 256, NULL,
+NULL);
+</programlisting>
+</example>
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="framerate">
-<parameter_description> the video's framerate
+<parameter name="Varargs">
+<parameter_description> triplets of #GrlKeyID, minvalue, maxvalue
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE on success
+
+</return>
</function>
-<function name="grl_media_video_set_height">
+<function name="grl_operation_options_set_key_range_filter_value">
<description>
-Set the height of the video
+Set filter as "@min_value <= @key <= @max_value".
-Since: 0.1.4
+If @min_value is %NULL, then filter is "@key <= @max_value".
+
+If @max_value is %NULL, then filter is "@key >= @min_value".
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="height">
-<parameter_description> the video's height
+<parameter name="key">
+<parameter_description> a #GrlKeyId
+</parameter_description>
+</parameter>
+<parameter name="min_value">
+<parameter_description> minimum value for range
+</parameter_description>
+</parameter>
+<parameter name="max_value">
+<parameter_description> maximum value for range
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE on success
+
+</return>
</function>
-<function name="grl_media_video_set_season">
+<function name="grl_operation_options_set_skip">
<description>
-Sets the season number of the video
+Set the skip option for an operation. Will only succeed if @skip obeys to the
+inherent capabilities of @options.
-Since: 0.1.11
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="season">
-<parameter_description> the video's season
+<parameter name="skip">
+<parameter_description> number of elements to skip in an operation
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if @skip could be set, %FALSE otherwise.
+
+</return>
</function>
-<function name="grl_media_video_set_show">
+<function name="grl_operation_options_set_type_filter">
<description>
-Sets the show title of the video
+Set the type of media filter for an operation. Only those media elements that
+match the @filter will be returned. Will only succeed if @filter obey to the
+inherent capabilities of @options.
-Since: 0.1.11
+Since: 0.2.0
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="options">
+<parameter_description> a #GrlOperationOptions instance
</parameter_description>
</parameter>
-<parameter name="show">
-<parameter_description> the video's show name
+<parameter name="filter">
+<parameter_description> the type of media to get
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if @flags could be set, %FALSE otherwise
+
+</return>
</function>
-<function name="grl_media_video_set_size">
+<function name="grl_operation_set_data">
<description>
-Set the width and the height of the video
-
-Since: 0.1.4
+Attach a pointer to the specific operation.
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
-</parameter_description>
-</parameter>
-<parameter name="width">
-<parameter_description> the video's width
+<parameter name="operation_id">
+<parameter_description> the identifier of a running operation
</parameter_description>
</parameter>
-<parameter name="height">
-<parameter_description> the video's height
+<parameter name="user_data">
+<parameter_description> the data to attach
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_media_video_set_url_data">
+<function name="grl_paging_translate">
<description>
-Sets all the keys related with the URL of a video resource in one go.
+Grilo browsing implements a paging mechanism through @skip and @count values.
-Since: 0.1.10
+But there are some services (like Jamendo or Flickr) where paging is done
+through a page number and page size: user request all elements in a page,
+specifying in most cases what is the page size.
+
+This function is a helper for this task, computing from @skip and @count what
+is the optimal value of page size (limited by @max_page_size), which page
+should the user request, and where requested data start inside the page.
+
+By optimal we mean that it computes those values so only one page is required
+to satisfy the data, using the smallest page size. If user is limiting page
+size, then more requests to services might be needed. But still page size
+will be an optimal value.
+
+Since: 0.1.6
</description>
<parameters>
-<parameter name="video">
-<parameter_description> the media instance
-</parameter_description>
-</parameter>
-<parameter name="url">
-<parameter_description> the video's url
-</parameter_description>
-</parameter>
-<parameter name="mime">
-<parameter_description> video mime-type
+<parameter name="skip">
+<parameter_description> number of elements to skip
</parameter_description>
</parameter>
-<parameter name="framerate">
-<parameter_description> video framerate, or -1 to ignore
+<parameter name="count">
+<parameter_description> number of elements to retrieve
</parameter_description>
</parameter>
-<parameter name="width">
-<parameter_description> video width, or -1 to ignore
+<parameter name="max_page_size">
+<parameter_description> maximum value for page size
</parameter_description>
</parameter>
-<parameter name="height">
-<parameter_description> video height, or -1 to ignore
+<parameter name="page_size">
+<parameter_description> optimal page size
</parameter_description>
</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="grl_media_video_set_width">
-<description>
-Set the width of the video
-
-Since: 0.1.4
-
-</description>
-<parameters>
-<parameter name="video">
-<parameter_description> the media instance
+<parameter name="page_number">
+<parameter_description> page which contain the first element to retrieve (starting at 1)
</parameter_description>
</parameter>
-<parameter name="width">
-<parameter_description> the video's width
+<parameter name="internal_offset">
+<parameter_description> in the @page_number, offset where first element can be found (starting at 0)
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_metadata_key_get_desc">
+<function name="grl_plugin_get_author">
<description>
-Retrieves the description associated with the key
+Get the author of the plugin
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="key">
-<parameter_description> key to look up
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
-<return> the description of the key
+<return> the author of the @plugin
</return>
</function>
-<function name="grl_metadata_key_get_name">
+<function name="grl_plugin_get_description">
<description>
-Retrieves the name associated with the key
+Get the description of the plugin
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="key">
-<parameter_description> key to look up
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
-<return> The name of the key
+<return> the description of the @plugin
</return>
</function>
-<function name="grl_metadata_key_get_type">
+<function name="grl_plugin_get_filename">
<description>
-Retrieves the expected type for values associated with this key
+Get the filename containing the plugin
+Since: 0.2.0
</description>
<parameters>
-<parameter name="key">
-<parameter_description> key to look up
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
-<return> the expected value type
+<return> the filename containing @plugin
+
</return>
</function>
-<function name="grl_metadata_key_list_new">
+<function name="grl_plugin_get_id">
<description>
-Returns a #GList containing the va_list keys. Use #GRL_METADATA_KEY_INVALID
-to finalize them.
+Get the id of the plugin
+Since: 0.2.0
</description>
<parameters>
-<parameter name="first_key">
-<parameter_description> first key
-</parameter_description>
-</parameter>
-<parameter name="Varargs">
-<parameter_description> va_list keys
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
-<return> a #GList
-</return>
-</function>
-
-<function name="grl_metadata_source_expand_operation_keys">
-<description>
-Will add to @keys the keys that should be asked to @source when
-doing an operation with GRL_RESOLVE_FULL.
-
-The added keys are the keys that will be needed by other sources to
-obtain the ones that @source says it cannot resolve.
+<return> the id of the @plugin
-</description>
-<parameters>
-</parameters>
-<return></return>
+</return>
</function>
-<function name="grl_metadata_source_filter_slow">
+<function name="grl_plugin_get_info">
<description>
-This function does the opposite of other filter functions: removes the slow
-keys from @keys. If @return_filtered is %TRUE the removed slow keys are
-returned in a new list.
+Get the information of the @plugin that is associated with the given key
-Since: 0.1.1
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description>
-the list of keys to filter out
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
-<parameter name="return_filtered">
-<parameter_description> if %TRUE the return value shall be a new list with
-the slow keys
+<parameter name="key">
+<parameter_description> a key representing information about this plugin
</parameter_description>
</parameter>
</parameters>
-<return> if
- return_filtered is %TRUE will return the list of slow keys; otherwise
-%NULL
+<return> the information assigned to the given @key or NULL if there is no such information
</return>
</function>
-<function name="grl_metadata_source_filter_supported">
+<function name="grl_plugin_get_info_keys">
<description>
-Compares the received @keys list with the supported key list by the
-metadata @source, and deletes those keys which are not supported.
+Returns a list of keys that can be queried to retrieve information about the
+plugin.
-Since: 0.1.1
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description>
-the list of keys to filter out
-</parameter_description>
-</parameter>
-<parameter name="return_filtered">
-<parameter_description> if %TRUE the return value shall be a new list with
-the unsupported keys
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
<return>
-if @return_filtered is %TRUE will return the list of removed keys;
-otherwise %NULL
+a #GList of strings containing the keys. The content of the list is
+owned by the plugin and should not be modified or freed. Use g_list_free()
+when done using the list.
</return>
</function>
-<function name="grl_metadata_source_filter_writable">
+<function name="grl_plugin_get_license">
<description>
-Similar to grl_metadata_source_filter_supported() but applied to
-the writable keys in grl_metadata_source_writable_keys().
-
-Filter the @keys list keeping only those keys that are writtable in
- source If @return_filtered is %TRUE then the removed keys are returned in a
-new list.
+Get the license of the plugin
-Since: 0.1.4
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description>
-the list of keys to filter out
-</parameter_description>
-</parameter>
-<parameter name="return_filtered">
-<parameter_description> if %TRUE the return value shall be a new list with
-the non-writable keys
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
-<return>
-if @return_filtered is %TRUE will return the list of non-writtable keys;
-otherwise %NULL
+<return> the license of the @plugin
</return>
</function>
-<function name="grl_metadata_source_get_additional_sources">
-<description>
-Find the sources that should be queried to add @keys to @media.
-
-If @additional_keys is provided, the result may include sources
-that need more metadata to be present in @media, the keys
-corresponding to that metadata will be put in @additional_keys.
-
-If @additional_keys is NULL, will only consider sources that can
-resolve @keys immediately
-
-If @main_source_is_only_resolver is TRUE and @additional_keys is
-not @NULL, only additional keys that can be resolved directly by
- source will be considered. Sources that need other additional keys
-will not be put in the returned list.
-
-Ignore elements of @keys that are already in @media.
-
-</description>
-<parameters>
-</parameters>
-<return></return>
-</function>
-
-<function name="grl_metadata_source_get_caps">
+<function name="grl_plugin_get_module">
<description>
-Get the capabilities of @source for @operation.
+Gets the #GModule containing the plugin
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
-</parameter_description>
-</parameter>
-<parameter name="operation">
-<parameter_description> a supported operation. Even though the type allows to specify
-several operations, only one should be provided here.
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
-<return> The capabilities
+<return> a #GModule
+
</return>
</function>
-<function name="grl_metadata_source_get_description">
+<function name="grl_plugin_get_name">
<description>
-Since: 0.1.1
+Get the name of the plugin
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
-<return> the description of the @source
+<return> the name of the @plugin
</return>
</function>
-<function name="grl_metadata_source_get_id">
+<function name="grl_plugin_get_site">
<description>
-Since: 0.1.1
+Get the site of the plugin
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
-<return> the ID of the @source
+<return> the site of the @plugin
</return>
</function>
-<function name="grl_metadata_source_get_name">
+<function name="grl_plugin_get_sources">
<description>
-Since: 0.1.1
+Gets the sources belonging to @plugin.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
</parameters>
-<return> the name of the @source
+<return> a #GList of
+#GrlSource<!-- -->s. The content of the list should not be modified or
+freed. Use g_list_free() when done using the list.
</return>
</function>
-<function name="grl_metadata_source_may_resolve">
+<function name="grl_plugin_get_version">
<description>
-Checks whether @key_id may be resolved with @source for @media, so that the
-caller can avoid calling grl_metadata_source_resolve() if it can be known in
-advance it will fail.
-
-If the resolution is known to be impossible because more keys are needed in
- media, and @missing_keys is not @NULL, it is populated with the list of
-GrlKeyID that would be needed.
-
-This function is synchronous and should not block.
+Get the version of the plugin
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> a media on which we want more metadata
-</parameter_description>
-</parameter>
-<parameter name="key_id">
-<parameter_description> the key corresponding to a metadata we might want
-</parameter_description>
-</parameter>
-<parameter name="missing_keys">
-<parameter_description> an optional originally empty list
+<parameter name="plugin">
+<parameter_description> a plugin
</parameter_description>
</parameter>
-</parameters>
-<return> @TRUE if there's a possibility that @source resolves @key_id for
- media, @FALSE otherwise.
+</parameters>
+<return> the version of the @plugin
</return>
</function>
-<function name="grl_metadata_source_resolve">
+<function name="grl_registry_add_config">
<description>
-This is the main method of the #GrlMetadataSource class. It will fetch the
-metadata of the requested keys.
-
-This function is asynchronous.
+Add a configuration for a plugin/source.
-Since: 0.1.14
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> the #GList
-of #GrlKeyID to retrieve
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> Transfer object where all the metadata is stored.
-</parameter_description>
-</parameter>
-<parameter name="options">
-<parameter_description> options to pass to this operation
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
-<parameter name="callback">
-<parameter_description> the callback to execute when the @media metadata is filled up
+<parameter name="config">
+<parameter_description> a configuration set
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> user data set for the @callback
+<parameter name="error">
+<parameter_description> error return location or @NULL to ignore
</parameter_description>
</parameter>
</parameters>
-<return> the operation identifier
-
-</return>
+<return></return>
</function>
-<function name="grl_metadata_source_resolve_sync">
+<function name="grl_registry_add_config_from_file">
<description>
-This is the main method of the #GrlMetadataSource class. It will fetch the
-metadata of the requested keys.
-
-This function is synchronous.
+Load plugin configurations from a .ini-like config file.
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> the #GList
-of #GrlKeyID to retrieve
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> Transfer object where all the metadata is stored
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
-<parameter name="options">
-<parameter_description> options to pass to this operation
+<parameter name="config_file">
+<parameter_description> a key-value file containing the configuration
</parameter_description>
</parameter>
<parameter name="error">
-<parameter_description> a #GError, or @NULL
+<parameter_description> error return location or @NULL to ignore
</parameter_description>
</parameter>
</parameters>
-<return> the updated #GrlMedia
+<return> %TRUE on success
</return>
</function>
-<function name="grl_metadata_source_set_metadata">
+<function name="grl_registry_add_directory">
<description>
-This is the main method of the #GrlMetadataSource class. It will
-get the values for @keys from @media and store it permanently. After
-calling this method, future queries that return this media object
-shall return this new values for the selected keys.
-
-This function is asynchronous and uses the Glib's main loop.
+Set this path as part of default paths to load plugins.
-Since: 0.1.4
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> the #GrlMedia object that we want to operate on.
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> a list
-of #GrlKeyID whose values we want to change.
-</parameter_description>
-</parameter>
-<parameter name="flags">
-<parameter_description> Flags to configure specific behaviors of the operation.
-</parameter_description>
-</parameter>
-<parameter name="callback">
-<parameter_description> the callback to execute when the operation is finished.
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> user data set for the @callback
+<parameter name="path">
+<parameter_description> a path with plugins
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_metadata_source_set_metadata_sync">
+<function name="grl_registry_get_default">
<description>
-This is the main method of the #GrlMetadataSource class. It will
-get the value for @key from @media and store it permanently. After
-calling this method, future queries that return this media object
-shall return this new value for the selected key.
-
-This function is synchronous.
+As the registry is designed to work as a singleton, this
+method is in charge of creating the only instance or
+returned it if it is already in memory.
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
-</parameter_description>
-</parameter>
-<parameter name="media">
-<parameter_description> the #GrlMedia object that we want to operate on
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> a list of
-#GrlKeyID whose values we want to change
-</parameter_description>
-</parameter>
-<parameter name="flags">
-<parameter_description> Flags to configure specific behaviors of the operation.
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
-</parameter_description>
-</parameter>
</parameters>
-<return>
-a #GList of keys that could not be updated, or @NULL
+<return> a new or an already created instance of the registry.
+
+It is NOT MT-safe
</return>
</function>
-<function name="grl_metadata_source_slow_keys">
+<function name="grl_registry_get_metadata_keys">
<description>
-Similar to grl_metadata_source_supported_keys(), but this keys
-are marked as slow because of the amount of traffic/processing needed
-to fetch them.
+Returns a list with all registered keys in system.
-Since: 0.1.1
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
</parameters>
-<return> a #GList with the keys
+<return> a #GList with all the available
+#GrlKeyID<!-- -->s. The content of the list should not be modified or freed.
+Use g_list_free() when done using the list.
</return>
</function>
-<function name="grl_metadata_source_supported_keys">
+<function name="grl_registry_get_plugins">
<description>
-Get a list of #GrlKeyID, which describe a metadata types that this
-source can fetch and store.
+This function will return all the available plugins in the @registry.
-Since: 0.1.1
+If @only_loaded is %TRUE, the plugin list will contain only plugins that are
+loaded.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="only_loaded">
+<parameter_description> whether the returned list shall include only loaded plugins
</parameter_description>
</parameter>
</parameters>
-<return> a #GList with the keys
+<return> a #GList of
+available #GrlPlugin<!-- -->s. The content of the list should not be modified
+or freed. Use g_list_free() when done using the list.
</return>
</function>
-<function name="grl_metadata_source_supported_operations">
+<function name="grl_registry_get_sources">
<description>
-By default the derived objects of #GrlMetadataSource can only resolve.
+This function will return all the available sources in the @registry.
-Since: 0.1.1
+If @ranked is %TRUE, the source list will be ordered by rank.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="ranked">
+<parameter_description> whether the returned list shall be returned ordered by rank
</parameter_description>
</parameter>
</parameters>
-<return> a bitwise mangle with the supported operations by
-the source
+<return> a #GList of
+available #GrlSource<!-- -->s. The content of the list should not be
+modified or freed. Use g_list_free() when done using the list.
</return>
</function>
-<function name="grl_metadata_source_writable_keys">
+<function name="grl_registry_get_sources_by_operations">
<description>
-Similar to grl_metadata_source_supported_keys(), but these keys
-are marked as writable, meaning the source allows the client
-to provide new values for these keys that will be stored permanently.
+Give an array of all the available sources in the @registry capable of
+perform the operations requested in @ops.
-Since: 0.1.4
+If @ranked is %TRUE, the source list will be ordered by rank.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="source">
-<parameter_description> a metadata source
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="ops">
+<parameter_description> a bitwise mangle of the requested operations.
+</parameter_description>
+</parameter>
+<parameter name="ranked">
+<parameter_description> whether the returned list shall be returned ordered by rank
</parameter_description>
</parameter>
</parameters>
-<return>
-a #GList with the keys
+<return> a #GList of
+available #GrlSource<!-- -->s. The content of the list should not be
+modified or freed. Use g_list_free() when done using the list.
</return>
</function>
-<function name="grl_multiple_get_media_from_uri">
+<function name="grl_registry_load_all_plugins">
<description>
-Goes though all available media sources until it finds one capable of
-constructing a GrlMedia object representing the media resource exposed
-by @uri.
+Load all the modules available in the default directory path.
-This method is asynchronous.
+The default directory path can be changed through the environment
+variable %GRL_PLUGIN_PATH and it can contain several paths separated
+by ":"
-Since: 0.1.7
+Since: 0.2.0
</description>
<parameters>
-<parameter name="uri">
-<parameter_description> A URI that can be used to identify a media resource
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
-<parameter name="keys">
-<parameter_description> List of metadata keys we want to obtain.
+<parameter name="error">
+<parameter_description> error return location or @NULL to ignore
</parameter_description>
</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
+</parameters>
+<return> %FALSE% is all the configured plugin paths are invalid,
+%TRUE% otherwise.
+
+</return>
+</function>
+
+<function name="grl_registry_load_plugin">
+<description>
+Loads a module from shared object file stored in @path
+
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
-<parameter name="callback">
-<parameter_description> the user defined callback
+<parameter name="library_filename">
+<parameter_description> the path to the so file
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> the user data to pass to the user callback
+<parameter name="error">
+<parameter_description> error return location or @NULL to ignore
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if the module is loaded correctly
+
+</return>
</function>
-<function name="grl_multiple_search">
+<function name="grl_registry_load_plugin_by_id">
<description>
-Search for @text in all the sources specified in @sources.
-
-If @text is @NULL then NULL-text searchs will be used for each searchable
-plugin (see #grl_media_source_search for more details).
+Loads plugin identified by @plugin_id.
-This method is asynchronous.
+This requires the XML plugin information file to define a "module" key with
+the name of the module that provides the plugin or the absolute path of the
+actual module file.
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="sources">
-<parameter_description>
-a #GList of #GrlMediaSource<!-- -->s to search from (%NULL for all
-searchable sources)
-</parameter_description>
-</parameter>
-<parameter name="text">
-<parameter_description> the text to search for
-</parameter_description>
-</parameter>
-<parameter name="keys">
-<parameter_description> the #GList of
-#GrlKeyID to retrieve
-</parameter_description>
-</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
-<parameter name="callback">
-<parameter_description> the user defined callback
+<parameter name="plugin_id">
+<parameter_description> plugin identifier
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> the user data to pass to the user callback
+<parameter name="error">
+<parameter_description> error return location or @NULL to ignore
</parameter_description>
</parameter>
</parameters>
-<return> the operation identifier
+<return> %TRUE if the plugin is loaded correctly
</return>
</function>
-<function name="grl_multiple_search_sync">
+<function name="grl_registry_load_plugin_directory">
<description>
-Search for @text in all the sources specified in @sources.
-
-This method is synchronous.
+Loads a set of modules from directory in @path which contains
+a group shared object files.
-Since: 0.1.6
+Since: 0.2.0
</description>
<parameters>
-<parameter name="sources">
-<parameter_description>
-a #GList of #GrlMediaSource<!-- -->s where to search from (%NULL for all
-available sources with search capability)
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
-<parameter name="text">
-<parameter_description> the text to search for
+<parameter name="path">
+<parameter_description> the path to the directory
</parameter_description>
</parameter>
-<parameter name="keys">
-<parameter_description> the #GList of
-#GrlKeyID to retrieve
+<parameter name="error">
+<parameter_description> error return location or @NULL to ignore
</parameter_description>
</parameter>
-<parameter name="options">
-<parameter_description> options wanted for that operation
+</parameters>
+<return> %TRUE if the directory is valid.
+
+</return>
+</function>
+
+<function name="grl_registry_lookup_metadata_key">
+<description>
+Look up for the metadata key with name @key_name.
+
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> a #GError, or @NULL
+<parameter name="key_name">
+<parameter_description> the key name
</parameter_description>
</parameter>
</parameters>
-<return> a list with #GrlMedia elements
+<return> The metadata key, or GRL_METADATA_KEY_INVALID if not found
</return>
</function>
-<function name="grl_operation_cancel">
+<function name="grl_registry_lookup_metadata_key_desc">
<description>
-Cancel an operation.
+Returns @key description.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="operation_id">
-<parameter_description> the identifier of a running operation
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a metadata key
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> metadata key description, or @NULL if not found
+
+</return>
</function>
-<function name="grl_operation_get_data">
+<function name="grl_registry_lookup_metadata_key_name">
<description>
-Obtains the previously attached data
+Returns @key name.
+Since: 0.2.0
</description>
<parameters>
-<parameter name="operation_id">
-<parameter_description> the identifier of a running operation
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a metadata key
</parameter_description>
</parameter>
</parameters>
-<return> The previously attached data.
+<return> metadata key name, or @NULL if not found
+
</return>
</function>
-<function name="grl_operation_options_copy">
+<function name="grl_registry_lookup_metadata_key_relation">
<description>
+Look up the list of keys that have a relation with @key.
+
+ key is included in that list.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a metadata key
</parameter_description>
</parameter>
</parameters>
-<return> a new #GrlOperationOptions instance with its values being copies of
-the values of @options.
+<return> a #GList of
+related keys, or @NULL if key is invalid.
+
</return>
</function>
-<function name="grl_operation_options_get_count">
+<function name="grl_registry_lookup_metadata_key_type">
<description>
-Get the count option, that is, the number of elements to retrieve in an
-operation done with @options.
+Returns @key expected value type.
+Since: 0.2.0
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> a metadata key
</parameter_description>
</parameter>
</parameters>
-<return> the value of the count option, or a default value if it is not set.
+<return> metadata key type, or @G_TYPE_INVALID if not found
+
+</return>
+</function>
+
+<function name="grl_registry_lookup_plugin">
+<description>
+This function will search and retrieve a plugin given its identifier.
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="plugin_id">
+<parameter_description> the id of a plugin
+</parameter_description>
+</parameter>
+</parameters>
+<return> The plugin found
</return>
</function>
-<function name="grl_operation_options_get_flags">
+<function name="grl_registry_lookup_source">
<description>
+This function will search and retrieve a source given its identifier.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="source_id">
+<parameter_description> the id of a source
</parameter_description>
</parameter>
</parameters>
-<return> resolution flags of @options.
+<return> The source found.
</return>
</function>
-<function name="grl_operation_options_get_key_filter">
+<function name="grl_registry_metadata_key_validate">
<description>
+Validates @value content complies with the key specification. That is, it has
+the expected type, and value are within the range specified in key (for
+integer values).
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="options">
-<parameter_description>
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
<parameter name="key">
-<parameter_description>
+<parameter_description> a metadata key
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> value to be validate
</parameter_description>
</parameter>
</parameters>
-<return> the filter
+<return> %TRUE if complies
+
</return>
</function>
-<function name="grl_operation_options_get_key_filter_list">
+<function name="grl_registry_register_metadata_key">
<description>
+Registers a metadata key
+
+Since: 0.2.0
</description>
<parameters>
+<parameter name="registry">
+<parameter_description> The plugin registry
+</parameter_description>
+</parameter>
+<parameter name="param_spec">
+<parameter_description> The definition of the key to register
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> error return location or @NULL to ignore
+</parameter_description>
+</parameter>
</parameters>
-<return>
+<return> The #GrlKeyID registered.
+
</return>
</function>
-<function name="grl_operation_options_get_key_range_filter_list">
+<function name="grl_registry_register_metadata_key_relation">
<description>
+Creates a relation between @key1 and @key2, meaning that the values of both
+keys are somehow related.
+
+One example of a relation would be the one between the URI of a media
+resource and its mime-type: they are both tied together and one does not make
+sense without the other.
+
+Relations between keys allow the framework to provide all the data that is
+somehow related when any of the related keys are requested.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="options">
-<parameter_description>
+<parameter name="registry">
+<parameter_description> the plugin registry
+</parameter_description>
+</parameter>
+<parameter name="key1">
+<parameter_description> key involved in relationship
+</parameter_description>
+</parameter>
+<parameter name="key2">
+<parameter_description> key involved in relationship
</parameter_description>
</parameter>
</parameters>
-<return>
-</return>
+<return></return>
</function>
-<function name="grl_operation_options_get_skip">
+<function name="grl_registry_register_source">
<description>
-Get the skip option, that is, the number of elements to skip before
-retrieving media items in an operation done with @options.
+Register a @source in the @registry with the given @plugin information
+Since: 0.2.0
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="plugin">
+<parameter_description> the plugin which owns the source
+</parameter_description>
+</parameter>
+<parameter name="source">
+<parameter_description> the source to register
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> error return location or @NULL to ignore
</parameter_description>
</parameter>
</parameters>
-<return> the value of the skip option, or a default value if it is not set.
+<return> %TRUE if success, %FALSE% otherwise.
</return>
</function>
-<function name="grl_operation_options_get_type_filter">
+<function name="grl_registry_unload_plugin">
<description>
+Unload from memory a module identified by @plugin_id. This means call the
+module's deinit function.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
+<parameter name="registry">
+<parameter_description> the registry instance
+</parameter_description>
+</parameter>
+<parameter name="plugin_id">
+<parameter_description> the identifier of the plugin
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> error return location or @NULL to ignore
</parameter_description>
</parameter>
</parameters>
-<return> resolution flags of @options
+<return> %TRUE% on success.
+
</return>
</function>
-<function name="grl_operation_options_key_is_set">
+<function name="grl_registry_unregister_source">
<description>
-This is an internal method that shouldn't be used outside of Grilo.
+Removes the @source from the @registry hash table
+Since: 0.2.0
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
+<parameter name="registry">
+<parameter_description> the registry instance
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> an operation option key
+<parameter name="source">
+<parameter_description> the source to unregister
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> error return location or @NULL to ignore
</parameter_description>
</parameter>
</parameters>
-<return> whether @key is set in @options.
+<return> %TRUE if success, %FALSE% otherwise.
</return>
</function>
-<function name="grl_operation_options_new">
+<function name="grl_related_keys_dup">
<description>
-Creates a new GrlOperationOptions object.
+Makes a deep copy of @relkeys and its contents.
+Since: 0.1.10
</description>
<parameters>
-<parameter name="caps">
-<parameter_description> caps that options will have to match. If %NULL, all
-options will be accepted.
+<parameter name="relkeys">
+<parameter_description> set of related keys to duplicate
</parameter_description>
</parameter>
</parameters>
-<return> a new GrlOperationOptions instance.
+<return> a new #GrlRelatedKeys.
+Free it with #g_object_unref.
+
</return>
</function>
-<function name="grl_operation_options_obey_caps">
+<function name="grl_related_keys_get">
<description>
-Check whether @options obey to @caps.
-Optionally provide the options that match (respectively don't match) @caps
-in @supported_options (respectively @unsupported_options).
-This would typically (but not necessarily) be used with a
-#GrlOperationOptions instance that was created with %NULL caps.
+Get the value associated with @key from @relkeys. If it does not contain any
+value, %NULL will be returned.
+Since: 0.1.10
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
-</parameter_description>
-</parameter>
-<parameter name="caps">
-<parameter_description> capabilities against which we want to test @options
-</parameter_description>
-</parameter>
-<parameter name="supported_options">
-<parameter_description> if not %NULL, will contain a
-newly-allocated #GrlOperationOptions instance containing all the values of
- options that match @caps.
+<parameter name="relkeys">
+<parameter_description> set of related keys to retrieve value
</parameter_description>
</parameter>
-<parameter name="unsupported_options">
-<parameter_description> if not %NULL, will contain a
-newly-allocated #GrlOperationOptions instance containing all the values of
- options that do not match @caps.
+<parameter name="key">
+<parameter_description> key to look up.
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @options obey to @caps, %FALSE otherwise.
+<return> a #GValue. This value should not be modified nor
+freed by user.
+
</return>
</function>
-<function name="grl_operation_options_set_count">
+<function name="grl_related_keys_get_binary">
<description>
-Set the count option for an operation. Will only succeed if @count obey to
-the inherent capabilities of @options.
+Returns the value associated with @key from @relkeys. If @key has no value,
+or value is not a binary, or @key is not in @relkeys, then 0 is returned.
+Since: 0.1.10
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
+<parameter name="relkeys">
+<parameter_description> set of related keys to inspect
</parameter_description>
</parameter>
-<parameter name="count">
-<parameter_description> number of elements to retrieve in an operation
+<parameter name="key">
+<parameter_description> key to use
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> location to store the buffer size
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @count could be set, %FALSE otherwise.
+<return> buffer location associated with @key, or %NULL in other case. If
+successful @size will be set to the buffer size.
+
</return>
</function>
-<function name="grl_operation_options_set_flags">
+<function name="grl_related_keys_get_boxed">
<description>
-Set the resolution flags for an operation. Will only succeed if @flags obey
-to the inherent capabilities of @options.
+Returns the value associated with @key from @relkeys. If @key has no value,
+the value is not of a boxed type, or @key is not in @relkeys, then %NULL is
+returned.
+Since: 0.2.0
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
+<parameter name="relkeys">
+<parameter_description> set of related keys to inspect
</parameter_description>
</parameter>
-<parameter name="flags">
-<parameter_description> the resolution flags to be set for an operation. See
-#GrlMetadataResolutionFlags for possible values.
+<parameter name="key">
+<parameter_description> key to use
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @flags could be set, %FALSE otherwise.
+<return> the #GBoxed value associated with @key if
+possible, or %NULL in other case. The caller should not change nor free the
+value.
</return>
</function>
-<function name="grl_operation_options_set_key_filter_dictionary">
+<function name="grl_related_keys_get_float">
<description>
+Returns the value associated with @key from @relkeys. If @key has no value,
+or value is not a gfloat, or @key is not in @relkeys, then 0 is returned.
+
+Since: 0.1.10
</description>
<parameters>
-<parameter name="options">
-<parameter_description>
+<parameter name="relkeys">
+<parameter_description> set of related keys to inspect
</parameter_description>
</parameter>
-<parameter name="filters">
-<parameter_description>
+<parameter name="key">
+<parameter_description> key to use
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> float value associated with @key, or 0 in other case.
+
+</return>
</function>
-<function name="grl_operation_options_set_skip">
+<function name="grl_related_keys_get_int">
<description>
-Set the skip option for an operation. Will only succeed if @skip obeys to the
-inherent capabilities of @options.
+Returns the value associated with @key from @relkeys. If @key has no value,
+or value is not a gint, or @key is not in @relkeys, then 0 is returned.
+Since: 0.1.10
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
+<parameter name="relkeys">
+<parameter_description> set of related keys to inspect
</parameter_description>
</parameter>
-<parameter name="skip">
-<parameter_description> number of elements to skip in an operation
+<parameter name="key">
+<parameter_description> key to use
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @skip could be set, %FALSE otherwise.
+<return> int value associated with @key, or 0 in other case.
+
</return>
</function>
-<function name="grl_operation_options_set_type_filter">
+<function name="grl_related_keys_get_keys">
<description>
-Set the type of media filter for an operation. Only those media elements that
-match the @filter will be returned. Will only succeed if @filter obey to the
-inherent capabilities of @options.
+Returns a list with keys contained in @relkeys.
+Since: 0.1.13
</description>
<parameters>
-<parameter name="options">
-<parameter_description> a #GrlOperationOptions instance
-</parameter_description>
-</parameter>
-<parameter name="filter">
-<parameter_description> the type of media to get
+<parameter name="relkeys">
+<parameter_description> set of related keys to inspect
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @flags could be set, %FALSE otherwise
+<return> a list with
+the keys. The content of the list should not be modified or freed. Use
+g_list_free() when done using the list.
+
</return>
</function>
-<function name="grl_operation_set_data">
+<function name="grl_related_keys_get_string">
<description>
-Attach a pointer to the specific operation.
+Returns the value associated with @key from @relkeys. If @key has no value,
+or value is not string, or @key is not in @relkeys, then %NULL is returned.
+
+Since: 0.1.10
</description>
<parameters>
-<parameter name="operation_id">
-<parameter_description> the identifier of a running operation
+<parameter name="relkeys">
+<parameter_description> set of related keys to inspect
</parameter_description>
</parameter>
-<parameter name="user_data">
-<parameter_description> the data to attach
+<parameter name="key">
+<parameter_description> key to use
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> string associated with @key, or %NULL in other case. Caller should
+not change nor free the value.
+
+</return>
</function>
-<function name="grl_paging_translate">
+<function name="grl_related_keys_has_key">
<description>
-Grilo browsing implements a paging mechanism through @skip and @count values.
-
-But there are some services (like Jamendo or Flickr) where paging is done
-through a page number and page size: user request all elements in a page,
-specifying in most cases what is the page size.
-
-This function is a helper for this task, computing from @skip and @count what
-is the optimal value of page size (limited by @max_page_size), which page
-should the user request, and where requested data start inside the page.
-
-By optimal we mean that it computes those values so only one page is required
-to satisfy the data, using the smallest page size. If user is limiting page
-size, then more requests to services might be needed. But still page size
-will be an optimal value.
+Checks if @key is in @relkeys.
-Since: 0.1.6
+Since: 0.1.10
</description>
<parameters>
-<parameter name="skip">
-<parameter_description> number of elements to skip
-</parameter_description>
-</parameter>
-<parameter name="count">
-<parameter_description> number of elements to retrieve
-</parameter_description>
-</parameter>
-<parameter name="max_page_size">
-<parameter_description> maximum value for page size
-</parameter_description>
-</parameter>
-<parameter name="page_size">
-<parameter_description> optimal page size
-</parameter_description>
-</parameter>
-<parameter name="page_number">
-<parameter_description> page which contain the first element to retrieve (starting at 1)
+<parameter name="relkeys">
+<parameter_description> set of related keys to inspect
</parameter_description>
</parameter>
-<parameter name="internal_offset">
-<parameter_description> in the @page_number, offset where first element can be found (starting at 0)
+<parameter name="key">
+<parameter_description> key to search
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> %TRUE if @key is in @relkeys, %FALSE in other case.
+
+</return>
</function>
-<function name="grl_plugin_registry_add_config">
+<function name="grl_related_keys_new">
<description>
-Add a configuration for a plugin/source.
+Creates a new #GrlRelatedKeys instance that can be used to store related
+keys and their values.
-Since: 0.1.7
+Since: 0.1.10
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
-</parameter_description>
-</parameter>
-<parameter name="config">
-<parameter_description> a configuration set
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
-</parameter_description>
-</parameter>
</parameters>
-<return></return>
+<return> a new object.
+
+</return>
</function>
-<function name="grl_plugin_registry_add_config_from_file">
+<function name="grl_related_keys_new_valist">
<description>
-Load plugin configurations from a .ini-like config file.
+Creates a new #GrlRelatedKeys containing pairs of (key, value). Finish the
+list with %NULL.
-Since: 0.1.7
+In case of a binary-type key, the expected element is (key, value, size).
-</description>
-<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
-</parameter_description>
-</parameter>
-<parameter name="config_file">
-<parameter_description> a key-value file containing the configuration
+value type will be extracted from key information.
+
+Since: 0.1.10
+
+</description>
+<parameters>
+<parameter name="key">
+<parameter_description> first key
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
+<parameter name="args">
+<parameter_description> #va_list of value, followed by (key,value) pairs to insert
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE on success
+<return> a new #GrlRelatedKeys
</return>
</function>
-<function name="grl_plugin_registry_add_directory">
+<function name="grl_related_keys_new_with_keys">
<description>
-Set this path as part of default paths to load plugins.
+Creates a initial #GrlRelatedKeys containing the list of (key, value)
+pairs. Finish the list with %NULL.
-Since: 0.1.6
+For more information see #grl_related_keys_new_valist.
+
+Since: 0.1.10
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="key">
+<parameter_description> first key
</parameter_description>
</parameter>
-<parameter name="path">
-<parameter_description> a path with plugins
+<parameter name="Varargs">
+<parameter_description> value, following by list of (key, value)
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a new #GrlRelatedKeys
+
+</return>
</function>
-<function name="grl_plugin_registry_get_default">
+<function name="grl_related_keys_set">
<description>
-As the registry is designed to work as a singleton, this
-method is in charge of creating the only instance or
-returned it if it is already in memory.
+Sets the value associated with @key into @relkeys. Old value is freed and
+the new one is set.
-Since: 0.1.6
+Also, checks that @value is compliant with @key specification, modifying it
+accordingly. For instance, if @key requires a number between 0 and 10, but
+value is outside this range, it will be adapted accordingly.
+
+Since: 0.1.10
</description>
<parameters>
+<parameter name="relkeys">
+<parameter_description> set of related keys to modify
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> key to change or add
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the new value
+</parameter_description>
+</parameter>
</parameters>
-<return> a new or an already created instance of the registry.
-
-It is NOT MT-safe
-
-</return>
+<return></return>
</function>
-<function name="grl_plugin_registry_get_metadata_keys">
+<function name="grl_related_keys_set_binary">
<description>
-Returns a list with all registered keys in system.
+Sets the value associated with @key into @relkeys. @key must have been
+registered as a binary-type key. Old value is replaced by the new one.
-Since: 0.1.6
+Since: 0.1.10
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="relkeys">
+<parameter_description> set of related keys to change
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> key to change or add
+</parameter_description>
+</parameter>
+<parameter name="buf">
+<parameter_description> buffer holding the relkeys
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> size of the buffer
</parameter_description>
</parameter>
</parameters>
-<return> a #GList with all the available
-#GrlKeyID<!-- -->s. The content of the list should not be modified or freed.
-Use g_list_free() when done using the list.
-
-</return>
+<return></return>
</function>
-<function name="grl_plugin_registry_get_sources">
+<function name="grl_related_keys_set_boxed">
<description>
-This function will return all the available sources in the @registry.
-
-If @ranked is %TRUE, the source list will be ordered by rank.
+Sets the value associated with @key into @relkeys. @key must have been
+registered as a boxed-type key. Old value is freed and the new one is set.
-Since: 0.1.7
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="relkeys">
+<parameter_description> set of related keys to modify
</parameter_description>
</parameter>
-<parameter name="ranked">
-<parameter_description> whether the returned list shall be returned ordered by rank
+<parameter name="key">
+<parameter_description> key to change or add
+</parameter_description>
+</parameter>
+<parameter name="boxed">
+<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
-<return> a #GList of
-available #GrlMediaPlugins<!-- -->s. The content of the list should not be
-modified or freed. Use g_list_free() when done using the list.
-
-</return>
+<return></return>
</function>
-<function name="grl_plugin_registry_get_sources_by_operations">
+<function name="grl_related_keys_set_float">
<description>
-Give an array of all the available sources in the @registry capable of
-perform the operations requested in @ops.
-
-If @ranked is %TRUE, the source list will be ordered by rank.
+Sets the value associated with @key into @relkeys. @key must have been
+registered as a float-type key. Old value is replaced by the new one.
-Since: 0.1.7
+Since: 0.1.10
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="relkeys">
+<parameter_description> set of related keys to change
</parameter_description>
</parameter>
-<parameter name="ops">
-<parameter_description> a bitwise mangle of the requested operations.
+<parameter name="key">
+<parameter_description> key to change or add
</parameter_description>
</parameter>
-<parameter name="ranked">
-<parameter_description> whether the returned list shall be returned ordered by rank
+<parameter name="floatvalue">
+<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
-<return> a #GList of
-available #GrlMediaPlugins<!-- -->s. The content of the list should not be
-modified or freed. Use g_list_free() when done using the list.
-
-</return>
+<return></return>
</function>
-<function name="grl_plugin_registry_load">
+<function name="grl_related_keys_set_int">
<description>
-Loads a module from shared object file stored in @path
+Sets the value associated with @key into @relkeys. @key must have been
+registered as an int-type key. Old value is replaced by the new one.
-Since: 0.1.7
+Since: 0.1.10
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="relkeys">
+<parameter_description> set of related keys to change
</parameter_description>
</parameter>
-<parameter name="library_filename">
-<parameter_description> the path to the so file
+<parameter name="key">
+<parameter_description> key to change or add
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
+<parameter name="intvalue">
+<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the module is loaded correctly
-
-</return>
+<return></return>
</function>
-<function name="grl_plugin_registry_load_all">
+<function name="grl_related_keys_set_string">
<description>
-Load all the modules available in the default directory path.
-
-The default directory path can be changed through the environment
-variable %GRL_PLUGIN_PATH and it can contain several paths separated
-by ":"
+Sets the value associated with @key into @relkeys. @key must have been
+registered as a strying-type key. Old value is freed and the new one is set.
-Since: 0.1.1
+Since: 0.1.10
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="relkeys">
+<parameter_description> set of related keys to modify
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
+<parameter name="key">
+<parameter_description> key to change or add
+</parameter_description>
+</parameter>
+<parameter name="strvalue">
+<parameter_description> the new value
</parameter_description>
</parameter>
</parameters>
-<return> %FALSE% is all the configured plugin paths are invalid,
-%TRUE% otherwise.
-
-</return>
+<return></return>
</function>
-<function name="grl_plugin_registry_load_by_id">
+<function name="grl_source_browse">
<description>
-Loads plugin identified by @plugin_id.
+Browse from media elements through an available list.
-This requires the XML plugin information file to define a "module" key with
-the name of the module that provides the plugin or the absolute path of the
-actual module file.
+This method is asynchronous.
-Since: 0.1.14
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="plugin_id">
-<parameter_description> plugin identifier
+<parameter name="container">
+<parameter_description> a container of data transfer objects
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
+<parameter name="keys">
+<parameter_description> the #GList of
+#GrlKeyID<!-- -->s to request
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options wanted for that operation
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the user defined callback
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the user data to pass in the callback
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the plugin is loaded correctly
+<return> the operation identifier
</return>
</function>
-<function name="grl_plugin_registry_load_directory">
+<function name="grl_source_browse_sync">
<description>
-Loads a set of modules from directory in @path which contains
-a group shared object files.
+Browse media elements through an available
+list.
-Since: 0.1.7
+This method is synchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="path">
-<parameter_description> the path to the directory
+<parameter name="container">
+<parameter_description> a container of data transfer objects
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> the #GList of
+#GrlKeyID<!-- -->s to request
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options wanted for that operation
</parameter_description>
</parameter>
<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if the directory is valid.
+<return> a #GList with #GrlMedia
+elements. After use g_object_unref() every element and g_list_free() the
+list.
</return>
</function>
-<function name="grl_plugin_registry_lookup_metadata_key">
+<function name="grl_source_get_auto_split_threshold">
<description>
-Look up for the metadata key with name @key_name.
+Gets how much elements the source is able to handle in a single request.
-Since: 0.1.6
+See #grl_source_set_auto_split_threshold()
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
-</parameter_description>
-</parameter>
-<parameter name="key_name">
-<parameter_description> the key name
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return> The metadata key, or GRL_METADATA_KEY_INVALID if not found
+<return> the assigned threshold, or 0 if there is no threshold
</return>
</function>
-<function name="grl_plugin_registry_lookup_metadata_key_desc">
+<function name="grl_source_get_caps">
<description>
-Returns @key description.
+Get the capabilities of @source for @operation.
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> a metadata key
+<parameter name="operation">
+<parameter_description> a supported operation. Even though the type allows to specify
+several operations, only one should be provided here.
</parameter_description>
</parameter>
</parameters>
-<return> metadata key description, or @NULL if not found
+<return> The capabilities
+
</return>
</function>
-<function name="grl_plugin_registry_lookup_metadata_key_name">
+<function name="grl_source_get_description">
<description>
-Returns @key name.
-
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> a metadata key
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return> metadata key name, or @NULL if not found
+<return> the description of the @source
+
</return>
</function>
-<function name="grl_plugin_registry_lookup_metadata_key_relation">
+<function name="grl_source_get_id">
<description>
-Look up the list of keys that have a relation with @key.
-
- key is included in that list.
-
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> a metadata key
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return> a #GList of
-related keys, or @NULL if key is invalid.
+<return> the ID of the @source
</return>
</function>
-<function name="grl_plugin_registry_lookup_metadata_key_type">
+<function name="grl_source_get_media_from_uri">
<description>
-Returns @key expected value type.
+Creates an instance of #GrlMedia representing the media resource
+exposed at @uri.
+It is recommended to call grl_source_test_media_from_uri() before invoking
+this to check whether the target source can theoretically do the resolution.
+
+This method is asynchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> a metadata key
+<parameter name="uri">
+<parameter_description> A URI that can be used to identify a media resource
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> A list of keys to resolve
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options wanted for that operation
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the user defined callback
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the user data to pass in the callback
</parameter_description>
</parameter>
</parameters>
-<return> metadata key type, or @G_TYPE_INVALID if not found
+<return> the operation identifier
+
</return>
</function>
-<function name="grl_plugin_registry_lookup_source">
+<function name="grl_source_get_media_from_uri_sync">
<description>
-This function will search and retrieve a source given its identifier.
+Creates an instance of #GrlMedia representing the media resource
+exposed at @uri.
+
+It is recommended to call grl_source_test_media_from_uri() before
+invoking this to check whether the target source can theoretically do the
+resolution.
+
+This method is synchronous.
-Since: 0.1.1
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="source_id">
-<parameter_description> the id of a source
+<parameter name="uri">
+<parameter_description> A URI that can be used to identify a media resource
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> a list of keys to resolve
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options wanted for that operation
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
-<return> The source found.
+<return> a filled #GrlMedia
</return>
</function>
-<function name="grl_plugin_registry_metadata_key_validate">
+<function name="grl_source_get_name">
<description>
-Validates @value content complies with the key specification. That is, it has
-the expected type, and value are within the range specified in key (for
-integer values).
-
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> a metadata key
-</parameter_description>
-</parameter>
-<parameter name="value">
-<parameter_description> value to be validate
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if complies
+<return> the name of the @source
+
</return>
</function>
-<function name="grl_plugin_registry_register_metadata_key">
+<function name="grl_source_get_plugin">
<description>
-Registers a metadata key
-
-Since: 0.1.7
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> The plugin registry
-</parameter_description>
-</parameter>
-<parameter name="param_spec">
-<parameter_description> The definition of the key to register
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return> The #GrlKeyID registered.
+<return> the plugin this source belongs to
</return>
</function>
-<function name="grl_plugin_registry_register_metadata_key_relation">
+<function name="grl_source_get_rank">
<description>
-Creates a relation between @key1 and @key2, meaning that the values of both
-keys are somehow related.
+Gets the source rank
-One example of a relation would be the one between the URI of a media
-resource and its mime-type: they are both tied together and one does not make
-sense without the other.
-
-Relations between keys allow the framework to provide all the data that is
-somehow related when any of the related keys are requested.
-
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the plugin registry
-</parameter_description>
-</parameter>
-<parameter name="key1">
-<parameter_description> key involved in relationship
-</parameter_description>
-</parameter>
-<parameter name="key2">
-<parameter_description> key involved in relationship
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> rank value
+
+</return>
</function>
-<function name="grl_plugin_registry_register_source">
+<function name="grl_source_may_resolve">
<description>
-Register a @source in the @registry with the given @plugin information
+Checks whether @key_id may be resolved with @source for @media, so that the
+caller can avoid calling grl_source_resolve() if it can be known in
+advance it will fail.
-Since: 0.1.7
+If the resolution is known to be impossible because more keys are needed in
+ media, and @missing_keys is not @NULL, it is populated with the list of
+GrlKeyID that would be needed.
+
+This function is synchronous and should not block.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="plugin">
-<parameter_description> the descriptor of the plugin which owns the source
+<parameter name="media">
+<parameter_description> a media on which we want more metadata
</parameter_description>
</parameter>
-<parameter name="source">
-<parameter_description> the source to register
+<parameter name="key_id">
+<parameter_description> the key corresponding to a metadata we might want
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
+<parameter name="missing_keys">
+<parameter_description> an optional originally empty list
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if success, %FALSE% otherwise.
+<return> @TRUE if there's a possibility that @source resolves @key_id for
+ media, @FALSE otherwise.
</return>
</function>
-<function name="grl_plugin_registry_restrict_plugins">
+<function name="grl_source_notify_change">
<description>
-Restrict the plugins that application sees to this list.
+Emits "content-changed" signal to notify subscribers that a change ocurred
+in @source.
+
+See #grl_source_notify_change_list() function.
+
+<note>
+<para>
+This function is intended to be used only by plugins.
+</para>
+</note>
-Other plugins will not be available for the application, unless it uses
-directly #grl_plugin_registry_load() function.
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="source">
+<parameter_description> a source
+</parameter_description>
+</parameter>
+<parameter name="media">
+<parameter_description> the media which has changed, or @NULL to use the root box.
+</parameter_description>
+</parameter>
+<parameter name="change_type">
+<parameter_description> the type of change
</parameter_description>
</parameter>
-<parameter name="plugins">
-<parameter_description> a @NULL-terminated array of plugins identifiers
+<parameter name="location_unknown">
+<parameter_description> if change has happened in @media or any descendant
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_plugin_registry_unload">
+<function name="grl_source_notify_change_list">
<description>
-Unload from memory a module identified by @plugin_id. This means call the
-module's deinit function.
+Emits "content-changed" signal to notify subscribers that a change ocurred
+in @source.
-Since: 0.1.7
+The function will take ownership of @changed medias and it should not be
+manipulated in any way by the caller after invoking this function. If that is
+needed, the caller must ref the array in advance.
+
+See GrlSource::content-changed signal.
+
+<note>
+<para>
+This function is intended to be used only by plugins.
+</para>
+</note>
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="plugin_id">
-<parameter_description> the identifier of the plugin
+<parameter name="changed_medias">
+<parameter_description>: the list of
+medias that have changed
</parameter_description>
</parameter>
-<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
+<parameter name="change_type">
+<parameter_description> the type of change
+</parameter_description>
+</parameter>
+<parameter name="location_unknown">
+<parameter_description> if change has happpened in @media or any descendant
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE% on success.
-
-</return>
+<return></return>
</function>
-<function name="grl_plugin_registry_unregister_source">
+<function name="grl_source_notify_change_start">
<description>
-Removes the @source from the @registry hash table
+Starts emitting ::content-changed signals when @source discovers changes in
+the content. This instructs @source to setup the machinery needed to be aware
+of changes in the content.
-Since: 0.1.7
+Since: 0.2.0
</description>
<parameters>
-<parameter name="registry">
-<parameter_description> the registry instance
-</parameter_description>
-</parameter>
<parameter name="source">
-<parameter_description> the source to unregister
+<parameter_description> a source
</parameter_description>
</parameter>
<parameter name="error">
-<parameter_description> error return location or @NULL to ignore
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if success, %FALSE% otherwise.
+<return> @TRUE if initialization has succeed.
</return>
</function>
-<function name="grl_related_keys_dup">
+<function name="grl_source_notify_change_stop">
<description>
-Makes a deep copy of @relkeys and its contents.
+This will drop emission of ::content-changed signals from @source. When this
+is done @source should stop the machinery required for it to track changes in
+the content.
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to duplicate
+<parameter name="source">
+<parameter_description> a source
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
-<return> a new #GrlRelatedKeys.
-Free it with #g_object_unref.
+<return> @TRUE if stop has succeed.
</return>
</function>
-<function name="grl_related_keys_get">
+<function name="grl_source_query">
<description>
-Get the value associated with @key from @relkeys. If it does not contain any
-value, %NULL will be returned.
+Execute a specialized query (specific for each provider) on a media
+repository.
-Since: 0.1.10
+It is different from grl_source_search() semantically, because the query
+implies a carefully crafted string, rather than a simple string to search.
+
+This method is asynchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to retrieve value
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to look up.
+<parameter name="query">
+<parameter_description> the query to process
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> the #GList of
+#GrlKeyID<!-- -->s to request
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options wanted for that operation
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the user defined callback
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the user data to pass in the callback
</parameter_description>
</parameter>
</parameters>
-<return> a #GValue. This value should not be modified nor
-freed by user.
+<return> the operation identifier
</return>
</function>
-<function name="grl_related_keys_get_binary">
+<function name="grl_source_query_sync">
<description>
-Returns the value associated with @key from @relkeys. If @key has no value,
-or value is not a binary, or @key is not in @relkeys, then 0 is returned.
+Execute a specialized query (specific for each provider) on a media
+repository.
-Since: 0.1.10
+This method is synchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to inspect
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to use
+<parameter name="query">
+<parameter_description> the query to process
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> location to store the buffer size
+<parameter name="keys">
+<parameter_description> the #GList of
+#GrlKeyID<!-- -->s to request
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options wanted for that operation
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
-<return> buffer location associated with @key, or %NULL in other case. If
-successful @size will be set to the buffer size.
+<return> a #GList with #GrlMedia
+elements. After use g_object_unref() every element and g_list_free() the
+list.
</return>
</function>
-<function name="grl_related_keys_get_boxed">
+<function name="grl_source_remove">
<description>
-Returns the value associated with @key from @relkeys. If @key has no value,
-the value is not of a boxed type, or @key is not in @relkeys, then %NULL is
-returned.
+Remove a @media from the @source repository.
+
+This method is asynchronous.
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to inspect
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to use
+<parameter name="media">
+<parameter_description> a data transfer object
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the user defined callback
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the user data to pass in the callback
</parameter_description>
</parameter>
</parameters>
-<return> the #GBoxed value associated with @key if
-possible, or %NULL in other case. The caller should not change nor free the
-value.
-</return>
+<return></return>
</function>
-<function name="grl_related_keys_get_float">
+<function name="grl_source_remove_sync">
<description>
-Returns the value associated with @key from @relkeys. If @key has no value,
-or value is not a gfloat, or @key is not in @relkeys, then 0 is returned.
+Remove a @media from the @source repository.
-Since: 0.1.10
+This method is synchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to inspect
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to use
+<parameter name="media">
+<parameter_description> a data transfer object
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
-<return> float value associated with @key, or 0 in other case.
-
-</return>
+<return></return>
</function>
-<function name="grl_related_keys_get_int">
+<function name="grl_source_resolve">
<description>
-Returns the value associated with @key from @relkeys. If @key has no value,
-or value is not a gint, or @key is not in @relkeys, then 0 is returned.
+This method is intended to fetch the requested keys of metadata of
+a given @media to the media source.
-Since: 0.1.10
+This method is asynchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to inspect
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to use
+<parameter name="media">
+<parameter_description> a data transfer object
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> the #GList of
+#GrlKeyID<!-- -->s to request
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options to pass to this operation
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the user defined callback
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the user data to pass in the callback
</parameter_description>
</parameter>
</parameters>
-<return> int value associated with @key, or 0 in other case.
+<return> the operation identifie
</return>
</function>
-<function name="grl_related_keys_get_keys">
+<function name="grl_source_resolve_sync">
<description>
-Returns a list with keys contained in @relkeys.
+This method is intended to fetch the requested keys of metadata of
+a given @media to the media source.
-Since: 0.1.13
+This method is synchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to inspect
+<parameter name="source">
+<parameter_description> a source
+</parameter_description>
+</parameter>
+<parameter name="media">
+<parameter_description> a data transfer object
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> the #GList of
+#GrlKeyID<!-- -->s to request
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options to pass to this operation
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
-<return> a list with
-the keys. The content of the list should not be modified or freed. Use
-g_list_free() when done using the list.
+<return> a filled #GrlMedia
</return>
</function>
-<function name="grl_related_keys_get_string">
+<function name="grl_source_search">
<description>
-Returns the value associated with @key from @relkeys. If @key has no value,
-or value is not string, or @key is not in @relkeys, then %NULL is returned.
+Search for the @text string in a source for data identified with that string.
-Since: 0.1.10
+If @text is @NULL then no text filter will be applied, and thus, no media
+items from @source will be filtered. If @source does not support NULL-text
+search operations it should notiy the client by setting
+ GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED in @callback's error parameter.
+
+This method is asynchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to inspect
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to use
+<parameter name="text">
+<parameter_description> the text to search
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> the #GList of
+#GrlKeyID<!-- -->s to request
+</parameter_description>
+</parameter>
+<parameter name="options">
+<parameter_description> options wanted for that operation
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the user defined callback
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the user data to pass in the callback
</parameter_description>
</parameter>
</parameters>
-<return> string associated with @key, or %NULL in other case. Caller should
-not change nor free the value.
+<return> the operation identifier
</return>
</function>
-<function name="grl_related_keys_has_key">
+<function name="grl_source_search_sync">
<description>
-Checks if @key is in @relkeys.
+Search for the @text string in a source for data identified with that string.
-Since: 0.1.10
+If @text is @NULL then no text filter will be applied, and thus, no media
+items from @source will be filtered. If @source does not support NULL-text
+search operations it should notiy the client by setting
+ GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED in the error parameter.
+
+This method is synchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to inspect
+<parameter name="source">
+<parameter_description> a source
+</parameter_description>
+</parameter>
+<parameter name="text">
+<parameter_description> the text to search
+</parameter_description>
+</parameter>
+<parameter name="keys">
+<parameter_description> the #GList of
+#GrlKeyID<!-- -->s to request
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to search
+<parameter name="options">
+<parameter_description> options wanted for that operation
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
-<return> %TRUE if @key is in @relkeys, %FALSE in other case.
+<return> a #GList with #GrlMedia
+elements. After use g_object_unref() every element and g_list_free() the
+list.
</return>
</function>
-<function name="grl_related_keys_new">
+<function name="grl_source_set_auto_split_threshold">
<description>
-Creates a new #GrlRelatedKeys instance that can be used to store related
-keys and their values.
-
-Since: 0.1.10
-
-</description>
-<parameters>
-</parameters>
-<return> a new object.
-
-</return>
-</function>
+Sets how much elements the source is able to handle in a single request.
-<function name="grl_related_keys_new_valist">
-<description>
-Creates a new #GrlRelatedKeys containing pairs of (key, value). Finish the
-list with %NULL.
+If user, during a search or browsing operation, asks for more elements than
+the threshold, the request will be automatically splitted in chunks, so up to
+ threshold elements will be asked in each request.
-In case of a binary-type key, the expected element is (key, value, size).
+Source will act as if user were asking just a chunk, and user won't notice
+that the request was chunked.
-value type will be extracted from key information.
+<note>
+<para>
+This function is intended to be used only by plugins.
+</para>
+</note>
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="key">
-<parameter_description> first key
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="args">
-<parameter_description> #va_list of value, followed by (key,value) pairs to insert
+<parameter name="threshold">
+<parameter_description> the threshold to set
</parameter_description>
</parameter>
</parameters>
-<return> a new #GrlRelatedKeys
-
-</return>
+<return></return>
</function>
-<function name="grl_related_keys_new_with_keys">
+<function name="grl_source_slow_keys">
<description>
-Creates a initial #GrlRelatedKeys containing the list of (key, value)
-pairs. Finish the list with %NULL.
-
-For more information see #grl_related_keys_new_valist.
+Similar to grl_source_supported_keys(), but these keys
+are marked as slow because of the amount of traffic/processing needed
+to fetch them.
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="key">
-<parameter_description> first key
-</parameter_description>
-</parameter>
-<parameter name="Varargs">
-<parameter_description> value, following by list of (key, value)
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return> a new #GrlRelatedKeys
+<return> a #GList with the keys
</return>
</function>
-<function name="grl_related_keys_set">
+<function name="grl_source_store">
<description>
-Sets the value associated with @key into @relkeys. Old value is freed and
-the new one is set.
+Store the @media into the @parent container
-Also, checks that @value is compliant with @key specification, modifying it
-accordingly. For instance, if @key requires a number between 0 and 10, but
-value is outside this range, it will be adapted accordingly.
+This method is asynchronous.
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to modify
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to change or add
+<parameter name="parent">
+<parameter_description> a parent to store the data transfer objects
</parameter_description>
</parameter>
-<parameter name="value">
-<parameter_description> the new value
+<parameter name="media">
+<parameter_description> a data transfer object
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags to configure specific behaviour of the operation
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the user defined callback
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the user data to pass in the callback
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_related_keys_set_binary">
+<function name="grl_source_store_metadata">
<description>
-Sets the value associated with @key into @relkeys. @key must have been
-registered as a binary-type key. Old value is replaced by the new one.
+This is the main method of the #GrlMetadataSource class. It will
+get the values for @keys from @media and store it permanently. After
+calling this method, future queries that return this media object
+shall return this new values for the selected keys.
-Since: 0.1.10
+This function is asynchronous and uses the Glib's main loop.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to change
+<parameter name="source">
+<parameter_description> a metadata source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to change or add
+<parameter name="media">
+<parameter_description> the #GrlMedia object that we want to operate on.
</parameter_description>
</parameter>
-<parameter name="buf">
-<parameter_description> buffer holding the relkeys
+<parameter name="keys">
+<parameter_description> a list
+of #GrlKeyID whose values we want to change.
</parameter_description>
</parameter>
-<parameter name="size">
-<parameter_description> size of the buffer
+<parameter name="flags">
+<parameter_description> Flags to configure specific behaviors of the operation.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> the callback to execute when the operation is finished.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data set for the @callback
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_related_keys_set_boxed">
+<function name="grl_source_store_metadata_sync">
<description>
-Sets the value associated with @key into @relkeys. @key must have been
-registered as a boxed-type key. Old value is freed and the new one is set.
+Update @keys values from @media in the @source. After calling this method,
+future queries that return this media object shall return this new value for
+the selected key.
+
+This function is synchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to modify
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to change or add
+<parameter name="media">
+<parameter_description> the #GrlMedia object that we want to operate on
</parameter_description>
</parameter>
-<parameter name="boxed">
-<parameter_description> the new value
+<parameter name="keys">
+<parameter_description> a list of
+#GrlKeyID whose values we want to change
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> Flags to configure specific behaviors of the operation.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return>
+a #GList of keys that could not be updated, or @NULL
+
+</return>
</function>
-<function name="grl_related_keys_set_float">
+<function name="grl_source_store_sync">
<description>
-Sets the value associated with @key into @relkeys. @key must have been
-registered as a float-type key. Old value is replaced by the new one.
+Store the @media into the @parent container.
-Since: 0.1.10
+This method is synchronous.
+
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to change
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> key to change or add
+<parameter name="parent">
+<parameter_description> a #GrlMediaBox to store the data transfer objects
</parameter_description>
</parameter>
-<parameter name="floatvalue">
-<parameter_description> the new value
+<parameter name="media">
+<parameter_description> a #GrlMedia data transfer object
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags to configure specific behaviour of the operation
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, or @NULL
</parameter_description>
</parameter>
</parameters>
<return></return>
</function>
-<function name="grl_related_keys_set_int">
+<function name="grl_source_supported_keys">
<description>
-Sets the value associated with @key into @relkeys. @key must have been
-registered as an int-type key. Old value is replaced by the new one.
+Get a list of #GrlKeyID, which describe a metadata types that this
+source can fetch and store.
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to change
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> key to change or add
-</parameter_description>
-</parameter>
-<parameter name="intvalue">
-<parameter_description> the new value
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a #GList with the keys
+
+</return>
</function>
-<function name="grl_related_keys_set_string">
+<function name="grl_source_supported_operations">
<description>
-Sets the value associated with @key into @relkeys. @key must have been
-registered as a strying-type key. Old value is freed and the new one is set.
+By default the derived objects of #GrlSource can only resolve.
-Since: 0.1.10
+Since: 0.2.0
</description>
<parameters>
-<parameter name="relkeys">
-<parameter_description> set of related keys to modify
-</parameter_description>
-</parameter>
-<parameter name="key">
-<parameter_description> key to change or add
-</parameter_description>
-</parameter>
-<parameter name="strvalue">
-<parameter_description> the new value
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return></return>
+<return> a bitwise mangle with the supported operations by
+the source
+
+</return>
</function>
-<function name="key_id_handler_add">
+<function name="grl_source_test_media_from_uri">
<description>
-Add a new key<->name correspondence.
+Tests whether @source can instantiate a #GrlMedia object representing
+the media resource exposed at @uri.
+Since: 0.2.0
</description>
<parameters>
-<parameter name="handler">
-<parameter_description> the handler
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
-<parameter name="key">
-<parameter_description> a specific key for system keys, or GRL_METADATA_KEY_INVALID for it to
-be assigned
+<parameter name="uri">
+<parameter_description> A URI that can be used to identify a media resource
</parameter_description>
</parameter>
-<parameter name="name">
-<parameter_description> the name of the key.
+</parameters>
+<return> %TRUE if it can, %FALSE otherwise.
+
+This method is synchronous.
+
+</return>
+</function>
+
+<function name="grl_source_writable_keys">
+<description>
+Similar to grl_source_supported_keys(), but these keys
+are marked as writable, meaning the source allows the client
+to provide new values for these keys that will be stored permanently.
+
+Since: 0.2.0
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a source
</parameter_description>
</parameter>
</parameters>
-<return> the new key number, or GRL_METADATA_KEY_INVALID if the key could
-not be created (typically if @key or @name is already registered).
+<return>
+a #GList with the keys
+
</return>
</function>
diff --git a/grilo/src/grilo_enum.defs b/grilo/src/grilo_enum.defs
index 5eccb14..089f8a8 100644
--- a/grilo/src/grilo_enum.defs
+++ b/grilo/src/grilo_enum.defs
@@ -29,12 +29,11 @@
;; GRL_CORE_ERROR_SEARCH_FAILED,
;; GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED,
;; GRL_CORE_ERROR_QUERY_FAILED,
-;; GRL_CORE_ERROR_METADATA_FAILED,
;; GRL_CORE_ERROR_RESOLVE_FAILED,
;; GRL_CORE_ERROR_MEDIA_NOT_FOUND,
;; GRL_CORE_ERROR_STORE_FAILED,
+;; GRL_CORE_ERROR_STORE_METADATA_FAILED,
;; GRL_CORE_ERROR_REMOVE_FAILED,
-;; GRL_CORE_ERROR_SET_METADATA_FAILED,
;; GRL_CORE_ERROR_MEDIA_FROM_URI_FAILED,
;; GRL_CORE_ERROR_CONFIG_LOAD_FAILED,
;; GRL_CORE_ERROR_CONFIG_FAILED,
@@ -54,21 +53,20 @@
'("search-failed" "GRL_CORE_ERROR_SEARCH_FAILED" "2")
'("search-null-unsupported" "GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED" "3")
'("query-failed" "GRL_CORE_ERROR_QUERY_FAILED" "4")
- '("metadata-failed" "GRL_CORE_ERROR_METADATA_FAILED" "5")
- '("resolve-failed" "GRL_CORE_ERROR_RESOLVE_FAILED" "6")
- '("media-not-found" "GRL_CORE_ERROR_MEDIA_NOT_FOUND" "7")
- '("store-failed" "GRL_CORE_ERROR_STORE_FAILED" "8")
+ '("resolve-failed" "GRL_CORE_ERROR_RESOLVE_FAILED" "5")
+ '("media-not-found" "GRL_CORE_ERROR_MEDIA_NOT_FOUND" "6")
+ '("store-failed" "GRL_CORE_ERROR_STORE_FAILED" "7")
+ '("store-metadata-failed" "GRL_CORE_ERROR_STORE_METADATA_FAILED" "8")
'("remove-failed" "GRL_CORE_ERROR_REMOVE_FAILED" "9")
- '("set-metadata-failed" "GRL_CORE_ERROR_SET_METADATA_FAILED" "10")
- '("media-from-uri-failed" "GRL_CORE_ERROR_MEDIA_FROM_URI_FAILED" "11")
- '("config-load-failed" "GRL_CORE_ERROR_CONFIG_LOAD_FAILED" "12")
- '("config-failed" "GRL_CORE_ERROR_CONFIG_FAILED" "13")
- '("unregister-source-failed" "GRL_CORE_ERROR_UNREGISTER_SOURCE_FAILED" "14")
- '("load-plugin-failed" "GRL_CORE_ERROR_LOAD_PLUGIN_FAILED" "15")
- '("unload-plugin-failed" "GRL_CORE_ERROR_UNLOAD_PLUGIN_FAILED" "16")
- '("register-metadata-key-failed" "GRL_CORE_ERROR_REGISTER_METADATA_KEY_FAILED" "17")
- '("notify-changed-failed" "GRL_CORE_ERROR_NOTIFY_CHANGED_FAILED" "18")
- '("operation-cancelled" "GRL_CORE_ERROR_OPERATION_CANCELLED" "19")
+ '("media-from-uri-failed" "GRL_CORE_ERROR_MEDIA_FROM_URI_FAILED" "10")
+ '("config-load-failed" "GRL_CORE_ERROR_CONFIG_LOAD_FAILED" "11")
+ '("config-failed" "GRL_CORE_ERROR_CONFIG_FAILED" "12")
+ '("unregister-source-failed" "GRL_CORE_ERROR_UNREGISTER_SOURCE_FAILED" "13")
+ '("load-plugin-failed" "GRL_CORE_ERROR_LOAD_PLUGIN_FAILED" "14")
+ '("unload-plugin-failed" "GRL_CORE_ERROR_UNLOAD_PLUGIN_FAILED" "15")
+ '("register-metadata-key-failed" "GRL_CORE_ERROR_REGISTER_METADATA_KEY_FAILED" "16")
+ '("notify-changed-failed" "GRL_CORE_ERROR_NOTIFY_CHANGED_FAILED" "17")
+ '("operation-cancelled" "GRL_CORE_ERROR_OPERATION_CANCELLED" "18")
)
)
@@ -100,75 +98,80 @@
)
)
-;; From grl-media.h
+;; From grl-operation-options.h
;; Original typedef:
;; typedef enum {
-;; GRL_MEDIA_SERIALIZE_BASIC,
-;; GRL_MEDIA_SERIALIZE_PARTIAL,
-;; GRL_MEDIA_SERIALIZE_FULL
-;; } GrlMediaSerializeType;
+;; GRL_RESOLVE_NORMAL = 0, /* Normal mode */
+;; GRL_RESOLVE_FULL = (1 << 0), /* Try other plugins if necessary */
+;; GRL_RESOLVE_IDLE_RELAY = (1 << 1), /* Use idle loop to relay results */
+;; GRL_RESOLVE_FAST_ONLY = (1 << 2) /* Only resolve fast metadata keys */
+;; } GrlResolutionFlags;
-(define-enum-extended MediaSerializeType
+(define-flags-extended ResolutionFlags
(in-module "Grl")
- (c-name "GrlMediaSerializeType")
+ (c-name "GrlResolutionFlags")
(values
- '("basic" "GRL_MEDIA_SERIALIZE_BASIC" "0")
- '("partial" "GRL_MEDIA_SERIALIZE_PARTIAL" "1")
- '("full" "GRL_MEDIA_SERIALIZE_FULL" "2")
+ '("normal" "GRL_RESOLVE_NORMAL" "0x0")
+ '("full" "GRL_RESOLVE_FULL" "(1 << 0)")
+ '("idle-relay" "GRL_RESOLVE_IDLE_RELAY" "(1 << 1)")
+ '("fast-only" "GRL_RESOLVE_FAST_ONLY" "(1 << 2)")
)
)
-;; From grl-media-source.h
-
;; Original typedef:
;; typedef enum {
-;; GRL_CONTENT_CHANGED,
-;; GRL_CONTENT_ADDED,
-;; GRL_CONTENT_REMOVED
-;; } GrlMediaSourceChangeType;
+;; GRL_WRITE_NORMAL = 0, /* Normal mode */
+;; GRL_WRITE_FULL = (1 << 0) /* Try other plugins if necessary */
+;; } GrlWriteFlags;
-(define-enum-extended MediaSourceChangeType
+(define-flags-extended WriteFlags
(in-module "Grl")
- (c-name "GrlMediaSourceChangeType")
+ (c-name "GrlWriteFlags")
(values
- '("changed" "GRL_CONTENT_CHANGED" "0")
- '("added" "GRL_CONTENT_ADDED" "1")
- '("removed" "GRL_CONTENT_REMOVED" "2")
+ '("normal" "GRL_WRITE_NORMAL" "0x0")
+ '("full" "GRL_WRITE_FULL" "(1 << 0)")
)
)
-;; From grl-metadata-source.h
+;; From grl-registry.h
;; Original typedef:
;; typedef enum {
-;; GRL_WRITE_NORMAL = 0, /* Normal mode */
-;; GRL_WRITE_FULL = (1 << 0) /* Try other plugins if necessary */
-;; } GrlMetadataWritingFlags;
-
-(define-flags-extended MetadataWritingFlags
+;; GRL_RANK_LOWEST = -64,
+;; GRL_RANK_LOW = -32,
+;; GRL_RANK_DEFAULT = 0,
+;; GRL_RANK_HIGH = 32,
+;; GRL_RANK_HIGHEST = 64
+;; } GrlRank;
+
+(define-enum-extended Rank
(in-module "Grl")
- (c-name "GrlMetadataWritingFlags")
+ (c-name "GrlRank")
(values
- '("normal" "GRL_WRITE_NORMAL" "0x0")
- '("full" "GRL_WRITE_FULL" "(1 << 0)")
+ '("lowest" "GRL_RANK_LOWEST" "-64")
+ '("low" "GRL_RANK_LOW" "-32")
+ '("default" "GRL_RANK_DEFAULT" "0")
+ '("high" "GRL_RANK_HIGH" "32")
+ '("highest" "GRL_RANK_HIGHEST" "64")
)
)
+;; From grl-source.h
+
;; Original typedef:
;; typedef enum {
;; GRL_OP_NONE = 0,
-;; GRL_OP_METADATA = 1,
-;; GRL_OP_RESOLVE = 1 << 1,
-;; GRL_OP_BROWSE = 1 << 2,
-;; GRL_OP_SEARCH = 1 << 3,
-;; GRL_OP_QUERY = 1 << 4,
-;; GRL_OP_STORE = 1 << 5,
-;; GRL_OP_STORE_PARENT = 1 << 6,
+;; GRL_OP_RESOLVE = 1,
+;; GRL_OP_BROWSE = 1 << 1,
+;; GRL_OP_SEARCH = 1 << 2,
+;; GRL_OP_QUERY = 1 << 3,
+;; GRL_OP_STORE = 1 << 4,
+;; GRL_OP_STORE_PARENT = 1 << 5,
+;; GRL_OP_STORE_METADATA = 1 << 6,
;; GRL_OP_REMOVE = 1 << 7,
-;; GRL_OP_SET_METADATA = 1 << 8,
-;; GRL_OP_MEDIA_FROM_URI = 1 << 9,
-;; GRL_OP_NOTIFY_CHANGE = 1 << 10
+;; GRL_OP_MEDIA_FROM_URI = 1 << 8,
+;; GRL_OP_NOTIFY_CHANGE = 1 << 9
;; } GrlSupportedOps;
(define-flags-extended SupportedOps
@@ -176,61 +179,33 @@
(c-name "GrlSupportedOps")
(values
'("none" "GRL_OP_NONE" "0x0")
- '("metadata" "GRL_OP_METADATA" "0x1")
- '("resolve" "GRL_OP_RESOLVE" "1 << 1")
- '("browse" "GRL_OP_BROWSE" "1 << 2")
- '("search" "GRL_OP_SEARCH" "1 << 3")
- '("query" "GRL_OP_QUERY" "1 << 4")
- '("store" "GRL_OP_STORE" "1 << 5")
- '("store-parent" "GRL_OP_STORE_PARENT" "1 << 6")
+ '("resolve" "GRL_OP_RESOLVE" "0x1")
+ '("browse" "GRL_OP_BROWSE" "1 << 1")
+ '("search" "GRL_OP_SEARCH" "1 << 2")
+ '("query" "GRL_OP_QUERY" "1 << 3")
+ '("store" "GRL_OP_STORE" "1 << 4")
+ '("store-parent" "GRL_OP_STORE_PARENT" "1 << 5")
+ '("store-metadata" "GRL_OP_STORE_METADATA" "1 << 6")
'("remove" "GRL_OP_REMOVE" "1 << 7")
- '("set-metadata" "GRL_OP_SET_METADATA" "1 << 8")
- '("media-from-uri" "GRL_OP_MEDIA_FROM_URI" "1 << 9")
- '("notify-change" "GRL_OP_NOTIFY_CHANGE" "1 << 10")
+ '("media-from-uri" "GRL_OP_MEDIA_FROM_URI" "1 << 8")
+ '("notify-change" "GRL_OP_NOTIFY_CHANGE" "1 << 9")
)
)
-;; From grl-operation-options.h
-
;; Original typedef:
;; typedef enum {
-;; GRL_RESOLVE_NORMAL = 0, /* Normal mode */
-;; GRL_RESOLVE_FULL = (1 << 0), /* Try other plugins if necessary */
-;; GRL_RESOLVE_IDLE_RELAY = (1 << 1), /* Use idle loop to relay results */
-;; GRL_RESOLVE_FAST_ONLY = (1 << 2) /* Only resolve fast metadata keys */
-;; } GrlMetadataResolutionFlags;
-
-(define-flags-extended MetadataResolutionFlags
- (in-module "Grl")
- (c-name "GrlMetadataResolutionFlags")
- (values
- '("normal" "GRL_RESOLVE_NORMAL" "0x0")
- '("full" "GRL_RESOLVE_FULL" "(1 << 0)")
- '("idle-relay" "GRL_RESOLVE_IDLE_RELAY" "(1 << 1)")
- '("fast-only" "GRL_RESOLVE_FAST_ONLY" "(1 << 2)")
- )
-)
-
-;; From grl-plugin-registry.h
+;; GRL_CONTENT_CHANGED,
+;; GRL_CONTENT_ADDED,
+;; GRL_CONTENT_REMOVED
+;; } GrlSourceChangeType;
-;; Original typedef:
-;; typedef enum {
-;; GRL_PLUGIN_RANK_LOWEST = -64,
-;; GRL_PLUGIN_RANK_LOW = -32,
-;; GRL_PLUGIN_RANK_DEFAULT = 0,
-;; GRL_PLUGIN_RANK_HIGH = 32,
-;; GRL_PLUGIN_RANK_HIGHEST = 64
-;; } GrlPluginRank;
-
-(define-enum-extended PluginRank
+(define-enum-extended SourceChangeType
(in-module "Grl")
- (c-name "GrlPluginRank")
+ (c-name "GrlSourceChangeType")
(values
- '("lowest" "GRL_PLUGIN_RANK_LOWEST" "-64")
- '("low" "GRL_PLUGIN_RANK_LOW" "-32")
- '("default" "GRL_PLUGIN_RANK_DEFAULT" "0")
- '("high" "GRL_PLUGIN_RANK_HIGH" "32")
- '("highest" "GRL_PLUGIN_RANK_HIGHEST" "64")
+ '("changed" "GRL_CONTENT_CHANGED" "0")
+ '("added" "GRL_CONTENT_ADDED" "1")
+ '("removed" "GRL_CONTENT_REMOVED" "2")
)
)
diff --git a/grilo/src/grilo_extra.defs b/grilo/src/grilo_extra.defs
index c26a4b2..e69de29 100644
--- a/grilo/src/grilo_extra.defs
+++ b/grilo/src/grilo_extra.defs
@@ -1,20 +0,0 @@
-;; From GrlPluginRegistry
-
-(define-signal source-added
- (of-object "GrlPluginRegistry")
- (return-type "void")
- (when "first")
- (parameters
- '("GrlMediaPlugin*" "p0")
- )
-)
-
-(define-signal source-removed
- (of-object "GrlPluginRegistry")
- (return-type "void")
- (when "first")
- (parameters
- '("GrlMediaPlugin*" "p0")
- )
-)
-
diff --git a/grilo/src/grilo_method.defs b/grilo/src/grilo_method.defs
index f1c6c2c..500bdee 100644
--- a/grilo/src/grilo_method.defs
+++ b/grilo/src/grilo_method.defs
@@ -7,95 +7,32 @@
(gtype-id "GRL_TYPE_CAPS")
)
-(define-object Config
- (in-module "Grl")
- (parent "GObject")
- (c-name "GrlConfig")
- (gtype-id "GRL_TYPE_CONFIG")
-)
-
-(define-object Data
- (in-module "Grl")
- (parent "GObject")
- (c-name "GrlData")
- (gtype-id "GRL_TYPE_DATA")
-)
-
-(define-object Media
- (in-module "Grl")
- (parent "GrlData")
- (c-name "GrlMedia")
- (gtype-id "GRL_TYPE_MEDIA")
-)
-
-(define-object MediaAudio
- (in-module "Grl")
- (parent "GrlMedia")
- (c-name "GrlMediaAudio")
- (gtype-id "GRL_TYPE_MEDIA_AUDIO")
-)
-
-(define-object MediaBox
- (in-module "Grl")
- (parent "GrlMedia")
- (c-name "GrlMediaBox")
- (gtype-id "GRL_TYPE_MEDIA_BOX")
-)
-
-(define-object MediaImage
- (in-module "Grl")
- (parent "GrlMedia")
- (c-name "GrlMediaImage")
- (gtype-id "GRL_TYPE_MEDIA_IMAGE")
-)
-
-(define-object MediaPlugin
+(define-object OperationOptions
(in-module "Grl")
(parent "GObject")
- (c-name "GrlMediaPlugin")
- (gtype-id "GRL_TYPE_MEDIA_PLUGIN")
-)
-
-(define-object MediaVideo
- (in-module "Grl")
- (parent "GrlMedia")
- (c-name "GrlMediaVideo")
- (gtype-id "GRL_TYPE_MEDIA_VIDEO")
-)
-
-(define-object MetadataSource
- (in-module "Grl")
- (parent "GrlMediaPlugin")
- (c-name "GrlMetadataSource")
- (gtype-id "GRL_TYPE_METADATA_SOURCE")
-)
-
-(define-object MediaSource
- (in-module "Grl")
- (parent "GrlMetadataSource")
- (c-name "GrlMediaSource")
- (gtype-id "GRL_TYPE_MEDIA_SOURCE")
+ (c-name "GrlOperationOptions")
+ (gtype-id "GRL_TYPE_OPERATION_OPTIONS")
)
-(define-object OperationOptions
+(define-object Plugin
(in-module "Grl")
(parent "GObject")
- (c-name "GrlOperationOptions")
- (gtype-id "GRL_TYPE_OPERATION_OPTIONS")
+ (c-name "GrlPlugin")
+ (gtype-id "GRL_TYPE_PLUGIN")
)
-(define-object PluginRegistry
+(define-object Registry
(in-module "Grl")
(parent "GObject")
- (c-name "GrlPluginRegistry")
- (gtype-id "GRL_TYPE_PLUGIN_REGISTRY")
+ (c-name "GrlRegistry")
+ (gtype-id "GRL_TYPE_REGISTRY")
)
-(define-object RelatedKeys
+(define-object Source
(in-module "Grl")
(parent "GObject")
- (c-name "GrlRelatedKeys")
- (gtype-id "GRL_TYPE_RELATED_KEYS")
+ (c-name "GrlSource")
+ (gtype-id "GRL_TYPE_SOURCE")
)
;; Enumerations and flags ...
@@ -122,12 +59,11 @@
'("search-failed" "GRL_CORE_ERROR_SEARCH_FAILED")
'("search-null-unsupported" "GRL_CORE_ERROR_SEARCH_NULL_UNSUPPORTED")
'("query-failed" "GRL_CORE_ERROR_QUERY_FAILED")
- '("metadata-failed" "GRL_CORE_ERROR_METADATA_FAILED")
'("resolve-failed" "GRL_CORE_ERROR_RESOLVE_FAILED")
'("media-not-found" "GRL_CORE_ERROR_MEDIA_NOT_FOUND")
'("store-failed" "GRL_CORE_ERROR_STORE_FAILED")
+ '("store-metadata-failed" "GRL_CORE_ERROR_STORE_METADATA_FAILED")
'("remove-failed" "GRL_CORE_ERROR_REMOVE_FAILED")
- '("set-metadata-failed" "GRL_CORE_ERROR_SET_METADATA_FAILED")
'("media-from-uri-failed" "GRL_CORE_ERROR_MEDIA_FROM_URI_FAILED")
'("config-load-failed" "GRL_CORE_ERROR_CONFIG_LOAD_FAILED")
'("config-failed" "GRL_CORE_ERROR_CONFIG_FAILED")
@@ -155,35 +91,38 @@
)
)
-(define-enum MediaSerializeType
+(define-flags ResolutionFlags
(in-module "Grl")
- (c-name "GrlMediaSerializeType")
- (gtype-id "GRL_TYPE_MEDIA_SERIALIZE_TYPE")
+ (c-name "GrlResolutionFlags")
+ (gtype-id "GRL_TYPE_RESOLUTION_FLAGS")
(values
- '("basic" "GRL_MEDIA_SERIALIZE_BASIC")
- '("partial" "GRL_MEDIA_SERIALIZE_PARTIAL")
- '("full" "GRL_MEDIA_SERIALIZE_FULL")
+ '("normal" "GRL_RESOLVE_NORMAL")
+ '("full" "GRL_RESOLVE_FULL")
+ '("idle-relay" "GRL_RESOLVE_IDLE_RELAY")
+ '("fast-only" "GRL_RESOLVE_FAST_ONLY")
)
)
-(define-enum MediaSourceChangeType
+(define-flags WriteFlags
(in-module "Grl")
- (c-name "GrlMediaSourceChangeType")
- (gtype-id "GRL_TYPE_MEDIA_SOURCE_CHANGE_TYPE")
+ (c-name "GrlWriteFlags")
+ (gtype-id "GRL_TYPE_WRITE_FLAGS")
(values
- '("changed" "GRL_CONTENT_CHANGED")
- '("added" "GRL_CONTENT_ADDED")
- '("removed" "GRL_CONTENT_REMOVED")
+ '("normal" "GRL_WRITE_NORMAL")
+ '("full" "GRL_WRITE_FULL")
)
)
-(define-flags MetadataWritingFlags
+(define-enum Rank
(in-module "Grl")
- (c-name "GrlMetadataWritingFlags")
- (gtype-id "GRL_TYPE_METADATA_WRITING_FLAGS")
+ (c-name "GrlRank")
+ (gtype-id "GRL_TYPE_RANK")
(values
- '("normal" "GRL_WRITE_NORMAL")
- '("full" "GRL_WRITE_FULL")
+ '("lowest" "GRL_RANK_LOWEST")
+ '("low" "GRL_RANK_LOW")
+ '("default" "GRL_RANK_DEFAULT")
+ '("high" "GRL_RANK_HIGH")
+ '("highest" "GRL_RANK_HIGHEST")
)
)
@@ -193,44 +132,33 @@
(gtype-id "GRL_TYPE_SUPPORTED_OPS")
(values
'("none" "GRL_OP_NONE")
- '("metadata" "GRL_OP_METADATA")
'("resolve" "GRL_OP_RESOLVE")
'("browse" "GRL_OP_BROWSE")
'("search" "GRL_OP_SEARCH")
'("query" "GRL_OP_QUERY")
'("store" "GRL_OP_STORE")
'("store-parent" "GRL_OP_STORE_PARENT")
+ '("store-metadata" "GRL_OP_STORE_METADATA")
'("remove" "GRL_OP_REMOVE")
- '("set-metadata" "GRL_OP_SET_METADATA")
'("media-from-uri" "GRL_OP_MEDIA_FROM_URI")
'("notify-change" "GRL_OP_NOTIFY_CHANGE")
)
)
-(define-flags MetadataResolutionFlags
+(define-enum SourceChangeType
(in-module "Grl")
- (c-name "GrlMetadataResolutionFlags")
- (gtype-id "GRL_TYPE_METADATA_RESOLUTION_FLAGS")
+ (c-name "GrlSourceChangeType")
+ (gtype-id "GRL_TYPE_SOURCE_CHANGE_TYPE")
(values
- '("normal" "GRL_RESOLVE_NORMAL")
- '("full" "GRL_RESOLVE_FULL")
- '("idle-relay" "GRL_RESOLVE_IDLE_RELAY")
- '("fast-only" "GRL_RESOLVE_FAST_ONLY")
+ '("changed" "GRL_CONTENT_CHANGED")
+ '("added" "GRL_CONTENT_ADDED")
+ '("removed" "GRL_CONTENT_REMOVED")
)
)
-(define-enum PluginRank
- (in-module "Grl")
- (c-name "GrlPluginRank")
- (gtype-id "GRL_TYPE_PLUGIN_RANK")
- (values
- '("lowest" "GRL_PLUGIN_RANK_LOWEST")
- '("low" "GRL_PLUGIN_RANK_LOW")
- '("default" "GRL_PLUGIN_RANK_DEFAULT")
- '("high" "GRL_PLUGIN_RANK_HIGH")
- '("highest" "GRL_PLUGIN_RANK_HIGHEST")
- )
-)
+
+;; From config.h
+
;; From grilo.h
@@ -339,2460 +267,644 @@
-;; From grl-config.h
+;; From grl-definitions.h
-(define-method set_plugin
- (of-object "GrlConfig")
- (c-name "grl_config_set_plugin")
- (return-type "none")
- (parameters
- '("const-gchar*" "plugin")
- )
-)
-(define-method set_source
- (of-object "GrlConfig")
- (c-name "grl_config_set_source")
+
+;; From grl-error.h
+
+
+
+;; From grl-log.h
+
+(define-method free
+ (of-object "GrlLogDomain")
+ (c-name "grl_log_domain_free")
(return-type "none")
- (parameters
- '("const-gchar*" "source")
- )
)
-(define-method set_api_key
- (of-object "GrlConfig")
- (c-name "grl_config_set_api_key")
+(define-function grl_log_configure
+ (c-name "grl_log_configure")
(return-type "none")
(parameters
- '("const-gchar*" "key")
+ '("const-gchar*" "config")
)
)
-(define-method set_api_key_blob
- (of-object "GrlConfig")
- (c-name "grl_config_set_api_key_blob")
+(define-function grl_log
+ (c-name "grl_log")
(return-type "none")
(parameters
- '("const-guint8*" "blob")
- '("gsize" "size")
+ '("GrlLogDomain*" "domain")
+ '("GrlLogLevel" "level")
+ '("const-gchar*" "strloc")
+ '("const-gchar*" "format")
)
+ (varargs #t)
)
-(define-method set_api_token
- (of-object "GrlConfig")
- (c-name "grl_config_set_api_token")
- (return-type "none")
+
+
+;; From grl-log-priv.h
+
+
+
+;; From grl-marshal.h
+
+
+
+;; From grl-metadata-key.h
+
+(define-function grl_metadata_key_get_name
+ (c-name "grl_metadata_key_get_name")
+ (return-type "const-gchar*")
(parameters
- '("const-gchar*" "token")
+ '("GrlKeyID" "key")
)
)
-(define-method set_api_secret
- (of-object "GrlConfig")
- (c-name "grl_config_set_api_secret")
- (return-type "none")
+(define-function grl_metadata_key_get_desc
+ (c-name "grl_metadata_key_get_desc")
+ (return-type "const-gchar*")
(parameters
- '("const-gchar*" "secret")
+ '("GrlKeyID" "key")
)
)
-(define-method set_username
- (of-object "GrlConfig")
- (c-name "grl_config_set_username")
- (return-type "none")
+(define-function grl_metadata_key_get_type
+ (c-name "grl_metadata_key_get_type")
+ (return-type "GType")
(parameters
- '("const-gchar*" "username")
+ '("GrlKeyID" "key")
)
)
-(define-method set_password
- (of-object "GrlConfig")
- (c-name "grl_config_set_password")
- (return-type "none")
+(define-function grl_metadata_key_list_new
+ (c-name "grl_metadata_key_list_new")
+ (is-constructor-of "GrlMetadataKeyList")
+ (return-type "GList*")
(parameters
- '("const-gchar*" "password")
+ '("GrlKeyID" "first_key")
)
+ (varargs #t)
)
-(define-method get_plugin
- (of-object "GrlConfig")
- (c-name "grl_config_get_plugin")
- (return-type "gchar*")
-)
-(define-method get_source
- (of-object "GrlConfig")
- (c-name "grl_config_get_source")
- (return-type "gchar*")
-)
-(define-method get_api_key
- (of-object "GrlConfig")
- (c-name "grl_config_get_api_key")
- (return-type "gchar*")
-)
+;; From grl-metadata-key-priv.h
-(define-method get_api_key_blob
- (of-object "GrlConfig")
- (c-name "grl_config_get_api_key_blob")
- (return-type "guint8*")
+(define-function grl_metadata_key_setup_system_keys
+ (c-name "grl_metadata_key_setup_system_keys")
+ (return-type "none")
(parameters
- '("gsize*" "size")
+ '("GrlRegistry*" "registry")
)
)
-(define-method get_api_token
- (of-object "GrlConfig")
- (c-name "grl_config_get_api_token")
- (return-type "gchar*")
-)
-(define-method get_api_secret
- (of-object "GrlConfig")
- (c-name "grl_config_get_api_secret")
- (return-type "gchar*")
-)
-(define-method get_username
- (of-object "GrlConfig")
- (c-name "grl_config_get_username")
- (return-type "gchar*")
-)
+;; From grl-metadata-source-priv.h
-(define-method get_password
- (of-object "GrlConfig")
- (c-name "grl_config_get_password")
- (return-type "gchar*")
-)
-(define-function grl_config_get_type
- (c-name "grl_config_get_type")
- (return-type "GType")
-)
-(define-function grl_config_new
- (c-name "grl_config_new")
- (is-constructor-of "GrlConfig")
- (return-type "GrlConfig*")
+;; From grl-multiple.h
+
+(define-function grl_multiple_search
+ (c-name "grl_multiple_search")
+ (return-type "guint")
(parameters
- '("const-gchar*" "plugin")
- '("const-gchar*" "source")
+ '("const-GList*" "sources")
+ '("const-gchar*" "text")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GrlSourceResultCb" "callback")
+ '("gpointer" "user_data")
)
)
-(define-method set
- (of-object "GrlConfig")
- (c-name "grl_config_set")
- (return-type "none")
+(define-function grl_multiple_search_sync
+ (c-name "grl_multiple_search_sync")
+ (return-type "GList*")
(parameters
- '("const-gchar*" "param")
- '("const-GValue*" "value")
+ '("const-GList*" "sources")
+ '("const-gchar*" "text")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GError**" "error")
)
)
-(define-method set_string
- (of-object "GrlConfig")
- (c-name "grl_config_set_string")
+(define-function grl_multiple_get_media_from_uri
+ (c-name "grl_multiple_get_media_from_uri")
(return-type "none")
(parameters
- '("const-gchar*" "param")
- '("const-gchar*" "value")
+ '("const-gchar*" "uri")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GrlSourceResolveCb" "callback")
+ '("gpointer" "user_data")
)
)
-(define-method set_int
- (of-object "GrlConfig")
- (c-name "grl_config_set_int")
+
+
+;; From grl-operation.h
+
+(define-function grl_operation_cancel
+ (c-name "grl_operation_cancel")
(return-type "none")
(parameters
- '("const-gchar*" "param")
- '("gint" "value")
+ '("guint" "operation_id")
)
)
-(define-method set_float
- (of-object "GrlConfig")
- (c-name "grl_config_set_float")
- (return-type "none")
+(define-function grl_operation_get_data
+ (c-name "grl_operation_get_data")
+ (return-type "gpointer")
(parameters
- '("const-gchar*" "param")
- '("gfloat" "value")
+ '("guint" "operation_id")
)
)
-(define-method set_boolean
- (of-object "GrlConfig")
- (c-name "grl_config_set_boolean")
+(define-function grl_operation_set_data
+ (c-name "grl_operation_set_data")
(return-type "none")
(parameters
- '("const-gchar*" "param")
- '("gboolean" "value")
+ '("guint" "operation_id")
+ '("gpointer" "user_data")
)
)
-(define-method set_binary
- (of-object "GrlConfig")
- (c-name "grl_config_set_binary")
- (return-type "none")
- (parameters
- '("const-gchar*" "param")
- '("const-guint8*" "blob")
- '("gsize" "size")
- )
+
+
+;; From grl-operation-options.h
+
+(define-function grl_operation_options_get_type
+ (c-name "grl_operation_options_get_type")
+ (return-type "GType")
)
-(define-method get_string
- (of-object "GrlConfig")
- (c-name "grl_config_get_string")
- (return-type "gchar*")
+(define-function grl_operation_options_new
+ (c-name "grl_operation_options_new")
+ (is-constructor-of "GrlOperationOptions")
+ (return-type "GrlOperationOptions*")
(parameters
- '("const-gchar*" "param")
+ '("GrlCaps*" "caps")
)
)
-(define-method get_int
- (of-object "GrlConfig")
- (c-name "grl_config_get_int")
- (return-type "gint")
+(define-method obey_caps
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_obey_caps")
+ (return-type "gboolean")
(parameters
- '("const-gchar*" "param")
+ '("GrlCaps*" "caps")
+ '("GrlOperationOptions**" "supported_options")
+ '("GrlOperationOptions**" "unsupported_options")
)
)
-(define-method get_float
- (of-object "GrlConfig")
- (c-name "grl_config_get_float")
- (return-type "gfloat")
- (parameters
- '("const-gchar*" "param")
- )
+(define-method copy
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_copy")
+ (return-type "GrlOperationOptions*")
)
-(define-method get_boolean
- (of-object "GrlConfig")
- (c-name "grl_config_get_boolean")
+(define-method set_skip
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_set_skip")
(return-type "gboolean")
(parameters
- '("const-gchar*" "param")
+ '("guint" "skip")
)
)
-(define-method get_binary
- (of-object "GrlConfig")
- (c-name "grl_config_get_binary")
- (return-type "guint8*")
- (parameters
- '("const-gchar*" "param")
- '("gsize*" "size")
- )
+(define-method get_skip
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_get_skip")
+ (return-type "guint")
)
-(define-method has_param
- (of-object "GrlConfig")
- (c-name "grl_config_has_param")
+(define-method set_count
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_set_count")
(return-type "gboolean")
(parameters
- '("const-gchar*" "param")
+ '("gint" "count")
)
)
+(define-method get_count
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_get_count")
+ (return-type "gint")
+)
-
-;; From grl-data.h
-
-(define-function grl_data_get_type
- (c-name "grl_data_get_type")
- (return-type "GType")
+(define-method set_flags
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_set_flags")
+ (return-type "gboolean")
+ (parameters
+ '("GrlResolutionFlags" "flags")
+ )
)
-(define-function grl_data_new
- (c-name "grl_data_new")
- (is-constructor-of "GrlData")
- (return-type "GrlData*")
+(define-method get_flags
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_get_flags")
+ (return-type "GrlResolutionFlags")
)
-(define-method set
- (of-object "GrlData")
- (c-name "grl_data_set")
- (return-type "none")
+(define-method set_type_filter
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_set_type_filter")
+ (return-type "gboolean")
(parameters
- '("GrlKeyID" "key")
- '("const-GValue*" "value")
+ '("GrlTypeFilter" "filter")
)
)
-(define-method set_string
- (of-object "GrlData")
- (c-name "grl_data_set_string")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("const-gchar*" "strvalue")
- )
+(define-method get_type_filter
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_get_type_filter")
+ (return-type "GrlTypeFilter")
)
-(define-method set_int
- (of-object "GrlData")
- (c-name "grl_data_set_int")
- (return-type "none")
+(define-method set_key_filter_value
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_set_key_filter_value")
+ (return-type "gboolean")
(parameters
'("GrlKeyID" "key")
- '("gint" "intvalue")
+ '("GValue*" "value")
)
)
-(define-method set_float
- (of-object "GrlData")
- (c-name "grl_data_set_float")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("gfloat" "floatvalue")
- )
-)
-
-(define-method set_binary
- (of-object "GrlData")
- (c-name "grl_data_set_binary")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("const-guint8*" "buf")
- '("gsize" "size")
- )
-)
-
-(define-method set_boxed
- (of-object "GrlData")
- (c-name "grl_data_set_boxed")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("gconstpointer" "boxed")
- )
-)
-
-(define-method get
- (of-object "GrlData")
- (c-name "grl_data_get")
- (return-type "const-GValue*")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method get_string
- (of-object "GrlData")
- (c-name "grl_data_get_string")
- (return-type "const-gchar*")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method get_int
- (of-object "GrlData")
- (c-name "grl_data_get_int")
- (return-type "gint")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method get_float
- (of-object "GrlData")
- (c-name "grl_data_get_float")
- (return-type "gfloat")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method get_binary
- (of-object "GrlData")
- (c-name "grl_data_get_binary")
- (return-type "const-guint8*")
- (parameters
- '("GrlKeyID" "key")
- '("gsize*" "size")
- )
-)
-
-(define-method get_boxed
- (of-object "GrlData")
- (c-name "grl_data_get_boxed")
- (return-type "gpointer")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method remove
- (of-object "GrlData")
- (c-name "grl_data_remove")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method has_key
- (of-object "GrlData")
- (c-name "grl_data_has_key")
- (return-type "gboolean")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method get_keys
- (of-object "GrlData")
- (c-name "grl_data_get_keys")
- (return-type "GList*")
-)
-
-(define-method add_related_keys
- (of-object "GrlData")
- (c-name "grl_data_add_related_keys")
- (return-type "none")
- (parameters
- '("GrlRelatedKeys*" "relkeys")
- )
-)
-
-(define-method add_string
- (of-object "GrlData")
- (c-name "grl_data_add_string")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("const-gchar*" "strvalue")
- )
-)
-
-(define-method add_int
- (of-object "GrlData")
- (c-name "grl_data_add_int")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("gint" "intvalue")
- )
-)
-
-(define-method add_float
- (of-object "GrlData")
- (c-name "grl_data_add_float")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("gfloat" "floatvalue")
- )
-)
-
-(define-method add_binary
- (of-object "GrlData")
- (c-name "grl_data_add_binary")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("const-guint8*" "buf")
- '("gsize" "size")
- )
-)
-
-(define-method add_boxed
- (of-object "GrlData")
- (c-name "grl_data_add_boxed")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("gconstpointer" "boxed")
- )
-)
-
-(define-method length
- (of-object "GrlData")
- (c-name "grl_data_length")
- (return-type "guint")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method get_related_keys
- (of-object "GrlData")
- (c-name "grl_data_get_related_keys")
- (return-type "GrlRelatedKeys*")
- (parameters
- '("GrlKeyID" "key")
- '("guint" "index")
- )
-)
-
-(define-method get_single_values_for_key
- (of-object "GrlData")
- (c-name "grl_data_get_single_values_for_key")
- (return-type "GList*")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method get_single_values_for_key_string
- (of-object "GrlData")
- (c-name "grl_data_get_single_values_for_key_string")
- (return-type "GList*")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-method remove_nth
- (of-object "GrlData")
- (c-name "grl_data_remove_nth")
- (return-type "none")
- (parameters
- '("GrlKeyID" "key")
- '("guint" "index")
- )
-)
-
-(define-method set_related_keys
- (of-object "GrlData")
- (c-name "grl_data_set_related_keys")
- (return-type "none")
- (parameters
- '("GrlRelatedKeys*" "relkeys")
- '("guint" "index")
- )
-)
-
-(define-method dup
- (of-object "GrlData")
- (c-name "grl_data_dup")
- (return-type "GrlData*")
-)
-
-
-
-;; From grl-definitions.h
-
-
-
-;; From grl-error.h
-
-
-
-;; From grl-log.h
-
-(define-method free
- (of-object "GrlLogDomain")
- (c-name "grl_log_domain_free")
- (return-type "none")
-)
-
-(define-function grl_log_configure
- (c-name "grl_log_configure")
- (return-type "none")
- (parameters
- '("const-gchar*" "config")
- )
-)
-
-(define-function grl_log
- (c-name "grl_log")
- (return-type "none")
- (parameters
- '("GrlLogDomain*" "domain")
- '("GrlLogLevel" "level")
- '("const-gchar*" "strloc")
- '("const-gchar*" "format")
- )
- (varargs #t)
-)
-
-
-
-;; From grl-media-audio.h
-
-(define-method set_artist
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_set_artist")
- (return-type "none")
- (parameters
- '("const-gchar*" "artist")
- )
-)
-
-(define-method set_album
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_set_album")
- (return-type "none")
- (parameters
- '("const-gchar*" "album")
- )
-)
-
-(define-method set_genre
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_set_genre")
- (return-type "none")
- (parameters
- '("const-gchar*" "genre")
- )
-)
-
-(define-method set_lyrics
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_set_lyrics")
- (return-type "none")
- (parameters
- '("const-gchar*" "lyrics")
- )
-)
-
-(define-method set_bitrate
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_set_bitrate")
- (return-type "none")
- (parameters
- '("gint" "bitrate")
- )
-)
-
-(define-method set_track_number
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_set_track_number")
- (return-type "none")
- (parameters
- '("gint" "track_number")
- )
-)
-
-(define-method set_url_data
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_set_url_data")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- '("const-gchar*" "mime")
- '("gint" "bitrate")
- )
-)
-
-(define-method add_artist
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_add_artist")
- (return-type "none")
- (parameters
- '("const-gchar*" "artist")
- )
-)
-
-(define-method add_genre
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_add_genre")
- (return-type "none")
- (parameters
- '("const-gchar*" "genre")
- )
-)
-
-(define-method add_lyrics
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_add_lyrics")
- (return-type "none")
- (parameters
- '("const-gchar*" "lyrics")
- )
-)
-
-(define-method add_url_data
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_add_url_data")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- '("const-gchar*" "mime")
- '("gint" "bitrate")
- )
-)
-
-(define-method get_artist
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_artist")
- (return-type "const-gchar*")
-)
-
-(define-method get_artist_nth
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_artist_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- )
-)
-
-(define-method get_album
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_album")
- (return-type "const-gchar*")
-)
-
-(define-method get_genre
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_genre")
- (return-type "const-gchar*")
-)
-
-(define-method get_genre_nth
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_genre_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- )
-)
-
-(define-method get_lyrics
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_lyrics")
- (return-type "const-gchar*")
-)
-
-(define-method get_lyrics_nth
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_lyrics_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- )
-)
-
-(define-method get_bitrate
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_bitrate")
- (return-type "gint")
-)
-
-(define-method get_track_number
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_track_number")
- (return-type "gint")
-)
-
-(define-method get_url_data
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_url_data")
- (return-type "const-gchar*")
- (parameters
- '("gchar**" "mime")
- '("gint*" "bitrate")
- )
-)
-
-(define-method get_url_data_nth
- (of-object "GrlMediaAudio")
- (c-name "grl_media_audio_get_url_data_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- '("gchar**" "mime")
- '("gint*" "bitrate")
- )
-)
-
-(define-function grl_media_audio_get_type
- (c-name "grl_media_audio_get_type")
- (return-type "GType")
-)
-
-(define-function grl_media_audio_new
- (c-name "grl_media_audio_new")
- (is-constructor-of "GrlMediaAudio")
- (return-type "GrlMedia*")
-)
-
-
-
-;; From grl-media-box.h
-
-(define-function grl_media_box_get_type
- (c-name "grl_media_box_get_type")
- (return-type "GType")
-)
-
-(define-function grl_media_box_new
- (c-name "grl_media_box_new")
- (is-constructor-of "GrlMediaBox")
- (return-type "GrlMedia*")
-)
-
-(define-method set_childcount
- (of-object "GrlMediaBox")
- (c-name "grl_media_box_set_childcount")
- (return-type "none")
- (parameters
- '("gint" "childcount")
- )
-)
-
-(define-method get_childcount
- (of-object "GrlMediaBox")
- (c-name "grl_media_box_get_childcount")
- (return-type "gint")
-)
-
-
-
-;; From grl-media.h
-
-(define-method set_id
- (of-object "GrlMedia")
- (c-name "grl_media_set_id")
- (return-type "none")
- (parameters
- '("const-gchar*" "id")
- )
-)
-
-(define-method set_url
- (of-object "GrlMedia")
- (c-name "grl_media_set_url")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- )
-)
-
-(define-method set_author
- (of-object "GrlMedia")
- (c-name "grl_media_set_author")
- (return-type "none")
- (parameters
- '("const-gchar*" "author")
- )
-)
-
-(define-method set_title
- (of-object "GrlMedia")
- (c-name "grl_media_set_title")
- (return-type "none")
- (parameters
- '("const-gchar*" "title")
- )
-)
-
-(define-method set_description
- (of-object "GrlMedia")
- (c-name "grl_media_set_description")
- (return-type "none")
- (parameters
- '("const-gchar*" "description")
- )
-)
-
-(define-method set_source
- (of-object "GrlMedia")
- (c-name "grl_media_set_source")
- (return-type "none")
- (parameters
- '("const-gchar*" "source")
- )
-)
-
-(define-method set_thumbnail
- (of-object "GrlMedia")
- (c-name "grl_media_set_thumbnail")
- (return-type "none")
- (parameters
- '("const-gchar*" "thumbnail")
- )
-)
-
-(define-method set_thumbnail_binary
- (of-object "GrlMedia")
- (c-name "grl_media_set_thumbnail_binary")
- (return-type "none")
- (parameters
- '("const-guint8*" "thumbnail")
- '("gsize" "size")
- )
-)
-
-(define-method set_site
- (of-object "GrlMedia")
- (c-name "grl_media_set_site")
- (return-type "none")
- (parameters
- '("const-gchar*" "site")
- )
-)
-
-(define-method set_duration
- (of-object "GrlMedia")
- (c-name "grl_media_set_duration")
- (return-type "none")
- (parameters
- '("gint" "duration")
- )
-)
-
-(define-method set_publication_date
- (of-object "GrlMedia")
- (c-name "grl_media_set_publication_date")
- (return-type "none")
- (parameters
- '("const-GDateTime*" "date")
- )
-)
-
-(define-method set_creation_date
- (of-object "GrlMedia")
- (c-name "grl_media_set_creation_date")
- (return-type "none")
- (parameters
- '("const-GDateTime*" "creation_date")
- )
-)
-
-(define-method set_modification_date
- (of-object "GrlMedia")
- (c-name "grl_media_set_modification_date")
- (return-type "none")
- (parameters
- '("const-GDateTime*" "modification_date")
- )
-)
-
-(define-method set_mime
- (of-object "GrlMedia")
- (c-name "grl_media_set_mime")
- (return-type "none")
- (parameters
- '("const-gchar*" "mime")
- )
-)
-
-(define-method set_play_count
- (of-object "GrlMedia")
- (c-name "grl_media_set_play_count")
- (return-type "none")
- (parameters
- '("gint" "play_count")
- )
-)
-
-(define-method set_last_played
- (of-object "GrlMedia")
- (c-name "grl_media_set_last_played")
- (return-type "none")
- (parameters
- '("const-gchar*" "last_played")
- )
-)
-
-(define-method set_last_position
- (of-object "GrlMedia")
- (c-name "grl_media_set_last_position")
- (return-type "none")
- (parameters
- '("gint" "last_position")
- )
-)
-
-(define-method set_external_player
- (of-object "GrlMedia")
- (c-name "grl_media_set_external_player")
- (return-type "none")
- (parameters
- '("const-gchar*" "player")
- )
-)
-
-(define-method set_external_url
- (of-object "GrlMedia")
- (c-name "grl_media_set_external_url")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- )
-)
-
-(define-method set_studio
- (of-object "GrlMedia")
- (c-name "grl_media_set_studio")
- (return-type "none")
- (parameters
- '("const-gchar*" "studio")
- )
-)
-
-(define-method set_certificate
- (of-object "GrlMedia")
- (c-name "grl_media_set_certificate")
- (return-type "none")
- (parameters
- '("const-gchar*" "certificate")
- )
-)
-
-(define-method set_license
- (of-object "GrlMedia")
- (c-name "grl_media_set_license")
- (return-type "none")
- (parameters
- '("const-gchar*" "license")
- )
-)
-
-(define-method set_rating
- (of-object "GrlMedia")
- (c-name "grl_media_set_rating")
- (return-type "none")
- (parameters
- '("gfloat" "rating")
- '("gfloat" "max")
- )
-)
-
-(define-method set_url_data
- (of-object "GrlMedia")
- (c-name "grl_media_set_url_data")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- '("const-gchar*" "mime")
- )
-)
-
-(define-method add_url_data
- (of-object "GrlMedia")
- (c-name "grl_media_add_url_data")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- '("const-gchar*" "mime")
- )
-)
-
-(define-method add_author
- (of-object "GrlMedia")
- (c-name "grl_media_add_author")
- (return-type "none")
- (parameters
- '("const-gchar*" "author")
- )
-)
-
-(define-method add_thumbnail
- (of-object "GrlMedia")
- (c-name "grl_media_add_thumbnail")
- (return-type "none")
- (parameters
- '("const-gchar*" "thumbnail")
- )
-)
-
-(define-method add_thumbnail_binary
- (of-object "GrlMedia")
- (c-name "grl_media_add_thumbnail_binary")
- (return-type "none")
- (parameters
- '("const-guint8*" "thumbnail")
- '("gsize" "size")
- )
-)
-
-(define-method add_external_player
- (of-object "GrlMedia")
- (c-name "grl_media_add_external_player")
- (return-type "none")
- (parameters
- '("const-gchar*" "player")
- )
-)
-
-(define-method add_external_url
- (of-object "GrlMedia")
- (c-name "grl_media_add_external_url")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- )
-)
-
-(define-method get_id
- (of-object "GrlMedia")
- (c-name "grl_media_get_id")
- (return-type "const-gchar*")
-)
-
-(define-method get_url
- (of-object "GrlMedia")
- (c-name "grl_media_get_url")
- (return-type "const-gchar*")
-)
-
-(define-method get_url_data
- (of-object "GrlMedia")
- (c-name "grl_media_get_url_data")
- (return-type "const-gchar*")
- (parameters
- '("gchar**" "mime")
- )
-)
-
-(define-method get_url_data_nth
- (of-object "GrlMedia")
- (c-name "grl_media_get_url_data_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- '("gchar**" "mime")
- )
-)
-
-(define-method get_author
- (of-object "GrlMedia")
- (c-name "grl_media_get_author")
- (return-type "const-gchar*")
-)
-
-(define-method get_author_nth
- (of-object "GrlMedia")
- (c-name "grl_media_get_author_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- )
-)
-
-(define-method get_title
- (of-object "GrlMedia")
- (c-name "grl_media_get_title")
- (return-type "const-gchar*")
-)
-
-(define-method get_description
- (of-object "GrlMedia")
- (c-name "grl_media_get_description")
- (return-type "const-gchar*")
-)
-
-(define-method get_source
- (of-object "GrlMedia")
- (c-name "grl_media_get_source")
- (return-type "const-gchar*")
-)
-
-(define-method get_thumbnail
- (of-object "GrlMedia")
- (c-name "grl_media_get_thumbnail")
- (return-type "const-gchar*")
-)
-
-(define-method get_thumbnail_nth
- (of-object "GrlMedia")
- (c-name "grl_media_get_thumbnail_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- )
-)
-
-(define-method get_thumbnail_binary
- (of-object "GrlMedia")
- (c-name "grl_media_get_thumbnail_binary")
- (return-type "const-guint8*")
- (parameters
- '("gsize*" "size")
- )
-)
-
-(define-method get_thumbnail_binary_nth
- (of-object "GrlMedia")
- (c-name "grl_media_get_thumbnail_binary_nth")
- (return-type "const-guint8*")
- (parameters
- '("gsize*" "size")
- '("guint" "index")
- )
-)
-
-(define-method get_site
- (of-object "GrlMedia")
- (c-name "grl_media_get_site")
- (return-type "const-gchar*")
-)
-
-(define-method get_duration
- (of-object "GrlMedia")
- (c-name "grl_media_get_duration")
- (return-type "gint")
-)
-
-(define-method get_publication_date
- (of-object "GrlMedia")
- (c-name "grl_media_get_publication_date")
- (return-type "GDateTime*")
-)
-
-(define-method get_creation_date
- (of-object "GrlMedia")
- (c-name "grl_media_get_creation_date")
- (return-type "GDateTime*")
-)
-
-(define-method get_modification_date
- (of-object "GrlMedia")
- (c-name "grl_media_get_modification_date")
- (return-type "GDateTime*")
-)
-
-(define-method get_mime
- (of-object "GrlMedia")
- (c-name "grl_media_get_mime")
- (return-type "const-gchar*")
-)
-
-(define-method get_rating
- (of-object "GrlMedia")
- (c-name "grl_media_get_rating")
- (return-type "gfloat")
-)
-
-(define-method get_play_count
- (of-object "GrlMedia")
- (c-name "grl_media_get_play_count")
- (return-type "gint")
-)
-
-(define-method get_last_position
- (of-object "GrlMedia")
- (c-name "grl_media_get_last_position")
- (return-type "gint")
-)
-
-(define-method get_last_played
- (of-object "GrlMedia")
- (c-name "grl_media_get_last_played")
- (return-type "const-gchar*")
-)
-
-(define-method get_player
- (of-object "GrlMedia")
- (c-name "grl_media_get_player")
- (return-type "const-gchar*")
-)
-
-(define-method get_player_nth
- (of-object "GrlMedia")
- (c-name "grl_media_get_player_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- )
-)
-
-(define-method get_external_url
- (of-object "GrlMedia")
- (c-name "grl_media_get_external_url")
- (return-type "const-gchar*")
-)
-
-(define-method get_external_url_nth
- (of-object "GrlMedia")
- (c-name "grl_media_get_external_url_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- )
-)
-
-(define-method get_studio
- (of-object "GrlMedia")
- (c-name "grl_media_get_studio")
- (return-type "const-gchar*")
-)
-
-(define-method get_certificate
- (of-object "GrlMedia")
- (c-name "grl_media_get_certificate")
- (return-type "const-gchar*")
-)
-
-(define-method get_license
- (of-object "GrlMedia")
- (c-name "grl_media_get_license")
- (return-type "const-gchar*")
-)
-
-(define-method get_start_time
- (of-object "GrlMedia")
- (c-name "grl_media_get_start_time")
- (return-type "gfloat")
-)
-
-(define-function grl_media_get_type
- (c-name "grl_media_get_type")
- (return-type "GType")
-)
-
-(define-function grl_media_new
- (c-name "grl_media_new")
- (is-constructor-of "GrlMedia")
- (return-type "GrlMedia*")
-)
-
-(define-method serialize
- (of-object "GrlMedia")
- (c-name "grl_media_serialize")
- (return-type "gchar*")
-)
-
-(define-method serialize_extended
- (of-object "GrlMedia")
- (c-name "grl_media_serialize_extended")
- (return-type "gchar*")
- (parameters
- '("GrlMediaSerializeType" "serial_type")
- )
- (varargs #t)
-)
-
-(define-function grl_media_unserialize
- (c-name "grl_media_unserialize")
- (return-type "GrlMedia*")
- (parameters
- '("const-gchar*" "serial")
- )
-)
-
-
-
-;; From grl-media-image.h
-
-(define-method set_width
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_set_width")
- (return-type "none")
- (parameters
- '("gint" "width")
- )
-)
-
-(define-method set_height
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_set_height")
- (return-type "none")
- (parameters
- '("gint" "height")
- )
-)
-
-(define-method get_width
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_get_width")
- (return-type "gint")
-)
-
-(define-method get_height
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_get_height")
- (return-type "gint")
-)
-
-(define-method get_camera_model
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_get_camera_model")
- (return-type "const-gchar*")
-)
-
-(define-method get_flash_used
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_get_flash_used")
- (return-type "const-gchar*")
-)
-
-(define-method get_exposure_time
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_get_exposure_time")
- (return-type "gfloat")
-)
-
-(define-method get_iso_speed
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_get_iso_speed")
- (return-type "gfloat")
-)
-
-(define-method get_orientation
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_get_orientation")
- (return-type "gint")
-)
-
-(define-method set_size
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_set_size")
- (return-type "none")
- (parameters
- '("gint" "width")
- '("gint" "height")
- )
-)
-
-(define-method get_url_data
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_get_url_data")
- (return-type "const-gchar*")
- (parameters
- '("gchar**" "mime")
- '("gint*" "width")
- '("gint*" "height")
- )
-)
-
-(define-method get_url_data_nth
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_get_url_data_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- '("gchar**" "mime")
- '("gint*" "width")
- '("gint*" "height")
- )
-)
-
-(define-method set_url_data
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_set_url_data")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- '("const-gchar*" "mime")
- '("gint" "width")
- '("gint" "height")
- )
-)
-
-(define-method add_url_data
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_add_url_data")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- '("const-gchar*" "mime")
- '("gint" "width")
- '("gint" "height")
- )
-)
-
-(define-method set_camera_model
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_set_camera_model")
- (return-type "none")
- (parameters
- '("const-gchar*" "camera_model")
- )
-)
-
-(define-method set_flash_used
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_set_flash_used")
- (return-type "none")
- (parameters
- '("const-gchar*" "flash_used")
- )
-)
-
-(define-method set_exposure_time
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_set_exposure_time")
- (return-type "none")
- (parameters
- '("gfloat" "exposure_time")
- )
-)
-
-(define-method set_iso_speed
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_set_iso_speed")
- (return-type "none")
- (parameters
- '("gfloat" "iso_speed")
- )
-)
-
-(define-method set_orientation
- (of-object "GrlMediaImage")
- (c-name "grl_media_image_set_orientation")
- (return-type "none")
- (parameters
- '("gint" "orientation")
- )
-)
-
-(define-function grl_media_image_get_type
- (c-name "grl_media_image_get_type")
- (return-type "GType")
-)
-
-(define-function grl_media_image_new
- (c-name "grl_media_image_new")
- (is-constructor-of "GrlMediaImage")
- (return-type "GrlMedia*")
-)
-
-
-
-;; From grl-media-plugin.h
-
-(define-function grl_media_plugin_get_type
- (c-name "grl_media_plugin_get_type")
- (return-type "GType")
-)
-
-(define-method get_name
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_name")
- (return-type "const-gchar*")
-)
-
-(define-method get_description
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_description")
- (return-type "const-gchar*")
-)
-
-(define-method get_version
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_version")
- (return-type "const-gchar*")
-)
-
-(define-method get_license
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_license")
- (return-type "const-gchar*")
-)
-
-(define-method get_author
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_author")
- (return-type "const-gchar*")
-)
-
-(define-method get_site
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_site")
- (return-type "const-gchar*")
-)
-
-(define-method get_id
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_id")
- (return-type "const-gchar*")
-)
-
-(define-method get_filename
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_filename")
- (return-type "const-gchar*")
-)
-
-(define-method get_rank
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_rank")
- (return-type "gint")
-)
-
-(define-method get_info_keys
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_info_keys")
- (return-type "GList*")
-)
-
-(define-method get_info
- (of-object "GrlMediaPlugin")
- (c-name "grl_media_plugin_get_info")
- (return-type "const-gchar*")
- (parameters
- '("const-gchar*" "key")
- )
-)
-
-
-
-;; From grl-media-source.h
-
-(define-function grl_media_source_get_type
- (c-name "grl_media_source_get_type")
- (return-type "GType")
-)
-
-(define-method browse
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_browse")
- (return-type "guint")
- (parameters
- '("GrlMedia*" "container")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GrlMediaSourceResultCb" "callback")
- '("gpointer" "user_data")
- )
-)
-
-(define-method browse_sync
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_browse_sync")
- (return-type "GList*")
- (parameters
- '("GrlMedia*" "container")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GError**" "error")
- )
-)
-
-(define-method search
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_search")
- (return-type "guint")
- (parameters
- '("const-gchar*" "text")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GrlMediaSourceResultCb" "callback")
- '("gpointer" "user_data")
- )
-)
-
-(define-method search_sync
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_search_sync")
- (return-type "GList*")
- (parameters
- '("const-gchar*" "text")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GError**" "error")
- )
-)
-
-(define-method query
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_query")
- (return-type "guint")
- (parameters
- '("const-gchar*" "query")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GrlMediaSourceResultCb" "callback")
- '("gpointer" "user_data")
- )
-)
-
-(define-method query_sync
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_query_sync")
- (return-type "GList*")
- (parameters
- '("const-gchar*" "query")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GError**" "error")
- )
-)
-
-(define-method metadata
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_metadata")
- (return-type "guint")
- (parameters
- '("GrlMedia*" "media")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GrlMediaSourceMetadataCb" "callback")
- '("gpointer" "user_data")
- )
-)
-
-(define-method metadata_sync
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_metadata_sync")
- (return-type "GrlMedia*")
- (parameters
- '("GrlMedia*" "media")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GError**" "error")
- )
-)
-
-(define-method store
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_store")
- (return-type "none")
- (parameters
- '("GrlMediaBox*" "parent")
- '("GrlMedia*" "media")
- '("GrlMediaSourceStoreCb" "callback")
- '("gpointer" "user_data")
- )
-)
-
-(define-method store_sync
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_store_sync")
- (return-type "none")
- (parameters
- '("GrlMediaBox*" "parent")
- '("GrlMedia*" "media")
- '("GError**" "error")
- )
-)
-
-(define-method remove
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_remove")
- (return-type "none")
- (parameters
- '("GrlMedia*" "media")
- '("GrlMediaSourceRemoveCb" "callback")
- '("gpointer" "user_data")
- )
-)
-
-(define-method remove_sync
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_remove_sync")
- (return-type "none")
- (parameters
- '("GrlMedia*" "media")
- '("GError**" "error")
- )
-)
-
-(define-method set_auto_split_threshold
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_set_auto_split_threshold")
- (return-type "none")
- (parameters
- '("guint" "threshold")
- )
-)
-
-(define-method get_auto_split_threshold
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_get_auto_split_threshold")
- (return-type "guint")
-)
-
-(define-method test_media_from_uri
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_test_media_from_uri")
- (return-type "gboolean")
- (parameters
- '("const-gchar*" "uri")
- )
-)
-
-(define-method get_media_from_uri
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_get_media_from_uri")
- (return-type "guint")
- (parameters
- '("const-gchar*" "uri")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GrlMediaSourceMetadataCb" "callback")
- '("gpointer" "user_data")
- )
-)
-
-(define-method get_media_from_uri_sync
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_get_media_from_uri_sync")
- (return-type "GrlMedia*")
- (parameters
- '("const-gchar*" "uri")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GError**" "error")
- )
-)
-
-(define-method notify_change_start
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_notify_change_start")
+(define-method set_key_filters
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_set_key_filters")
(return-type "gboolean")
(parameters
- '("GError**" "error")
)
+ (varargs #t)
)
-(define-method notify_change_stop
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_notify_change_stop")
+(define-method set_key_filter_dictionary
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_set_key_filter_dictionary")
(return-type "gboolean")
(parameters
- '("GError**" "error")
- )
-)
-
-(define-method notify_change_list
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_notify_change_list")
- (return-type "none")
- (parameters
- '("GPtrArray*" "changed_medias")
- '("GrlMediaSourceChangeType" "change_type")
- '("gboolean" "location_unknown")
- )
-)
-
-(define-method notify_change
- (of-object "GrlMediaSource")
- (c-name "grl_media_source_notify_change")
- (return-type "none")
- (parameters
- '("GrlMedia*" "media")
- '("GrlMediaSourceChangeType" "change_type")
- '("gboolean" "location_unknown")
- )
-)
-
-
-
-;; From grl-media-video.h
-
-(define-method set_width
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_set_width")
- (return-type "none")
- (parameters
- '("gint" "width")
- )
-)
-
-(define-method set_height
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_set_height")
- (return-type "none")
- (parameters
- '("gint" "height")
- )
-)
-
-(define-method set_framerate
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_set_framerate")
- (return-type "none")
- (parameters
- '("gfloat" "framerate")
- )
-)
-
-(define-method set_season
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_set_season")
- (return-type "none")
- (parameters
- '("gint" "season")
- )
-)
-
-(define-method set_episode
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_set_episode")
- (return-type "none")
- (parameters
- '("gint" "episode")
- )
-)
-
-(define-method set_show
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_set_show")
- (return-type "none")
- (parameters
- '("const-gchar*" "show")
- )
-)
-
-(define-method get_width
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_get_width")
- (return-type "gint")
-)
-
-(define-method get_height
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_get_height")
- (return-type "gint")
-)
-
-(define-method get_framerate
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_get_framerate")
- (return-type "gfloat")
-)
-
-(define-method get_season
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_get_season")
- (return-type "gint")
-)
-
-(define-method get_episode
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_get_episode")
- (return-type "gint")
-)
-
-(define-method get_show
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_get_show")
- (return-type "const-gchar*")
-)
-
-(define-function grl_media_video_get_type
- (c-name "grl_media_video_get_type")
- (return-type "GType")
-)
-
-(define-function grl_media_video_new
- (c-name "grl_media_video_new")
- (is-constructor-of "GrlMediaVideo")
- (return-type "GrlMedia*")
-)
-
-(define-method set_size
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_set_size")
- (return-type "none")
- (parameters
- '("gint" "width")
- '("gint" "height")
- )
-)
-
-(define-method set_url_data
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_set_url_data")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- '("const-gchar*" "mime")
- '("gfloat" "framerate")
- '("gint" "width")
- '("gint" "height")
- )
-)
-
-(define-method add_url_data
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_add_url_data")
- (return-type "none")
- (parameters
- '("const-gchar*" "url")
- '("const-gchar*" "mime")
- '("gfloat" "framerate")
- '("gint" "width")
- '("gint" "height")
- )
-)
-
-(define-method get_url_data
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_get_url_data")
- (return-type "const-gchar*")
- (parameters
- '("gchar**" "mime")
- '("gfloat*" "framerate")
- '("gint*" "width")
- '("gint*" "height")
- )
-)
-
-(define-method get_url_data_nth
- (of-object "GrlMediaVideo")
- (c-name "grl_media_video_get_url_data_nth")
- (return-type "const-gchar*")
- (parameters
- '("guint" "index")
- '("gchar**" "mime")
- '("gfloat*" "framerate")
- '("gint*" "width")
- '("gint*" "height")
- )
-)
-
-
-
-;; From grl-metadata-key.h
-
-(define-function grl_metadata_key_get_name
- (c-name "grl_metadata_key_get_name")
- (return-type "const-gchar*")
- (parameters
- '("GrlKeyID" "key")
- )
-)
-
-(define-function grl_metadata_key_get_desc
- (c-name "grl_metadata_key_get_desc")
- (return-type "const-gchar*")
- (parameters
- '("GrlKeyID" "key")
+ '("GHashTable*" "filters")
)
)
-(define-function grl_metadata_key_get_type
- (c-name "grl_metadata_key_get_type")
- (return-type "GType")
+(define-method get_key_filter
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_get_key_filter")
+ (return-type "GValue*")
(parameters
'("GrlKeyID" "key")
)
)
-(define-function grl_metadata_key_list_new
- (c-name "grl_metadata_key_list_new")
- (is-constructor-of "GrlMetadataKeyList")
- (return-type "GList*")
- (parameters
- '("GrlKeyID" "first_key")
- )
- (varargs #t)
-)
-
-
-
-;; From grl-metadata-source.h
-
-(define-function grl_metadata_source_get_type
- (c-name "grl_metadata_source_get_type")
- (return-type "GType")
-)
-
-(define-method supported_operations
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_supported_operations")
- (return-type "GrlSupportedOps")
-)
-
-(define-method supported_keys
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_supported_keys")
- (return-type "const-GList*")
-)
-
-(define-method slow_keys
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_slow_keys")
- (return-type "const-GList*")
-)
-
-(define-method filter_supported
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_filter_supported")
- (return-type "GList*")
- (parameters
- '("GList**" "keys")
- '("gboolean" "return_filtered")
- )
-)
-
-(define-method filter_slow
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_filter_slow")
- (return-type "GList*")
- (parameters
- '("GList**" "keys")
- '("gboolean" "return_filtered")
- )
-)
-
-(define-method filter_writable
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_filter_writable")
+(define-method get_key_filter_list
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_get_key_filter_list")
(return-type "GList*")
- (parameters
- '("GList**" "keys")
- '("gboolean" "return_filtered")
- )
-)
-
-(define-method writable_keys
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_writable_keys")
- (return-type "const-GList*")
)
-(define-method may_resolve
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_may_resolve")
+(define-method set_key_range_filter_value
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_set_key_range_filter_value")
(return-type "gboolean")
(parameters
- '("GrlMedia*" "media")
- '("GrlKeyID" "key_id")
- '("GList**" "missing_keys")
- )
-)
-
-(define-method resolve
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_resolve")
- (return-type "guint")
- (parameters
- '("const-GList*" "keys")
- '("GrlMedia*" "media")
- '("GrlOperationOptions*" "options")
- '("GrlMetadataSourceResolveCb" "callback")
- '("gpointer" "user_data")
+ '("GrlKeyID" "key")
+ '("GValue*" "min_value")
+ '("GValue*" "max_value")
)
)
-(define-method resolve_sync
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_resolve_sync")
- (return-type "GrlMedia*")
+(define-method set_key_range_filter
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_set_key_range_filter")
+ (return-type "gboolean")
(parameters
- '("const-GList*" "keys")
- '("GrlMedia*" "media")
- '("GrlOperationOptions*" "options")
- '("GError**" "error")
)
+ (varargs #t)
)
-(define-method set_metadata
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_set_metadata")
+(define-method get_key_range_filter
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_get_key_range_filter")
(return-type "none")
(parameters
- '("GrlMedia*" "media")
- '("GList*" "keys")
- '("GrlMetadataWritingFlags" "flags")
- '("GrlMetadataSourceSetMetadataCb" "callback")
- '("gpointer" "user_data")
+ '("GrlKeyID" "key")
+ '("GValue**" "min_value")
+ '("GValue**" "max_value")
)
)
-(define-method set_metadata_sync
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_set_metadata_sync")
+(define-method get_key_range_filter_list
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_get_key_range_filter_list")
(return-type "GList*")
- (parameters
- '("GrlMedia*" "media")
- '("GList*" "keys")
- '("GrlMetadataWritingFlags" "flags")
- '("GError**" "error")
- )
-)
-
-(define-method get_id
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_get_id")
- (return-type "const-gchar*")
-)
-
-(define-method get_name
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_get_name")
- (return-type "const-gchar*")
-)
-
-(define-method get_description
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_get_description")
- (return-type "const-gchar*")
-)
-
-(define-method get_caps
- (of-object "GrlMetadataSource")
- (c-name "grl_metadata_source_get_caps")
- (return-type "GrlCaps*")
- (parameters
- '("GrlSupportedOps" "operation")
- )
)
-;; From grl-multiple.h
+;; From grl-operation-options-priv.h
-(define-function grl_multiple_search
- (c-name "grl_multiple_search")
- (return-type "guint")
+(define-method key_is_set
+ (of-object "GrlOperationOptions")
+ (c-name "grl_operation_options_key_is_set")
+ (return-type "gboolean")
(parameters
- '("const-GList*" "sources")
- '("const-gchar*" "text")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GrlMediaSourceResultCb" "callback")
- '("gpointer" "user_data")
+ '("const-gchar*" "key")
)
)
-(define-function grl_multiple_search_sync
- (c-name "grl_multiple_search_sync")
- (return-type "GList*")
- (parameters
- '("const-GList*" "sources")
- '("const-gchar*" "text")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GError**" "error")
- )
-)
-(define-function grl_multiple_get_media_from_uri
- (c-name "grl_multiple_get_media_from_uri")
- (return-type "none")
- (parameters
- '("const-gchar*" "uri")
- '("const-GList*" "keys")
- '("GrlOperationOptions*" "options")
- '("GrlMediaSourceMetadataCb" "callback")
- '("gpointer" "user_data")
- )
-)
+;; From grl-operation-priv.h
+(define-function grl_operation_init
+ (c-name "grl_operation_init")
+ (return-type "none")
+)
-;; From grl-operation.h
+(define-function grl_operation_generate_id
+ (c-name "grl_operation_generate_id")
+ (return-type "guint")
+)
-(define-function grl_operation_cancel
- (c-name "grl_operation_cancel")
+(define-function grl_operation_set_private_data
+ (c-name "grl_operation_set_private_data")
(return-type "none")
(parameters
'("guint" "operation_id")
+ '("gpointer" "private_data")
+ '("GrlOperationCancelCb" "cancel_cb")
+ '("GDestroyNotify" "destroy_cb")
)
)
-(define-function grl_operation_get_data
- (c-name "grl_operation_get_data")
+(define-function grl_operation_get_private_data
+ (c-name "grl_operation_get_private_data")
(return-type "gpointer")
(parameters
'("guint" "operation_id")
)
)
-(define-function grl_operation_set_data
- (c-name "grl_operation_set_data")
+(define-function grl_operation_remove
+ (c-name "grl_operation_remove")
(return-type "none")
(parameters
'("guint" "operation_id")
- '("gpointer" "user_data")
)
)
-;; From grl-operation-options.h
+;; From grl-plugin.h
-(define-function grl_operation_options_get_type
- (c-name "grl_operation_options_get_type")
+(define-function grl_plugin_get_type
+ (c-name "grl_plugin_get_type")
(return-type "GType")
)
-(define-function grl_operation_options_new
- (c-name "grl_operation_options_new")
- (is-constructor-of "GrlOperationOptions")
- (return-type "GrlOperationOptions*")
- (parameters
- '("GrlCaps*" "caps")
- )
+(define-method get_name
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_name")
+ (return-type "const-gchar*")
)
-(define-method obey_caps
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_obey_caps")
- (return-type "gboolean")
- (parameters
- '("GrlCaps*" "caps")
- '("GrlOperationOptions**" "supported_options")
- '("GrlOperationOptions**" "unsupported_options")
- )
+(define-method get_description
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_description")
+ (return-type "const-gchar*")
)
-(define-method copy
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_copy")
- (return-type "GrlOperationOptions*")
+(define-method get_version
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_version")
+ (return-type "const-gchar*")
)
-(define-method set_skip
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_set_skip")
- (return-type "gboolean")
- (parameters
- '("guint" "skip")
- )
+(define-method get_license
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_license")
+ (return-type "const-gchar*")
)
-(define-method get_skip
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_get_skip")
- (return-type "guint")
+(define-method get_author
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_author")
+ (return-type "const-gchar*")
)
-(define-method set_count
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_set_count")
- (return-type "gboolean")
- (parameters
- '("gint" "count")
- )
+(define-method get_site
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_site")
+ (return-type "const-gchar*")
)
-(define-method get_count
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_get_count")
- (return-type "gint")
+(define-method get_id
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_id")
+ (return-type "const-gchar*")
)
-(define-method set_flags
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_set_flags")
- (return-type "gboolean")
+(define-method get_filename
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_filename")
+ (return-type "const-gchar*")
+)
+
+(define-method get_module
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_module")
+ (return-type "GModule*")
+)
+
+(define-method get_info_keys
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_info_keys")
+ (return-type "GList*")
+)
+
+(define-method get_info
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_info")
+ (return-type "const-gchar*")
(parameters
- '("GrlMetadataResolutionFlags" "flags")
+ '("const-gchar*" "key")
)
)
-(define-method get_flags
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_get_flags")
- (return-type "GrlMetadataResolutionFlags")
+(define-method get_sources
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_get_sources")
+ (return-type "GList*")
)
-(define-method set_type_filter
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_set_type_filter")
- (return-type "gboolean")
+
+
+;; From grl-plugin-priv.h
+
+(define-method set_optional_info
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_set_optional_info")
+ (return-type "none")
(parameters
- '("GrlTypeFilter" "filter")
+ '("GHashTable*" "info")
)
)
-(define-method get_type_filter
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_get_type_filter")
- (return-type "GrlTypeFilter")
+(define-method set_load_func
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_set_load_func")
+ (return-type "none")
+ (parameters
+ '("gpointer" "load_function")
+ )
)
-(define-method set_key_filter_value
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_set_key_filter_value")
- (return-type "gboolean")
+(define-method set_unload_func
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_set_unload_func")
+ (return-type "none")
(parameters
- '("GrlKeyID" "key")
- '("GValue*" "value")
+ '("gpointer" "unload_function")
)
)
-(define-method set_key_filters
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_set_key_filters")
+(define-method load
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_load")
(return-type "gboolean")
(parameters
+ '("GList*" "configurations")
)
- (varargs #t)
)
-(define-method set_key_filter_dictionary
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_set_key_filter_dictionary")
- (return-type "gboolean")
+(define-method unload
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_unload")
+ (return-type "none")
+)
+
+(define-method set_id
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_set_id")
+ (return-type "none")
(parameters
- '("GHashTable*" "filters")
+ '("const-gchar*" "id")
)
)
-(define-method get_key_filter
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_get_key_filter")
- (return-type "GValue*")
+(define-method set_filename
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_set_filename")
+ (return-type "none")
(parameters
- '("GrlKeyID" "key")
+ '("const-gchar*" "filename")
)
)
-(define-method get_key_filter_list
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_get_key_filter_list")
- (return-type "GList*")
+(define-method set_module
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_set_module")
+ (return-type "none")
+ (parameters
+ '("GModule*" "module")
+ )
)
-(define-method set_key_range_filter_value
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_set_key_range_filter_value")
- (return-type "gboolean")
+(define-method set_info
+ (of-object "GrlPlugin")
+ (c-name "grl_plugin_set_info")
+ (return-type "none")
(parameters
- '("GrlKeyID" "key")
- '("GValue*" "min_value")
- '("GValue*" "max_value")
+ '("const-gchar*" "key")
+ '("const-gchar*" "value")
)
)
-(define-method set_key_range_filter
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_set_key_range_filter")
- (return-type "gboolean")
+
+
+;; From grl-range-value.h
+
+(define-function grl_range_value_new
+ (c-name "grl_range_value_new")
+ (is-constructor-of "GrlRangeValue")
+ (return-type "GrlRangeValue*")
(parameters
+ '("GValue*" "min")
+ '("GValue*" "max")
)
- (varargs #t)
)
-(define-method get_key_range_filter
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_get_key_range_filter")
+(define-method free
+ (of-object "GrlRangeValue")
+ (c-name "grl_range_value_free")
+ (return-type "none")
+)
+
+(define-function grl_range_value_hashtable_new
+ (c-name "grl_range_value_hashtable_new")
+ (is-constructor-of "GrlRangeValueHashtable")
+ (return-type "GHashTable*")
+)
+
+(define-method dup
+ (of-object "GrlRangeValue")
+ (c-name "grl_range_value_dup")
+ (return-type "GrlRangeValue*")
+)
+
+(define-function grl_range_value_hashtable_insert
+ (c-name "grl_range_value_hashtable_insert")
(return-type "none")
(parameters
- '("GrlKeyID" "key")
- '("GValue**" "min_value")
- '("GValue**" "max_value")
+ '("GHashTable*" "hash_table")
+ '("gpointer" "key")
+ '("GValue*" "min")
+ '("GValue*" "max")
)
)
-(define-method get_key_range_filter_list
- (of-object "GrlOperationOptions")
- (c-name "grl_operation_options_get_key_range_filter_list")
- (return-type "GList*")
+(define-function grl_range_value_get_type
+ (c-name "grl_range_value_get_type")
+ (return-type "GType")
)
-;; From grl-plugin-registry.h
+;; From grl-registry.h
-(define-function grl_plugin_registry_get_type
- (c-name "grl_plugin_registry_get_type")
+(define-function grl_registry_get_type
+ (c-name "grl_registry_get_type")
(return-type "GType")
)
-(define-function grl_plugin_registry_get_default
- (c-name "grl_plugin_registry_get_default")
- (return-type "GrlPluginRegistry*")
+(define-function grl_registry_get_default
+ (c-name "grl_registry_get_default")
+ (return-type "GrlRegistry*")
)
(define-method add_directory
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_add_directory")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_add_directory")
(return-type "none")
(parameters
'("const-gchar*" "path")
)
)
-(define-method load
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_load")
+(define-method load_plugin
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_load_plugin")
(return-type "gboolean")
(parameters
'("const-gchar*" "library_filename")
@@ -2800,9 +912,9 @@
)
)
-(define-method load_directory
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_load_directory")
+(define-method load_plugin_directory
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_load_plugin_directory")
(return-type "gboolean")
(parameters
'("const-gchar*" "path")
@@ -2810,9 +922,9 @@
)
)
-(define-method unload
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_unload")
+(define-method unload_plugin
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_unload_plugin")
(return-type "gboolean")
(parameters
'("const-gchar*" "plugin_id")
@@ -2820,18 +932,18 @@
)
)
-(define-method load_all
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_load_all")
+(define-method load_all_plugins
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_load_all_plugins")
(return-type "gboolean")
(parameters
'("GError**" "error")
)
)
-(define-method load_by_id
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_load_by_id")
+(define-method load_plugin_by_id
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_load_plugin_by_id")
(return-type "gboolean")
(parameters
'("const-gchar*" "plugin_id")
@@ -2840,38 +952,38 @@
)
(define-method register_source
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_register_source")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_register_source")
(return-type "gboolean")
(parameters
- '("const-GrlPluginInfo*" "plugin")
- '("GrlMediaPlugin*" "source")
+ '("GrlPlugin*" "plugin")
+ '("GrlSource*" "source")
'("GError**" "error")
)
)
(define-method unregister_source
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_unregister_source")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_unregister_source")
(return-type "gboolean")
(parameters
- '("GrlMediaPlugin*" "source")
+ '("GrlSource*" "source")
'("GError**" "error")
)
)
(define-method lookup_source
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_lookup_source")
- (return-type "GrlMediaPlugin*")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_lookup_source")
+ (return-type "GrlSource*")
(parameters
'("const-gchar*" "source_id")
)
)
(define-method get_sources
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_get_sources")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_get_sources")
(return-type "GList*")
(parameters
'("gboolean" "ranked")
@@ -2879,8 +991,8 @@
)
(define-method get_sources_by_operations
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_get_sources_by_operations")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_get_sources_by_operations")
(return-type "GList*")
(parameters
'("GrlSupportedOps" "ops")
@@ -2888,30 +1000,37 @@
)
)
-(define-method register_metadata_key
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_register_metadata_key")
- (return-type "GrlKeyID")
+(define-method lookup_plugin
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_lookup_plugin")
+ (return-type "GrlPlugin*")
(parameters
- '("GParamSpec*" "param_spec")
- '("GError**" "error")
+ '("const-gchar*" "plugin_id")
)
)
-(define-method register_metadata_key_full
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_register_metadata_key_full")
+(define-method get_plugins
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_get_plugins")
+ (return-type "GList*")
+ (parameters
+ '("gboolean" "only_loaded")
+ )
+)
+
+(define-method register_metadata_key
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_register_metadata_key")
(return-type "GrlKeyID")
(parameters
'("GParamSpec*" "param_spec")
- '("GrlKeyID" "key")
'("GError**" "error")
)
)
(define-method register_metadata_key_relation
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_register_metadata_key_relation")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_register_metadata_key_relation")
(return-type "none")
(parameters
'("GrlKeyID" "key1")
@@ -2920,8 +1039,8 @@
)
(define-method lookup_metadata_key
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_lookup_metadata_key")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_lookup_metadata_key")
(return-type "GrlKeyID")
(parameters
'("const-gchar*" "key_name")
@@ -2929,8 +1048,8 @@
)
(define-method lookup_metadata_key_relation
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_lookup_metadata_key_relation")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_lookup_metadata_key_relation")
(return-type "const-GList*")
(parameters
'("GrlKeyID" "key")
@@ -2938,8 +1057,8 @@
)
(define-method lookup_metadata_key_name
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_lookup_metadata_key_name")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_lookup_metadata_key_name")
(return-type "const-gchar*")
(parameters
'("GrlKeyID" "key")
@@ -2947,8 +1066,8 @@
)
(define-method lookup_metadata_key_desc
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_lookup_metadata_key_desc")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_lookup_metadata_key_desc")
(return-type "const-gchar*")
(parameters
'("GrlKeyID" "key")
@@ -2956,8 +1075,8 @@
)
(define-method lookup_metadata_key_type
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_lookup_metadata_key_type")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_lookup_metadata_key_type")
(return-type "GType")
(parameters
'("GrlKeyID" "key")
@@ -2965,8 +1084,8 @@
)
(define-method metadata_key_validate
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_metadata_key_validate")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_metadata_key_validate")
(return-type "gboolean")
(parameters
'("GrlKeyID" "key")
@@ -2975,14 +1094,14 @@
)
(define-method get_metadata_keys
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_get_metadata_keys")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_get_metadata_keys")
(return-type "GList*")
)
(define-method add_config
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_add_config")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_add_config")
(return-type "gboolean")
(parameters
'("GrlConfig*" "config")
@@ -2991,8 +1110,8 @@
)
(define-method add_config_from_file
- (of-object "GrlPluginRegistry")
- (c-name "grl_plugin_registry_add_config_from_file")
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_add_config_from_file")
(return-type "gboolean")
(parameters
'("const-gchar*" "config_file")
@@ -3002,220 +1121,410 @@
-;; From grl-range-value.h
+;; From grl-registry-priv.h
-(define-function grl_range_value_new
- (c-name "grl_range_value_new")
- (is-constructor-of "GrlRangeValue")
- (return-type "GrlRangeValue*")
+(define-method restrict_plugins
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_restrict_plugins")
+ (return-type "none")
(parameters
- '("GValue*" "min")
- '("GValue*" "max")
+ '("gchar**" "plugins")
)
)
-(define-method free
- (of-object "GrlRangeValue")
- (c-name "grl_range_value_free")
- (return-type "none")
+(define-method register_metadata_key_full
+ (of-object "GrlRegistry")
+ (c-name "grl_registry_register_metadata_key_full")
+ (return-type "GrlKeyID")
+ (parameters
+ '("GParamSpec*" "param_spec")
+ '("GrlKeyID" "key")
+ '("GError**" "error")
+ )
)
-(define-function grl_range_value_hashtable_new
- (c-name "grl_range_value_hashtable_new")
- (is-constructor-of "GrlRangeValueHashtable")
- (return-type "GHashTable*")
+
+
+;; From grl-source.h
+
+(define-function grl_source_get_type
+ (c-name "grl_source_get_type")
+ (return-type "GType")
)
-(define-method dup
- (of-object "GrlRangeValue")
- (c-name "grl_range_value_dup")
- (return-type "GrlRangeValue*")
+(define-method supported_operations
+ (of-object "GrlSource")
+ (c-name "grl_source_supported_operations")
+ (return-type "GrlSupportedOps")
)
-(define-function grl_range_value_hashtable_insert
- (c-name "grl_range_value_hashtable_insert")
+(define-method supported_keys
+ (of-object "GrlSource")
+ (c-name "grl_source_supported_keys")
+ (return-type "const-GList*")
+)
+
+(define-method slow_keys
+ (of-object "GrlSource")
+ (c-name "grl_source_slow_keys")
+ (return-type "const-GList*")
+)
+
+(define-method writable_keys
+ (of-object "GrlSource")
+ (c-name "grl_source_writable_keys")
+ (return-type "const-GList*")
+)
+
+(define-method get_caps
+ (of-object "GrlSource")
+ (c-name "grl_source_get_caps")
+ (return-type "GrlCaps*")
+ (parameters
+ '("GrlSupportedOps" "operation")
+ )
+)
+
+(define-method set_auto_split_threshold
+ (of-object "GrlSource")
+ (c-name "grl_source_set_auto_split_threshold")
(return-type "none")
(parameters
- '("GHashTable*" "hash_table")
- '("gpointer" "key")
- '("GValue*" "min")
- '("GValue*" "max")
+ '("guint" "threshold")
)
)
-(define-function grl_range_value_get_type
- (c-name "grl_range_value_get_type")
- (return-type "GType")
+(define-method get_auto_split_threshold
+ (of-object "GrlSource")
+ (c-name "grl_source_get_auto_split_threshold")
+ (return-type "guint")
)
+(define-method resolve
+ (of-object "GrlSource")
+ (c-name "grl_source_resolve")
+ (return-type "guint")
+ (parameters
+ '("GrlMedia*" "media")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GrlSourceResolveCb" "callback")
+ '("gpointer" "user_data")
+ )
+)
+(define-method resolve_sync
+ (of-object "GrlSource")
+ (c-name "grl_source_resolve_sync")
+ (return-type "GrlMedia*")
+ (parameters
+ '("GrlMedia*" "media")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GError**" "error")
+ )
+)
-;; From grl-related-keys.h
+(define-method may_resolve
+ (of-object "GrlSource")
+ (c-name "grl_source_may_resolve")
+ (return-type "gboolean")
+ (parameters
+ '("GrlMedia*" "media")
+ '("GrlKeyID" "key_id")
+ '("GList**" "missing_keys")
+ )
+)
-(define-function grl_related_keys_get_type
- (c-name "grl_related_keys_get_type")
- (return-type "GType")
+(define-method test_media_from_uri
+ (of-object "GrlSource")
+ (c-name "grl_source_test_media_from_uri")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "uri")
+ )
)
-(define-function grl_related_keys_new
- (c-name "grl_related_keys_new")
- (is-constructor-of "GrlRelatedKeys")
- (return-type "GrlRelatedKeys*")
+(define-method get_media_from_uri
+ (of-object "GrlSource")
+ (c-name "grl_source_get_media_from_uri")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "uri")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GrlSourceResolveCb" "callback")
+ '("gpointer" "user_data")
+ )
)
-(define-function grl_related_keys_new_valist
- (c-name "grl_related_keys_new_valist")
- (return-type "GrlRelatedKeys*")
+(define-method get_media_from_uri_sync
+ (of-object "GrlSource")
+ (c-name "grl_source_get_media_from_uri_sync")
+ (return-type "GrlMedia*")
(parameters
- '("GrlKeyID" "key")
- '("va_list" "args")
+ '("const-gchar*" "uri")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GError**" "error")
)
)
-(define-function grl_related_keys_new_with_keys
- (c-name "grl_related_keys_new_with_keys")
- (return-type "GrlRelatedKeys*")
+(define-method browse
+ (of-object "GrlSource")
+ (c-name "grl_source_browse")
+ (return-type "guint")
(parameters
- '("GrlKeyID" "key")
+ '("GrlMedia*" "container")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GrlSourceResultCb" "callback")
+ '("gpointer" "user_data")
)
- (varargs #t)
)
-(define-method set
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_set")
- (return-type "none")
+(define-method browse_sync
+ (of-object "GrlSource")
+ (c-name "grl_source_browse_sync")
+ (return-type "GList*")
(parameters
- '("GrlKeyID" "key")
- '("const-GValue*" "value")
+ '("GrlMedia*" "container")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GError**" "error")
)
)
-(define-method set_string
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_set_string")
- (return-type "none")
+(define-method search
+ (of-object "GrlSource")
+ (c-name "grl_source_search")
+ (return-type "guint")
(parameters
- '("GrlKeyID" "key")
- '("const-gchar*" "strvalue")
+ '("const-gchar*" "text")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GrlSourceResultCb" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method search_sync
+ (of-object "GrlSource")
+ (c-name "grl_source_search_sync")
+ (return-type "GList*")
+ (parameters
+ '("const-gchar*" "text")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GError**" "error")
+ )
+)
+
+(define-method query
+ (of-object "GrlSource")
+ (c-name "grl_source_query")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "query")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GrlSourceResultCb" "callback")
+ '("gpointer" "user_data")
+ )
+)
+
+(define-method query_sync
+ (of-object "GrlSource")
+ (c-name "grl_source_query_sync")
+ (return-type "GList*")
+ (parameters
+ '("const-gchar*" "query")
+ '("const-GList*" "keys")
+ '("GrlOperationOptions*" "options")
+ '("GError**" "error")
)
)
-(define-method set_int
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_set_int")
+(define-method remove
+ (of-object "GrlSource")
+ (c-name "grl_source_remove")
(return-type "none")
(parameters
- '("GrlKeyID" "key")
- '("gint" "intvalue")
+ '("GrlMedia*" "media")
+ '("GrlSourceRemoveCb" "callback")
+ '("gpointer" "user_data")
)
)
-(define-method set_float
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_set_float")
+(define-method remove_sync
+ (of-object "GrlSource")
+ (c-name "grl_source_remove_sync")
(return-type "none")
(parameters
- '("GrlKeyID" "key")
- '("gfloat" "floatvalue")
+ '("GrlMedia*" "media")
+ '("GError**" "error")
)
)
-(define-method set_binary
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_set_binary")
+(define-method store
+ (of-object "GrlSource")
+ (c-name "grl_source_store")
(return-type "none")
(parameters
- '("GrlKeyID" "key")
- '("const-guint8*" "buf")
- '("gsize" "size")
+ '("GrlMediaBox*" "parent")
+ '("GrlMedia*" "media")
+ '("GrlWriteFlags" "flags")
+ '("GrlSourceStoreCb" "callback")
+ '("gpointer" "user_data")
)
)
-(define-method set_boxed
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_set_boxed")
+(define-method store_sync
+ (of-object "GrlSource")
+ (c-name "grl_source_store_sync")
(return-type "none")
(parameters
- '("GrlKeyID" "key")
- '("gconstpointer" "boxed")
+ '("GrlMediaBox*" "parent")
+ '("GrlMedia*" "media")
+ '("GrlWriteFlags" "flags")
+ '("GError**" "error")
)
)
-(define-method get
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_get")
- (return-type "const-GValue*")
+(define-method store_metadata
+ (of-object "GrlSource")
+ (c-name "grl_source_store_metadata")
+ (return-type "none")
(parameters
- '("GrlKeyID" "key")
+ '("GrlMedia*" "media")
+ '("GList*" "keys")
+ '("GrlWriteFlags" "flags")
+ '("GrlSourceStoreCb" "callback")
+ '("gpointer" "user_data")
)
)
-(define-method get_string
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_get_string")
- (return-type "const-gchar*")
+(define-method store_metadata_sync
+ (of-object "GrlSource")
+ (c-name "grl_source_store_metadata_sync")
+ (return-type "GList*")
(parameters
- '("GrlKeyID" "key")
+ '("GrlMedia*" "media")
+ '("GList*" "keys")
+ '("GrlWriteFlags" "flags")
+ '("GError**" "error")
)
)
-(define-method get_int
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_get_int")
- (return-type "gint")
+(define-method notify_change_start
+ (of-object "GrlSource")
+ (c-name "grl_source_notify_change_start")
+ (return-type "gboolean")
(parameters
- '("GrlKeyID" "key")
+ '("GError**" "error")
)
)
-(define-method get_float
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_get_float")
- (return-type "gfloat")
+(define-method notify_change_stop
+ (of-object "GrlSource")
+ (c-name "grl_source_notify_change_stop")
+ (return-type "gboolean")
(parameters
- '("GrlKeyID" "key")
+ '("GError**" "error")
)
)
-(define-method get_binary
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_get_binary")
- (return-type "const-guint8*")
+(define-method notify_change_list
+ (of-object "GrlSource")
+ (c-name "grl_source_notify_change_list")
+ (return-type "none")
(parameters
- '("GrlKeyID" "key")
- '("gsize*" "size")
+ '("GPtrArray*" "changed_medias")
+ '("GrlSourceChangeType" "change_type")
+ '("gboolean" "location_unknown")
)
)
-(define-method get_boxed
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_get_boxed")
- (return-type "gconstpointer")
+(define-method notify_change
+ (of-object "GrlSource")
+ (c-name "grl_source_notify_change")
+ (return-type "none")
(parameters
- '("GrlKeyID" "key")
+ '("GrlMedia*" "media")
+ '("GrlSourceChangeType" "change_type")
+ '("gboolean" "location_unknown")
)
)
-(define-method has_key
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_has_key")
- (return-type "gboolean")
+(define-method get_id
+ (of-object "GrlSource")
+ (c-name "grl_source_get_id")
+ (return-type "const-gchar*")
+)
+
+(define-method get_name
+ (of-object "GrlSource")
+ (c-name "grl_source_get_name")
+ (return-type "const-gchar*")
+)
+
+(define-method get_description
+ (of-object "GrlSource")
+ (c-name "grl_source_get_description")
+ (return-type "const-gchar*")
+)
+
+(define-method get_plugin
+ (of-object "GrlSource")
+ (c-name "grl_source_get_plugin")
+ (return-type "GrlPlugin*")
+)
+
+(define-method get_rank
+ (of-object "GrlSource")
+ (c-name "grl_source_get_rank")
+ (return-type "gint")
+)
+
+
+
+;; From grl-sync-priv.h
+
+(define-function grl_wait_for_async_operation_complete
+ (c-name "grl_wait_for_async_operation_complete")
+ (return-type "none")
(parameters
- '("GrlKeyID" "key")
+ '("GrlDataSync*" "ds")
)
)
-(define-method get_keys
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_get_keys")
- (return-type "GList*")
+
+
+;; From grl-type-builtins.h
+
+(define-function grl_supported_ops_get_type
+ (c-name "grl_supported_ops_get_type")
+ (return-type "GType")
)
-(define-method dup
- (of-object "GrlRelatedKeys")
- (c-name "grl_related_keys_dup")
- (return-type "GrlRelatedKeys*")
+(define-function grl_source_change_type_get_type
+ (c-name "grl_source_change_type_get_type")
+ (return-type "GType")
+)
+
+(define-function grl_type_filter_get_type
+ (c-name "grl_type_filter_get_type")
+ (return-type "GType")
+)
+
+(define-function grl_resolution_flags_get_type
+ (c-name "grl_resolution_flags_get_type")
+ (return-type "GType")
+)
+
+(define-function grl_write_flags_get_type
+ (c-name "grl_write_flags_get_type")
+ (return-type "GType")
)
diff --git a/grilo/src/media-plugin.ccg b/grilo/src/plugin.ccg
similarity index 100%
copy from grilo/src/media-plugin.ccg
copy to grilo/src/plugin.ccg
diff --git a/grilo/src/plugin.hg b/grilo/src/plugin.hg
new file mode 100644
index 0000000..f54b04e
--- /dev/null
+++ b/grilo/src/plugin.hg
@@ -0,0 +1,57 @@
+/* Copyright (c) 2012 Murray Cumming <murrayc murrayc com>
+ *
+ * This file is part of grilomm.
+ *
+ * grilomm is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 2.1 of the License,
+ * or (at your option) any later version.
+ *
+ * grilomm is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+_DEFS(grilomm,grilo)
+_CONFIGINCLUDE(grilommconfig.h)
+_PINCLUDE(glibmm/private/object_p.h)
+
+#include <glibmm.h>
+#include <vector>
+#include <grilomm/source.h>
+
+namespace Grilo
+{
+class Source;
+
+class Plugin : public Glib::Object
+{
+ _CLASS_GOBJECT(Plugin, GrlPlugin, GRL_PLUGIN, Glib::Object, GObject)
+
+protected:
+ _CTOR_DEFAULT
+
+public:
+ _WRAP_METHOD(Glib::ustring get_name() const, grl_plugin_get_name)
+ _WRAP_METHOD(Glib::ustring get_description() const, grl_plugin_get_description)
+ _WRAP_METHOD(Glib::ustring get_version() const, grl_plugin_get_version)
+ _WRAP_METHOD(Glib::ustring get_license() const, grl_plugin_get_license)
+ _WRAP_METHOD(Glib::ustring get_author() const, grl_plugin_get_author)
+ _WRAP_METHOD(Glib::ustring get_site() const, grl_plugin_get_site)
+ _WRAP_METHOD(Glib::ustring get_id() const, grl_plugin_get_id)
+ _WRAP_METHOD(Glib::ustring get_filename() const, grl_plugin_get_filename)
+
+ //TODO: _WRAP_METHOD(GModule* get_module() const, grl_plugin_get_module)
+ //TODO: _WRAP_METHOD(GList* get_info_keys() const, grl_plugin_get_info_keys)
+
+ _WRAP_METHOD(Glib::ustring get_info(const Glib::ustring& key) const, grl_plugin_get_info)
+
+#m4 _CONVERSION(`GList*',`std::vector<Glib::RefPtr<Source> >',`Glib::ListHandler<Glib::RefPtr<Source> >::list_to_vector($3, Glib::OWNERSHIP_SHALLOW)')
+ _WRAP_METHOD(std::vector<Glib::RefPtr<Source> > get_sources(), grl_plugin_get_sources)
+};
+
+} // namespace Grilo
diff --git a/grilo/src/plugin-registry.ccg b/grilo/src/registry.ccg
similarity index 100%
rename from grilo/src/plugin-registry.ccg
rename to grilo/src/registry.ccg
diff --git a/grilo/src/plugin-registry.hg b/grilo/src/registry.hg
similarity index 61%
copy from grilo/src/plugin-registry.hg
copy to grilo/src/registry.hg
index d8dc283..010c5d1 100644
--- a/grilo/src/plugin-registry.hg
+++ b/grilo/src/registry.hg
@@ -20,24 +20,26 @@ _DEFS(grilomm,grilo)
_CONFIGINCLUDE(grilommconfig.h)
_PINCLUDE(glibmm/private/object_p.h)
-#include <grilomm/media-plugin.h>
+#include <glibmm.h>
+#include <grilomm/source.h>
#include <vector>
namespace Grilo
{
-class PluginRegistry : public Glib::Object
+class Registry : public Glib::Object
{
- _CLASS_GOBJECT(PluginRegistry, GrlPluginRegistry, GRL_PLUGIN_REGISTRY, Glib::Object, GObject)
+ _CLASS_GOBJECT(Registry, GrlRegistry, GRL_REGISTRY, Glib::Object, GObject)
protected:
_CTOR_DEFAULT
public:
- _WRAP_METHOD(static Glib::RefPtr<PluginRegistry> get_default(), grl_plugin_registry_get_default)
+ _WRAP_METHOD(static Glib::RefPtr<Registry> get_default(), grl_registry_get_default, refreturn)
+ _WRAP_METHOD(void add_directory(const Glib::ustring& path), grl_registry_add_directory)
-#m4 _CONVERSION(`GList*',`std::vector<Glib::RefPtr<MediaPlugin> >',`Glib::ListHandler<Glib::RefPtr<MediaPlugin> >::list_to_vector($3, Glib::OWNERSHIP_SHALLOW)')
- _WRAP_METHOD(std::vector<Glib::RefPtr<MediaPlugin> > get_sources(bool ranked = true), grl_plugin_registry_get_sources)
+#m4 _CONVERSION(`GList*',`std::vector<Glib::RefPtr<Source> >',`Glib::ListHandler<Glib::RefPtr<Source> >::list_to_vector($3, Glib::OWNERSHIP_SHALLOW)')
+ _WRAP_METHOD(std::vector<Glib::RefPtr<Source> > get_sources(bool ranked = true), grl_registry_get_sources)
};
} // namespace Grilo
diff --git a/grilo/src/media-plugin.ccg b/grilo/src/source.ccg
similarity index 100%
rename from grilo/src/media-plugin.ccg
rename to grilo/src/source.ccg
diff --git a/grilo/src/plugin-registry.hg b/grilo/src/source.hg
similarity index 59%
rename from grilo/src/plugin-registry.hg
rename to grilo/src/source.hg
index d8dc283..052a41e 100644
--- a/grilo/src/plugin-registry.hg
+++ b/grilo/src/source.hg
@@ -20,24 +20,27 @@ _DEFS(grilomm,grilo)
_CONFIGINCLUDE(grilommconfig.h)
_PINCLUDE(glibmm/private/object_p.h)
-#include <grilomm/media-plugin.h>
-#include <vector>
+#include <glibmm.h>
+#include <grilomm/plugin.h>
namespace Grilo
{
+class Plugin;
-class PluginRegistry : public Glib::Object
+class Source : public Glib::Object
{
- _CLASS_GOBJECT(PluginRegistry, GrlPluginRegistry, GRL_PLUGIN_REGISTRY, Glib::Object, GObject)
+ _CLASS_GOBJECT(Source, GrlSource, GRL_SOURCE, Glib::Object, GObject)
protected:
_CTOR_DEFAULT
public:
- _WRAP_METHOD(static Glib::RefPtr<PluginRegistry> get_default(), grl_plugin_registry_get_default)
-
-#m4 _CONVERSION(`GList*',`std::vector<Glib::RefPtr<MediaPlugin> >',`Glib::ListHandler<Glib::RefPtr<MediaPlugin> >::list_to_vector($3, Glib::OWNERSHIP_SHALLOW)')
- _WRAP_METHOD(std::vector<Glib::RefPtr<MediaPlugin> > get_sources(bool ranked = true), grl_plugin_registry_get_sources)
+ _WRAP_METHOD(Glib::ustring get_id() const, grl_source_get_id)
+ _WRAP_METHOD(Glib::ustring get_name() const, grl_source_get_name)
+ _WRAP_METHOD(Glib::ustring get_description() const, grl_source_get_description)
+ _WRAP_METHOD(Glib::RefPtr<Plugin> get_plugin(), grl_source_get_plugin, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Plugin> get_plugin() const, grl_source_get_plugin, refreturn, constversion)
+ _WRAP_METHOD(int get_rank() const, grl_source_get_rank)
};
} // namespace Grilo
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]