<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://docbook.org/xml/4.5/docbookx.dtd" [
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY url_refdocs_base "http://developer.gnome.org/grilo/unstable/">
<!ENTITY url_examples_base "http://git.gnome.org/browse/grilo-plugins/tree/help/examples/">
<!ENTITY uuml "&#252;">
<!ENTITY szlig "&#223;">
<!ENTITY verbar "&#124;">
<!ENTITY copy "&#169;">
<!ENTITY nbsp "&#160;">
]>
<!-- The XSL for developer.gnome.org requires this id. --><book id="index" lang="hu">

  <bookinfo>

    <title>Grilo bővítmények</title>

    <authorgroup>
      <author><firstname>Murray</firstname> <surname>Cumming</surname></author>
    </authorgroup>

    <abstract>

      <!-- This text is copied from the introduction. -->
      <para>A Grilo egy keretrendszer a különböző forrásokból származó médiatartalmak böngészésére és keresésére egyetlen API segítségével. A Grilo bővítmények a Grilo keretrendszerhez készült bővítmények, hogy hozzáférést biztosítsanak a különböző médiaforrásokhoz és metaadatokhoz.</para>
    </abstract>

    <copyright><year>2012</year> <holder>Openismus GmbH</holder></copyright>

    <legalnotice>
      <para>Engedélyt adunk Önnek a jelen dokumentum sokszorosítására, terjesztésére és/vagy módosítására a Free Software Foundation által kiadott GNU Free Documentation License (GFDL) 1.2-es, vagy bármely azt követő verziójának feltételei alapján. Nincs Nem Változtatható szakasz, nincs Címlapszöveg, nincs Hátlapszöveg. A GNU Free Documentation License egy példányát a Free Software Foundation alapítványtól szerezheti be a weboldaluk meglátogatásával vagy az alábbi címre történő levélküldéssel: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA.</para>
    </legalnotice>

  <othercredit class="translator"><personname><firstname>Úr Balázs</firstname></personname><email>ur dot balazs at fsf dot hu</email></othercredit><copyright><year>2022.</year><holder>Úr Balázs</holder></copyright></bookinfo>

<chapter id="chapter-introduction">
<title>Bevezetés</title>

<para>A Grilo egy keretrendszer a különböző forrásokból származó médiatartalmak böngészésére és keresésére egyetlen API segítségével. A Grilo bővítmények a Grilo keretrendszerhez készült bővítmények, hogy hozzáférést biztosítsanak a különböző médiaforrásokhoz és metaadatokhoz.</para>
</chapter>


<chapter id="chapter-plugins">
<title>Grilo bővítmények</title>


