[rygel] docs: MediaContainer: Mention derived interfaces



commit ff569e6e7498322359919d9a22f6c66eceba9820
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Feb 11 09:51:19 2013 +0100

    docs: MediaContainer: Mention derived interfaces

 src/librygel-server/rygel-media-container.vala     |   15 +++++++++++++++
 src/librygel-server/rygel-media-server-plugin.vala |    7 +++++++
 .../rygel-searchable-container.vala                |    2 +-
 3 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/src/librygel-server/rygel-media-container.vala b/src/librygel-server/rygel-media-container.vala
index bee84fb..b02d5c9 100644
--- a/src/librygel-server/rygel-media-container.vala
+++ b/src/librygel-server/rygel-media-container.vala
@@ -43,6 +43,21 @@ public enum Rygel.ObjectEventType {
  *
  * When used as a root container, you may wish to use the variables, such as
  * REALNAME, in in the title. See the title property of the #RygelMediaObject.
+ *
+ * If the container should support UPnP search operations then you also implement
+ * the #RygelSearchableContainer interface.
+ *
+ * If the container should be writable, meaning that it allows adding, removal and
+ * editing of items then you should also implement the #RygelWritableContainer
+ * interface.
+ *
+ * If the container should support the change tracking profile of the UPnP
+ * ContentDirectory:3 specification then you should also implement the 
+ * #RygelTrackableContainer interface.
+ *
+ * The #RygelSimpleContainer class contains a simple memory-based container
+ * implementation, but most real-world uses will require custom container
+ * implementations.
  */
 public abstract class Rygel.MediaContainer : MediaObject {
     // Magic ID used by DLNA to denote any container that can create the item
diff --git a/src/librygel-server/rygel-media-server-plugin.vala b/src/librygel-server/rygel-media-server-plugin.vala
index 7d1f424..586a81e 100644
--- a/src/librygel-server/rygel-media-server-plugin.vala
+++ b/src/librygel-server/rygel-media-server-plugin.vala
@@ -26,6 +26,12 @@
  * This is the base class for every Rygel implementation of a UPnP media
  * server. It should be used either for a real plug-in for the Rygel process or used
  * in-process via the librygel-server API.
+ *
+ * The plugin instance should have a #RygelMediaContainer instance as its
+ * root container, which may be provided to the constructor.
+ *
+ * See the
+ * <link linkend="implementing-server-plugins">Implementing Server Plugins</link> section.
  */
 public abstract class Rygel.MediaServerPlugin : Rygel.Plugin {
     private static const string DMS = "urn:schemas-upnp-org:device:MediaServer";
@@ -95,6 +101,7 @@ public abstract class Rygel.MediaServerPlugin : Rygel.Plugin {
         }
     }
 
+    // TODO: Document this, or make it unnecessary.
     public override void apply_hacks (RootDevice device,
                                      string     description_path)
                                      throws Error {
diff --git a/src/librygel-server/rygel-searchable-container.vala b/src/librygel-server/rygel-searchable-container.vala
index 3ac8090..e9563d6 100644
--- a/src/librygel-server/rygel-searchable-container.vala
+++ b/src/librygel-server/rygel-searchable-container.vala
@@ -33,7 +33,7 @@ using Gee;
  * Classes that implement this interface can, for instance:
  *
  *  # Allow backends to implement a UPnP Search call using native searching (such as SQL or SPARQL queries).
- *  # Provide the naÃve default implementation of search, from this base class, which does a recursive tree walk.
+ *  # Implement searching via the naÃve default implementation provided by rygel_searchable_container_simple_search(), which does a recursive tree walk.
  *
  * The search_classes property lists what information this container may be searched
  * for. It is mapped to upnp:searchClass (with includeDerived assumed to be false),


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