diff --git a/modules/control/dbus.c b/modules/control/dbus.c index 0b8f3923ded4832698d1d2914e44bf26ef0408ce..11349dd59a135243ee4aced33c14e4c46a8e8a24 100644 --- a/modules/control/dbus.c +++ b/modules/control/dbus.c @@ -99,6 +99,16 @@ DBUS_METHOD( Nothing ) REPLY_SEND; } +DBUS_METHOD( Quit ) +{ /* exits vlc */ + REPLY_INIT; + playlist_t *p_playlist = pl_Yield( (vlc_object_t*) p_this ); + playlist_Stop( p_playlist ); + pl_Release( ((vlc_object_t*) p_this) ); + ((vlc_object_t*)p_this)->b_die = VLC_TRUE; + REPLY_SEND; +} + DBUS_METHOD( GetPlayStatus ) { /* return a string */ REPLY_INIT; @@ -239,6 +249,7 @@ DBUS_METHOD( handle_messages ) METHOD_FUNC( "AddMRL", AddMRL ); METHOD_FUNC( "TogglePause", TogglePause ); METHOD_FUNC( "Nothing", Nothing ); + METHOD_FUNC( "Quit", Quit ); return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } diff --git a/modules/control/dbus.h b/modules/control/dbus.h index 533911a9d7542b96b1cfe61d0d67caec50df0dbb..c4443babba7a5e8c61b71c3c3c7bbd40ec3029a9 100644 --- a/modules/control/dbus.h +++ b/modules/control/dbus.h @@ -97,6 +97,7 @@ const char* psz_introspection_xml_data = " \n" " \n" " \n" +" \n" " \n" " \n" "\n"