<sect1 id="sec-plugin-bookmarks">
<title>Könyvjelzők</title>
<para>Ez egy Grilo bővítmény a könyvjelzőkhöz. A bővítmény azonosítója a „<literal>grl-bookmarks</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-dmap">
<title>DMap</title>
<para>Ez egy Grilo bővítmény a DMaphoz. A bővítmény azonosítója a „<literal>grl-dmap</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-filesystem">
<title>Fájlrendszer</title>
<para>Ez egy Grilo bővítmény a fájlrendszerhez. A bővítmény azonosítója a „<literal>grl-filesystem</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-flickr">
<title>Flickr</title>
<para>Ez egy Grilo bővítmény a Flickrhez. A bővítmény azonosítója a „<literal>grl-flickr</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-gravatar">
<title>Gravatar</title>
<para>Ez egy Grilo bővítmény a Gravatarhoz. A bővítmény azonosítója a „<literal>grl-gravatar</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-jamendo">
<title>Jamendo</title>
<para>Ez egy Grilo bővítmény a Jamendohoz. A bővítmény azonosítója a „<literal>grl-jamendo</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-local-metadata">
<title>Helyi metaadatok</title>
<para>Ez egy Grilo bővítmény a helyi metaadatokhoz. A bővítmény azonosítója a „<literal>grl-local-metadata</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-metadata-store">
<title>Metaadatok tárolója</title>
<para>Ez egy Grilo bővítmény a metaadatok tárolójához. A bővítmény azonosítója a „<literal>grl-local-metadata</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-optical-media">
<title>Optikai média</title>
<para>Ez egy Grilo bővítmény az optikai médiához. A bővítmény azonosítója a „<literal>grl-optical-media</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-podcasts">
<title>Podcastok</title>
<para>Ez egy Grilo bővítmény a podcastokhoz. A bővítmény azonosítója a „<literal>grl-podcasts</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-shoutcast">
<title>Shoutcast</title>
<para>Ez egy Grilo bővítmény a Shoutcasthoz. A bővítmény azonosítója a „<literal>grl-shoutcast</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-tmdb">
<title>TMDb bővítmény</title>
<para>A TMDb bővítmény a filmekkel kapcsolatos információkat kéri le a <ulink url="http://themoviedb.org">TMDb internetes szolgáltatásból</ulink>, amely egy közösség által karbantartott filmadatbázis. A bővítmény azonosítója a „<literal>grl-tmdb</literal>”.</para>
<para>A bővítmény használata előtt be kell állítania a TMDB API-kulcsot a <ulink url="http://developer.gnome.org/grilo/unstable/GrlConfig.html#grl-config-set-api-key"><function>grl_config_set_api_key()</function></ulink> segítségével.</para>
<para>Ezután használhatja a <ulink url="http://developer.gnome.org/grilo/unstable/GrlSource.html#grl-source-resolve"><function>grl_source_resolve()</function></ulink> függvényt a meglévő GrlMediaItem elemmel kapcsolatos részletek felfedezéséhez.</para>
<para>Ez a bővítmény nem támogatja a <ulink url="http://developer.gnome.org/grilo/unstable/GrlSource.html#grl-source-search"><function>grl_source_search()</function></ulink> függvényen keresztüli keresést vagy a <ulink url="http://developer.gnome.org/grilo/unstable/GrlSource.html#grl-source-query"><function>grl_source_query()</function></ulink> függvényen keresztüli lekérdezéseket.</para>

<para>Itt egy egyszerű példa a Grilo TMDb bővítmény használatára:</para>

<para>Fájl: <ulink url="http://git.gnome.org/browse/grilo-plugins/tree/help/examples/example-tmdb.c"><filename>example-tmdb.c</filename></ulink></para>
<programlisting>
/*
 * Copyright (C) 2012 Canonical Ltd.
 *
 * Author: Jens Georg &lt;jensg@openismus.com&gt;
 *
 * This library 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; version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This library 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 library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA
 *
 */

#include &lt;grilo.h&gt;
#include &lt;stdio.h&gt;

/**
 * Ez a TMDB-kulcs csak teszteléshez van.
 * A valódi használathoz kérjen saját kulcsot az alábbi oldalon:
 * http://api.themoviedb.org
 */
#define TMDB_KEY "719b9b296835b04cd919c4bf5220828a"

#define TMDB_PLUGIN_ID "grl-tmdb"

GMainLoop *loop = NULL;
GrlKeyID director_key = 0;

static void
resolve_cb (GrlSource *src, guint operation_id, GrlMedia *media, gpointer user_data, const GError *error)
{
  const char *title, *studio;

  g_assert_no_error (error);
  g_assert (media);

  title = grl_media_get_title (media);
  studio = grl_media_get_studio (media);
  printf ("Media: Title='%s', Studio='%s'\n",
    title, studio);

  if (director_key != 0) {
    const gchar *director =
      grl_data_get_string (GRL_DATA (media), director_key);
    printf ("  Director=%s\n", director);
  }

  g_main_loop_quit (loop);
}

