[rygel] docs: librygel-renderer: Add an Implementing section.



commit 77b85ecec9d62b162d60d56c7e28c05e75f4e7ef
Author: Murray Cumming <murrayc murrayc com>
Date:   Fri Nov 23 12:26:41 2012 +0100

    docs: librygel-renderer: Add an Implementing section.
    
    And show the C example source code.

 doc/reference/librygel-renderer/Makefile.am        |    3 +
 .../gtkdoc/implementing-renderer-plugins.xml       |   50 ++++++++++++++++++++
 .../gtkdoc/librygel-renderer-docs.xml              |    5 ++
 3 files changed, 58 insertions(+), 0 deletions(-)
---
diff --git a/doc/reference/librygel-renderer/Makefile.am b/doc/reference/librygel-renderer/Makefile.am
index dc073c5..da0f6b1 100644
--- a/doc/reference/librygel-renderer/Makefile.am
+++ b/doc/reference/librygel-renderer/Makefile.am
@@ -20,6 +20,9 @@ RYGEL_DOCBUILD_VALADOC_FLAGS = \
 
 RYGEL_DOCBUILD_MODULE = rygel-renderer
 RYGEL_DOCBUILD_EXTRA_GTKDOC_OPTIONS = -X -l -X $(top_builddir)/src/librygel-core/.libs/librygel-core-2.0.so
+
+RYGEL_GTKDOC_DOCS_XML_EXTRA = $(top_srcdir)/doc/reference/lib$(RYGEL_DOCBUILD_MODULE)/gtkdoc/implementing-renderer-plugins.xml
+
 endif
 
 include $(top_srcdir)/doc/reference/doc-build.am
diff --git a/doc/reference/librygel-renderer/gtkdoc/implementing-renderer-plugins.xml b/doc/reference/librygel-renderer/gtkdoc/implementing-renderer-plugins.xml
new file mode 100644
index 0000000..6138b75
--- /dev/null
+++ b/doc/reference/librygel-renderer/gtkdoc/implementing-renderer-plugins.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"; [
+<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
+<!ENTITY url_git_browse_base_src "http://git.gnome.org/browse/rygel/tree/src/";>
+<!ENTITY url_refdocs_librygel_renderer_gst "developer.gnome.org/librygel-renderer-gst/unstable/">
+]>
+
+<section id="implementing-renderer-plugins">
+
+<para>
+This library may be used to create Rygel renderer plugins by 
+implementing the <link linkend="RygelMediaRendererPlugin">RygelMediaRendererPlugin</link> class.
+</para>
+
+<!-- TODO: Find a way to mention this C example code in the RygelMediaRendererPlugin valadoc comments instead. -->
+<para>
+This example source code shows how to implement a Rygel Renderer plugin.</para>
+
+<para>This example implements a <link linkend="RygelMediaPlayer">RygelMediaPlayer</link> that simply prints the
+addresses of any URIs provided to it by a UPnP/DLNA controller. A real Rygel renderer plugin's player
+would render the actual media content to some device. See, for instance, the
+<ulink url="&url_refdocs_librygel_renderer_gst;RygelPlaybinPlayer.html">RygelPlaybinPlayer</ulink> from the
+librygel-renderer-gst library.
+</para>
+
+<!-- Do not indent the xi:include node. That puts spaces at the start of the code. -->
+<programlisting role="C">
+<xi:include  href="../../../../examples/renderer-plugins/C/example-renderer-plugin.h"
+    parse="text"
+    xmlns:xi="http://www.w3.org/2001/XInclude"/>
+</programlisting>
+<programlisting role="C">
+<xi:include  href="../../../../examples/renderer-plugins/C/example-renderer-plugin.c"
+    parse="text"
+    xmlns:xi="http://www.w3.org/2001/XInclude"/>
+</programlisting>
+<programlisting role="C">
+<xi:include  href="../../../../examples/renderer-plugins/C/example-player.h"
+    parse="text"
+    xmlns:xi="http://www.w3.org/2001/XInclude"/>
+</programlisting>
+<programlisting role="C">
+<xi:include  href="../../../../examples/renderer-plugins/C/example-player.c"
+    parse="text"
+    xmlns:xi="http://www.w3.org/2001/XInclude"/>
+</programlisting>
+
+</section>
+
diff --git a/doc/reference/librygel-renderer/gtkdoc/librygel-renderer-docs.xml b/doc/reference/librygel-renderer/gtkdoc/librygel-renderer-docs.xml
index 408316c..ac24711 100644
--- a/doc/reference/librygel-renderer/gtkdoc/librygel-renderer-docs.xml
+++ b/doc/reference/librygel-renderer/gtkdoc/librygel-renderer-docs.xml
@@ -20,6 +20,11 @@
     <xi:include href="overview.xml"/>
   </preface>
 
+  <chapter>
+    <title>Implementing Rygel Renderer Plugins</title>
+    <xi:include href="implementing-renderer-plugins.xml"/>
+  </chapter>
+
   <!-- These are generated: -->
   <chapter>
     <title>librygel-renderer API Reference</title>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]