dbus: Implement the MPRIS Raise method for the Qt interface
[vlc.git] / modules / control / dbus / dbus_introspect.h
blobff84c38d2f4d8fa94c581068ddadd131067e99fa
1 /*****************************************************************************
2 * dbus-introspect.h : dbus control module (mpris v2.1) - introspection data
3 *****************************************************************************
4 * Copyright © 2006-2011 Rafaël Carré
5 * Copyright © 2007-2011 Mirsal Ennaime
6 * Copyright © 2009-2011 The VideoLAN team
7 * $Id$
9 * Authors: Mirsal Ennaime <mirsal at mirsal fr>
10 * Rafaël Carré <funman at videolanorg>
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
25 *****************************************************************************/
27 #ifndef _VLC_DBUS_INTROSPECT_H
28 #define _VLC_DBUS_INTROSPECT_H
30 #include "dbus_common.h"
32 /* XML data to answer org.freedesktop.DBus.Introspectable.Introspect requests */
33 static const char* psz_introspection_xml =
34 "<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n"
35 "\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n"
36 "<node>\n"
37 " <interface name=\"org.freedesktop.DBus.Introspectable\">\n"
38 " <method name=\"Introspect\">\n"
39 " <arg name=\"data\" direction=\"out\" type=\"s\"/>\n"
40 " </method>\n"
41 " </interface>\n"
42 " <interface name=\"org.freedesktop.DBus.Properties\">\n"
43 " <method name=\"Get\">\n"
44 " <arg direction=\"in\" type=\"s\"/>\n"
45 " <arg direction=\"in\" type=\"s\"/>\n"
46 " <arg direction=\"out\" type=\"v\"/>\n"
47 " </method>\n"
48 " <method name=\"Set\">\n"
49 " <arg direction=\"in\" type=\"s\"/>\n"
50 " <arg direction=\"in\" type=\"s\"/>\n"
51 " <arg direction=\"in\" type=\"v\"/>\n"
52 " </method>\n"
53 " <signal name=\"PropertiesChanged\">\n"
54 " <arg type=\"s\"/>\n"
55 " <arg type=\"a{sv}\"/>\n"
56 " <arg type=\"as\"/>\n"
57 " </signal>\n"
58 " </interface>\n"
59 " <interface name=\"org.mpris.MediaPlayer2\">\n"
60 " <property name=\"Identity\" type=\"s\" access=\"read\" />\n"
61 " <property name=\"DesktopEntry\" type=\"s\" access=\"read\" />\n"
62 " <property name=\"SupportedMimeTypes\" type=\"as\" access=\"read\" />\n"
63 " <property name=\"SupportedUriSchemes\" type=\"as\" access=\"read\" />\n"
64 " <property name=\"HasTrackList\" type=\"b\" access=\"read\" />\n"
65 " <property name=\"CanQuit\" type=\"b\" access=\"read\" />\n"
66 " <property name=\"CanRaise\" type=\"b\" access=\"read\" />\n"
67 " <method name=\"Quit\" />\n"
68 " <method name=\"Raise\" />\n"
69 " </interface>\n"
70 " <interface name=\"org.mpris.MediaPlayer2.Player\">\n"
71 " <property name=\"Metadata\" type=\"a{sv}\" access=\"read\" />\n"
72 " <property name=\"PlaybackStatus\" type=\"s\" access=\"read\" />\n"
73 " <property name=\"LoopStatus\" type=\"s\" access=\"readwrite\" />\n"
74 " <property name=\"Volume\" type=\"d\" access=\"readwrite\" />\n"
75 " <property name=\"Shuffle\" type=\"d\" access=\"readwrite\" />\n"
76 " <property name=\"Position\" type=\"i\" access=\"read\" />\n"
77 " <property name=\"Rate\" type=\"d\" access=\"readwrite\" />\n"
78 " <property name=\"MinimumRate\" type=\"d\" access=\"readwrite\" />\n"
79 " <property name=\"MaximumRate\" type=\"d\" access=\"readwrite\" />\n"
80 " <property name=\"CanControl\" type=\"b\" access=\"read\" />\n"
81 " <property name=\"CanPlay\" type=\"b\" access=\"read\" />\n"
82 " <property name=\"CanPause\" type=\"b\" access=\"read\" />\n"
83 " <property name=\"CanSeek\" type=\"b\" access=\"read\" />\n"
84 " <method name=\"Previous\" />\n"
85 " <method name=\"Next\" />\n"
86 " <method name=\"Stop\" />\n"
87 " <method name=\"Play\" />\n"
88 " <method name=\"Pause\" />\n"
89 " <method name=\"PlayPause\" />\n"
90 " <method name=\"Seek\">\n"
91 " <arg type=\"x\" direction=\"out\" />\n"
92 " </method>"
93 " <method name=\"OpenUri\">\n"
94 " <arg type=\"s\" direction=\"in\" />\n"
95 " </method>\n"
96 " <method name=\"SetPosition\">\n"
97 " <arg type=\"o\" direction=\"in\" />\n"
98 " <arg type=\"x\" direction=\"in\" />\n"
99 " </method>\n"
100 " </interface>\n"
101 " <interface name=\"org.mpris.MediaPlayer2.TrackList\">\n"
102 " <property name=\"Tracks\" type=\"ao\" access=\"read\" />\n"
103 " <property name=\"CanEditTracks\" type=\"b\" access=\"read\" />\n"
104 " <method name=\"GetTracksMetadata\">\n"
105 " <arg type=\"ao\" direction=\"in\" />\n"
106 " <arg type=\"aa{sv}\" direction=\"out\" />\n"
107 " </method>\n"
108 " <method name=\"AddTrack\">\n"
109 " <arg type=\"s\" direction=\"in\" />\n"
110 " <arg type=\"o\" direction=\"in\" />\n"
111 " <arg type=\"b\" direction=\"in\" />\n"
112 " </method>\n"
113 " <method name=\"RemoveTrack\">\n"
114 " <arg type=\"o\" direction=\"in\" />\n"
115 " </method>\n"
116 " <method name=\"GoTo\">\n"
117 " <arg type=\"o\" direction=\"in\" />\n"
118 " </method>\n"
119 " <signal name=\"TrackListReplaced\">\n"
120 " <arg type=\"ao\" />\n"
121 " <arg type=\"o\" />\n"
122 " </signal>\n"
123 " <signal name=\"TrackAdded\">\n"
124 " <arg type=\"a{sv}\" />\n"
125 " <arg type=\"o\" />\n"
126 " </signal>\n"
127 " <signal name=\"TrackRemoved\">\n"
128 " <arg type=\"o\" />\n"
129 " </signal>\n"
130 " <signal name=\"TrackMetadataChanged\">\n"
131 " <arg type=\"o\" />\n"
132 " <arg type=\"a{sv}\" />\n"
133 " </signal>\n"
134 " </interface>\n"
135 "</node>\n"
138 /* Handle incoming dbus messages */
139 DBUS_METHOD( handle_introspect )
141 VLC_UNUSED(p_this);
142 REPLY_INIT;
143 OUT_ARGUMENTS;
144 ADD_STRING( &psz_introspection_xml );
145 REPLY_SEND;
148 #endif //dbus-introspect.h