aboutsummaryrefslogtreecommitdiff
path: root/src/mpris2-interfaces.vala
diff options
context:
space:
mode:
authorConor Curran <conor.curran@canonical.com>2010-12-17 16:25:04 +0000
committerConor Curran <conor.curran@canonical.com>2010-12-17 16:25:04 +0000
commit80ce8f642c251dc765267fa1b1978fec59d23c97 (patch)
tree3966c20e333cc79744fe54e4aa699a693b934efd /src/mpris2-interfaces.vala
parent7ea64f857b5f76cd06e01bfe49eda27c2d2da335 (diff)
parent032797fd7a92bc8a4fd979ddc12cacb0918ca73b (diff)
downloadayatana-indicator-sound-80ce8f642c251dc765267fa1b1978fec59d23c97.tar.gz
ayatana-indicator-sound-80ce8f642c251dc765267fa1b1978fec59d23c97.tar.bz2
ayatana-indicator-sound-80ce8f642c251dc765267fa1b1978fec59d23c97.zip
playlists - working nicely
Diffstat (limited to 'src/mpris2-interfaces.vala')
-rw-r--r--src/mpris2-interfaces.vala30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/mpris2-interfaces.vala b/src/mpris2-interfaces.vala
index ebea135..4f01c4c 100644
--- a/src/mpris2-interfaces.vala
+++ b/src/mpris2-interfaces.vala
@@ -1,6 +1,5 @@
/*
Copyright 2010 Canonical Ltd.
-
Authors:
Conor Curran <conor.curran@canonical.com>
@@ -22,6 +21,8 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
public interface MprisRoot : Object {
// properties
public abstract bool HasTracklist{owned get; set;}
+ //waiting for MPRIS approval
+ //public abstract bool HasPlaylist{owned get; set;}
public abstract bool CanQuit{owned get; set;}
public abstract bool CanRaise{owned get; set;}
public abstract string Identity{owned get; set;}
@@ -44,3 +45,30 @@ public interface MprisPlayer : Object {
// signals
public signal void Seeked(int64 new_position);
}
+
+// Playlist container
+public struct PlaylistDetails{
+ public ObjectPath path;
+ public string name;
+ public string icon_path;
+}
+// Active playlist property container
+public struct ActivePlaylistContainer{
+ public bool valid;
+ public PlaylistDetails details;
+}
+
+[DBus (name = "org.mpris.MediaPlayer2.Playlists")]
+public interface MprisPlaylists : Object {
+ //properties
+ public abstract string[] Orderings{owned get; set;}
+ public abstract uint32 PlaylistCount{owned get; set;}
+ public abstract ActivePlaylistContainer ActivePlaylist {owned get; set;}
+
+ //methods
+ public abstract async void ActivatePlaylist(ObjectPath playlist_id) throws IOError;
+ public abstract PlaylistDetails[] GetPlaylists ( uint32 index,
+ uint32 max_count,
+ string order,
+ bool reverse_order ) throws IOError;
+} \ No newline at end of file