[rygel] docs: MediaContainer: Mention derived interfaces
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] docs: MediaContainer: Mention derived interfaces
- Date: Mon, 11 Feb 2013 08:51:35 +0000 (UTC)
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]