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