int main (int argc, char *argv[])
{
  GrlRegistry *reg;
  GrlConfig *config;
  GError *error = NULL;
  GrlSource *src;
  gboolean plugin_activated;
  GrlCaps *caps;
  GrlOperationOptions *options;
  GrlMedia *media;
  const GList *keys;
  const GList* l;

  grl_init (&amp;argc, &amp;argv);

  /*
   * A TMDB API-kulcs beállítása:
   * A saját TMDB API-kulcsát kell használnia a saját alkalmazásában.
   */
  reg = grl_registry_get_default ();
  config = grl_config_new (TMDB_PLUGIN_ID, NULL);
  grl_config_set_api_key (config, TMDB_KEY);
  grl_registry_add_config (reg, config, NULL);
  grl_registry_load_all_plugins (reg, FALSE, NULL);

  /*
   * A bővítmény lekérése:
   */
  error = NULL;
  plugin_activated =
    grl_registry_activate_plugin_by_id (reg, TMDB_PLUGIN_ID, &amp;error);
  g_assert (plugin_activated);
  g_assert_no_error (error);

  /*
   * A Grilo forrás lekérése:
   */
  src = grl_registry_lookup_source (reg, TMDB_PLUGIN_ID);

  /*
   * Annak ellenőrzése, hogy rendelkezik-e az elvárt képességekkel:
   */
  g_assert (grl_source_supported_operations (src) &amp; GRL_OP_RESOLVE);
  caps = grl_source_get_caps (src, GRL_OP_RESOLVE);
  g_assert (caps);

  options = grl_operation_options_new (caps);

  /*
   * Egy médiaelem, amelyet átadunk a TMDB bővítménynek,
   * hogy felfedezze annak részleteit.
   */
  media = grl_media_video_new ();
  grl_media_set_title (media, "Sherlock Holmes");

  /*
   * Annak felfedezése, hogy mely kulcsokat biztosítja a forrás:
   */
  keys = grl_source_supported_keys (src);
  for (l = keys; l != NULL; l = l-&gt;next) {
    const gchar *name;
    GrlKeyID id = GPOINTER_TO_INT (l-&gt;data);

    g_assert (id);

    name = grl_metadata_key_get_name (id);
    printf ("Supported key: %s\n", name);

    /*
     * Emlékezzen erre a későbbi használatnál:
     * Használhatja inkább ezt: grl_registry_lookup_metadata_key_name().
     */
    if (g_strcmp0 (name, "tmdb-director") == 0) {
      director_key = id;
    }
  }

  /*
   * A TMDB bővítménytől a médiaelem részleteinek kérése
   * a TMDB online szolgáltatásból:
   */
  grl_source_resolve (src, media,
    keys, options,
    resolve_cb, NULL);

  /*
   * A fő hurok indítása, hogy a visszahívásunk meghívható legyen:
   */
  loop = g_main_loop_new (NULL, FALSE);
  g_main_loop_run (loop);

  /*
   * Objektumok felszabadítása:
   */
  g_object_unref (media);
  g_object_unref (config);
  g_object_unref (options);

  /*
   * A Grilo előkészítésének megszüntetése:
   */
  grl_deinit ();
}



</programlisting>

</sect1>

<sect1 id="sec-plugin-tracker">
<title>Követő</title>
<para>Ez egy Grilo bővítmény a Követőhöz. A bővítmény azonosítója a „<literal>grl-tracker</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-vimeo">
<title>Vimeo</title>
<para>Ez egy Grilo bővítmény a Vimeohoz. A bővítmény azonosítója a „<literal>grl-vimeo</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-youtube">
<title>YouTube</title>
<para>Ez egy Grilo bővítmény a YouTube-hoz. A bővítmény azonosítója a „<literal>grl-youtube</literal>”.</para>
</sect1>

<sect1 id="sec-plugin-dleyna">
<title>DLeyna</title>
<para>Ez egy Grilo bővítmény az UPnP/DLNA-hoz. A bővítmény azonosítója a „<literal>grl-dleyna</literal>”.</para>
</sect1>

</chapter>

</book>
