1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- 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/. */ 6 7 #ifndef WIDGET_GTK_MPRIS_INTERFACE_DESCRIPTION_H_ 8 #define WIDGET_GTK_MPRIS_INTERFACE_DESCRIPTION_H_ 9 10 #include <gio/gio.h> 11 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 15 "<node>" 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=\"DesktopEntry\" type=\"s\" access=\"read\"/>" 25 "<property name=\"SupportedUriSchemes\" type=\"as\" access=\"read\"/>" 26 "<property name=\"SupportedMimeTypes\" type=\"as\" access=\"read\"/>" 27 "</interface>" 28 // Note that every property emits a changed signal (which is default) apart from Position. 29 "<interface name=\"org.mpris.MediaPlayer2.Player\">" 30 "<method name=\"Next\"/>" 31 "<method name=\"Previous\"/>" 32 "<method name=\"Pause\"/>" 33 "<method name=\"PlayPause\"/>" 34 "<method name=\"Stop\"/>" 35 "<method name=\"Play\"/>" 36 "<method name=\"Seek\">" 37 "<arg direction=\"in\" type=\"x\" name=\"Offset\"/>" 38 "</method>" 39 "<method name=\"SetPosition\">" 40 "<arg direction=\"in\" type=\"o\" name=\"TrackId\"/>" 41 "<arg direction=\"in\" type=\"x\" name=\"Position\"/>" 42 "</method>" 43 "<method name=\"OpenUri\">" 44 "<arg direction=\"in\" type=\"s\" name=\"Uri\"/>" 45 "</method>" 46 "<property name=\"PlaybackStatus\" type=\"s\" access=\"read\">" 47 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 48 "</property>" 49 "<property name=\"Rate\" type=\"d\" access=\"readwrite\">" 50 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 51 "</property>" 52 "<property name=\"Metadata\" type=\"a{sv}\" access=\"read\">" 53 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 54 "</property>" 55 "<property name=\"Volume\" type=\"d\" access=\"readwrite\">" 56 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 57 "</property>" 58 "<property name=\"Position\" type=\"x\" access=\"read\">" 59 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"false\"/>" 60 "</property>" 61 "<property name=\"MinimumRate\" type=\"d\" access=\"read\">" 62 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 63 "</property>" 64 "<property name=\"MaximumRate\" type=\"d\" access=\"read\">" 65 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 66 "</property>" 67 "<property name=\"CanGoNext\" type=\"b\" access=\"read\">" 68 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 69 "</property>" 70 "<property name=\"CanGoPrevious\" type=\"b\" access=\"read\">" 71 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 72 "</property>" 73 "<property name=\"CanPlay\" type=\"b\" access=\"read\">" 74 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 75 "</property>" 76 "<property name=\"CanPause\" type=\"b\" access=\"read\">" 77 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 78 "</property>" 79 "<property name=\"CanSeek\" type=\"b\" access=\"read\">" 80 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"true\"/>" 81 "</property>" 82 "<property name=\"CanControl\" type=\"b\" access=\"read\">" 83 "<annotation name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\" value=\"false\"/>" 84 "</property>" 85 "<signal name=\"Seeked\">" 86 "<arg name=\"Position\" type=\"x\"/>" 87 "</signal>" 88 "</interface>" 89 "</node>"; 90 91 #endif // WIDGET_GTK_MPRIS_INTERFACE_DESCRIPTION_H_ 92