]> git.sesse.net Git - vlc/commitdiff
dbus fixes
authorRafaël Carré <rafael.carre@gmail.com>
Thu, 19 May 2011 03:07:21 +0000 (23:07 -0400)
committerRafaël Carré <rafael.carre@gmail.com>
Thu, 19 May 2011 03:41:25 +0000 (23:41 -0400)
really route messages to tracklist interface
fix DBUS_MPRIS_TRACKLIST_INTERFACE definition
fix CanQuit/CanRaise/HasTracklist input types

fix AddTrack function
The function has changed in mpris 2.1, but the additional parameter isn't being used by VLC (yet)

modules/control/dbus/dbus.c
modules/control/dbus/dbus_root.c
modules/control/dbus/dbus_tracklist.c
modules/control/dbus/dbus_tracklist.h

index b5ffe53742405c361d1d74c9301b36171896e8f3..1761ad86988ffa0e3ebd80880d13ee0888a36bba 100644 (file)
@@ -818,6 +818,9 @@ MPRISEntryPoint ( DBusConnection *p_conn, DBusMessage *p_from, void *p_this )
     if( !strcmp( psz_target_interface, DBUS_MPRIS_PLAYER_INTERFACE ) )
         return handle_player( p_conn, p_from, p_this );
 
+    if( !strcmp( psz_target_interface, DBUS_MPRIS_TRACKLIST_INTERFACE ) )
+        return handle_tracklist( p_conn, p_from, p_this );
+
     return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
 }
 
index 96f88689ec51d6e5f06a593735e3808da2660325..579d556e13f59daeb51cd569df88ef4145b2c301 100644 (file)
@@ -64,7 +64,7 @@ DBUS_METHOD( CanQuit )
     const dbus_bool_t b_ret = TRUE;
 
     DBusMessageIter v;
-    dbus_message_iter_open_container( &args, DBUS_TYPE_VARIANT, "s", &v );
+    dbus_message_iter_open_container( &args, DBUS_TYPE_VARIANT, "b", &v );
     dbus_message_iter_append_basic( &v, DBUS_TYPE_BOOLEAN, &b_ret );
 
     if( !dbus_message_iter_close_container( &args, &v ) )
@@ -82,7 +82,7 @@ DBUS_METHOD( CanRaise )
     const dbus_bool_t b_ret = FALSE;
 
     DBusMessageIter v;
-    dbus_message_iter_open_container( &args, DBUS_TYPE_VARIANT, "s", &v );
+    dbus_message_iter_open_container( &args, DBUS_TYPE_VARIANT, "b", &v );
     dbus_message_iter_append_basic( &v, DBUS_TYPE_BOOLEAN, &b_ret );
 
     if( !dbus_message_iter_close_container( &args, &v ) )
@@ -100,7 +100,7 @@ DBUS_METHOD( HasTrackList )
     const dbus_bool_t b_ret = FALSE;
 
     DBusMessageIter v;
-    dbus_message_iter_open_container( &args, DBUS_TYPE_VARIANT, "s", &v );
+    dbus_message_iter_open_container( &args, DBUS_TYPE_VARIANT, "b", &v );
     dbus_message_iter_append_basic( &v, DBUS_TYPE_BOOLEAN, &b_ret );
 
     if( !dbus_message_iter_close_container( &args, &v ) )
index a945e0d0bf5a3447c7582e69a718b0588df96cfa..6fa81786bdee459cd4b3937c35076e2458f66a0f 100644 (file)
 DBUS_METHOD( AddTrack )
 { /* add the string to the playlist, and play it if the boolean is true */
     REPLY_INIT;
-    OUT_ARGUMENTS;
 
     DBusError error;
     dbus_error_init( &error );
 
-    char *psz_mrl;
+    char *psz_mrl, *psz_aftertrack;
     dbus_bool_t b_play;
 
     dbus_message_get_args( p_from, &error,
             DBUS_TYPE_STRING, &psz_mrl,
+            DBUS_TYPE_OBJECT_PATH, &psz_aftertrack,
             DBUS_TYPE_BOOLEAN, &b_play,
             DBUS_TYPE_INVALID );
 
@@ -60,13 +60,11 @@ DBUS_METHOD( AddTrack )
         return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
     }
 
+#warning psz_aftertrack is not used
     playlist_Add( PL, psz_mrl, NULL, PLAYLIST_APPEND |
             ( ( b_play == TRUE ) ? PLAYLIST_GO : 0 ) ,
             PLAYLIST_END, true, false );
 
-    dbus_int32_t i_success = 0;
-    ADD_INT32( &i_success );
-
     REPLY_SEND;
 }
 
index a97e30d987a9ce8e4cdd5cb515306d5ad9c91337..c6cb5996a388cd37992eb5b9e6d82a692ebb32d2 100644 (file)
@@ -31,8 +31,8 @@
 #include <vlc_interface.h>
 #include "dbus_common.h"
 
-#define DBUS_MPRIS_TRACKLIST_INTERFACE    "org.mpris.MediaPlayer.TrackList"
-#define DBUS_MPRIS_TRACKLIST_PATH         "/org/mpris/MediaPlayer/TrackList"
+#define DBUS_MPRIS_TRACKLIST_INTERFACE    "org.mpris.MediaPlayer2.TrackList"
+#define DBUS_MPRIS_TRACKLIST_PATH         "/org/mpris/MediaPlayer2/TrackList"
 
 /* Handle incoming dbus messages */
 DBusHandlerResult handle_tracklist ( DBusConnection *p_conn,