1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef WIDGET_GTK_MPRIS_INTERFACE_DESCRIPTION_H_
8 #define WIDGET_GTK_MPRIS_INTERFACE_DESCRIPTION_H_
12 extern const gchar introspection_xml
[] =
13 // adopted from https://github.com/freedesktop/mpris-spec/blob/master/spec/org.mpris.MediaPlayer2.xml
14 // everything starting with tp can be removed, as it is used for HTML Spec Documentation Generation
16 "<interface name=\"org.mpris.MediaPlayer2\">"
17 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
18 "<method name=\"Raise\"/>"
19 "<method name=\"Quit\"/>"
20 "<property name=\"CanQuit\" type=\"b\" access=\"read\"/>"
21 "<property name=\"CanRaise\" type=\"b\" access=\"read\"/>"
22 "<property name=\"HasTrackList\" type=\"b\" access=\"read\"/>"
23 "<property name=\"Identity\" type=\"s\" access=\"read\"/>"
24 "<property name=\"SupportedUriSchemes\" type=\"as\" access=\"read\"/>"
25 "<property name=\"SupportedMimeTypes\" type=\"as\" access=\"read\"/>"
27 // Note that every property emits a changed signal (which is default) apart from Position.
28 "<interface name=\"org.mpris.MediaPlayer2.Player\">"
29 "<method name=\"Next\"/>"
30 "<method name=\"Previous\"/>"
31 "<method name=\"Pause\"/>"
32 "<method name=\"PlayPause\"/>"
33 "<method name=\"Stop\"/>"
34 "<method name=\"Play\"/>"
35 "<method name=\"Seek\">"
36 "<arg direction=\"in\" type=\"x\" name=\"Offset\"/>"
38 "<method name=\"SetPosition\">"
39 "<arg direction=\"in\" type=\"o\" name=\"TrackId\"/>"
40 "<arg direction=\"in\" type=\"x\" name=\"Position\"/>"
42 "<method name=\"OpenUri\">"
43 "<arg direction=\"in\" type=\"s\" name=\"Uri\"/>"
45 "<property name=\"PlaybackStatus\" type=\"s\" access=\"read\">"
46 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
48 "<property name=\"Rate\" type=\"d\" access=\"readwrite\">"
49 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
51 "<property name=\"Metadata\" type=\"a{sv}\" access=\"read\">"
52 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
54 "<property name=\"Volume\" type=\"d\" access=\"readwrite\">"
55 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
57 "<property name=\"Position\" type=\"x\" access=\"read\">"
58 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"false\"/>"
60 "<property name=\"MinimumRate\" type=\"d\" access=\"read\">"
61 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
63 "<property name=\"MaximumRate\" type=\"d\" access=\"read\">"
64 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
66 "<property name=\"CanGoNext\" type=\"b\" access=\"read\">"
67 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
69 "<property name=\"CanGoPrevious\" type=\"b\" access=\"read\">"
70 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
72 "<property name=\"CanPlay\" type=\"b\" access=\"read\">"
73 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
75 "<property name=\"CanPause\" type=\"b\" access=\"read\">"
76 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
78 "<property name=\"CanSeek\" type=\"b\" access=\"read\">"
79 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>"
81 "<property name=\"CanControl\" type=\"b\" access=\"read\">"
82 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"false\"/>"
84 "<signal name=\"Seeked\">"
85 "<arg name=\"Position\" type=\"x\"/>"
90 #endif // WIDGET_GTK_MPRIS_INTERFACE_DESCRIPTION_H_