diff options
author | Jens Georg <jensg@openismus.com> | 2013-04-12 12:56:12 +0200 |
---|---|---|
committer | Jens Georg <jensg@openismus.com> | 2013-04-30 10:46:56 +0200 |
commit | 9dfc1b70b734f4c4bd04a397ee4be94cffe9c7d7 (patch) | |
tree | 1489caf7f04f359169f8ce6a763ab0a9df7e5207 | |
parent | 8df7ce0a23e51204c7c86cef4231af02ca504ff6 (diff) | |
download | rygel-9dfc1b70b734f4c4bd04a397ee4be94cffe9c7d7.tar.gz |
server: Add support non-fs-based WritableContainer
https://bugzilla.gnome.org/show_bug.cgi?id=697949
-rw-r--r-- | src/librygel-server/rygel-media-object.vala | 7 | ||||
-rw-r--r-- | src/librygel-server/rygel-writable-container.vala | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/librygel-server/rygel-media-object.vala b/src/librygel-server/rygel-media-object.vala index 6b3953a0..3d6c0a40 100644 --- a/src/librygel-server/rygel-media-object.vala +++ b/src/librygel-server/rygel-media-object.vala @@ -265,6 +265,13 @@ public abstract class Rygel.MediaObject : GLib.Object { private async bool check_writable (File file, Cancellable? cancellable) throws Error { + // Special URI scheme to indicate that this is a writable container + // but doesn't have any real filesystem backing + if (WritableContainer.WRITABLE_SCHEME.has_prefix + (file.get_uri_scheme())) { + return true; + } + if (!file.is_native ()) { return false; } diff --git a/src/librygel-server/rygel-writable-container.vala b/src/librygel-server/rygel-writable-container.vala index 44bd609f..f293f9d8 100644 --- a/src/librygel-server/rygel-writable-container.vala +++ b/src/librygel-server/rygel-writable-container.vala @@ -41,6 +41,8 @@ public errordomain Rygel.WritableContainerError { * # Monitor not only its own URI but also that of its child items, though the latter is implied in the former if you use GIO for monitoring. */ public interface Rygel.WritableContainer : MediaContainer { + public static const string WRITABLE_SCHEME = "rygel-writable://"; + //TODO: The valadoc gtk-doc doclet doesn't use the property's documentation //on getters and setters: //https://bugzilla.gnome.org/show_bug.cgi?id=684193 |