mirror of
https://github.com/HenkKalkwater/harbour-sailfin.git
synced 2024-05-04 13:32:43 +00:00
207 lines
7.5 KiB
C++
207 lines
7.5 KiB
C++
/*
|
|
* This file was generated by qdbusxml2cpp version 0.8
|
|
* Command line was: qdbusxml2cpp org.mpris.MediaPlayer2.Player.xml -a ../include/JellyfinQt/platform/freedesktop/mediaplayer2player.h:../src/platform/freedesktop/mediaplayer2player.cpp
|
|
*
|
|
* qdbusxml2cpp is Copyright (C) 2020 The Qt Company Ltd.
|
|
*
|
|
* This is an auto-generated file.
|
|
* This file may have been hand-edited. Look for HAND-EDIT comments
|
|
* before re-generating it.
|
|
*/
|
|
|
|
//HAND-EDIT: include-guard
|
|
#ifndef JELLYFIN_PLATFORM_FREEDESKTOP_MEDIAPLAYER2PLAYER_H
|
|
#define JELLYFIN_PLATFORM_FREEDESKTOP_MEDIAPLAYER2PLAYER_H
|
|
|
|
#include <QtCore/QObject>
|
|
#include <QtDBus/QtDBus>
|
|
#include <QMediaPlayer>
|
|
QT_BEGIN_NAMESPACE
|
|
class QByteArray;
|
|
template<class T> class QList;
|
|
template<class Key, class Value> class QMap;
|
|
class QString;
|
|
class QStringList;
|
|
class QVariant;
|
|
QT_END_NAMESPACE
|
|
|
|
//HAND-EDIT: added namespaces
|
|
namespace Jellyfin {
|
|
namespace ViewModel {
|
|
class Item;
|
|
class PlatformMediaControl;
|
|
class PlaybackManager;
|
|
}
|
|
|
|
namespace Platform {
|
|
namespace FreeDesktop {
|
|
/*
|
|
* Adaptor class for interface org.mpris.MediaPlayer2.Player
|
|
*/
|
|
class PlayerAdaptor: public QDBusAbstractAdaptor
|
|
{
|
|
Q_OBJECT
|
|
Q_CLASSINFO("D-Bus Interface", "org.mpris.MediaPlayer2.Player")
|
|
Q_CLASSINFO("D-Bus Introspection", ""
|
|
" <interface name=\"org.mpris.MediaPlayer2.Player\">\n"
|
|
" <method name=\"Next\">\n"
|
|
" </method>\n"
|
|
" <method name=\"Previous\">\n"
|
|
" </method>\n"
|
|
" <method name=\"Pause\">\n"
|
|
" </method>\n"
|
|
" <method name=\"PlayPause\">\n"
|
|
" </method>\n"
|
|
" <method name=\"Stop\">\n"
|
|
" </method>\n"
|
|
" <method name=\"Play\">\n"
|
|
" </method>\n"
|
|
" <method name=\"Seek\">\n"
|
|
" <arg direction=\"in\" type=\"x\" name=\"Offset\"/>\n"
|
|
" </method>\n"
|
|
" <method name=\"SetPosition\">\n"
|
|
" <arg direction=\"in\" type=\"o\" name=\"TrackId\"/>\n"
|
|
" <arg direction=\"in\" type=\"x\" name=\"Position\"/>\n"
|
|
" </method>\n"
|
|
" <method name=\"OpenUri\">\n"
|
|
" <arg direction=\"in\" type=\"s\" name=\"Uri\"/>\n"
|
|
" </method>\n"
|
|
" <property access=\"read\" type=\"s\" name=\"PlaybackStatus\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"readwrite\" type=\"s\" name=\"LoopStatus\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" <annotation value=\"true\" name=\"org.mpris.MediaPlayer2.property.optional\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"readwrite\" type=\"d\" name=\"Rate\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"readwrite\" type=\"b\" name=\"Shuffle\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" <annotation value=\"true\" name=\"org.mpris.MediaPlayer2.property.optional\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"a{sv}\" name=\"Metadata\">\n"
|
|
" <annotation value=\"QVariantMap\" name=\"org.qtproject.QtDBus.QtTypeName\"/>\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"readwrite\" type=\"d\" name=\"Volume\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"x\" name=\"Position\">\n"
|
|
" <annotation value=\"false\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"d\" name=\"MinimumRate\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"d\" name=\"MaximumRate\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"b\" name=\"CanGoNext\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"b\" name=\"CanGoPrevious\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"b\" name=\"CanPlay\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"b\" name=\"CanPause\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"b\" name=\"CanSeek\">\n"
|
|
" <annotation value=\"true\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <property access=\"read\" type=\"b\" name=\"CanControl\">\n"
|
|
" <annotation value=\"false\" name=\"org.freedesktop.DBus.Property.EmitsChangedSignal\"/>\n"
|
|
" </property>\n"
|
|
" <signal name=\"Seeked\">\n"
|
|
" <arg type=\"x\" name=\"Position\"/>\n"
|
|
" </signal>\n"
|
|
" </interface>\n"
|
|
"")
|
|
public:
|
|
PlayerAdaptor(ViewModel::PlatformMediaControl *parent);
|
|
virtual ~PlayerAdaptor();
|
|
|
|
public: // PROPERTIES
|
|
Q_PROPERTY(bool CanControl READ canControl)
|
|
bool canControl() const;
|
|
|
|
Q_PROPERTY(bool CanGoNext READ canGoNext)
|
|
bool canGoNext() const;
|
|
|
|
Q_PROPERTY(bool CanGoPrevious READ canGoPrevious)
|
|
bool canGoPrevious() const;
|
|
|
|
Q_PROPERTY(bool CanPause READ canPause)
|
|
bool canPause() const;
|
|
|
|
Q_PROPERTY(bool CanPlay READ canPlay)
|
|
bool canPlay() const;
|
|
|
|
Q_PROPERTY(bool CanSeek READ canSeek)
|
|
bool canSeek() const;
|
|
|
|
Q_PROPERTY(QString LoopStatus READ loopStatus WRITE setLoopStatus)
|
|
QString loopStatus() const;
|
|
void setLoopStatus(const QString &value);
|
|
|
|
Q_PROPERTY(double MaximumRate READ maximumRate)
|
|
double maximumRate() const;
|
|
|
|
Q_PROPERTY(QVariantMap Metadata READ metadata)
|
|
QVariantMap metadata() const;
|
|
|
|
Q_PROPERTY(double MinimumRate READ minimumRate)
|
|
double minimumRate() const;
|
|
|
|
Q_PROPERTY(QString PlaybackStatus READ playbackStatus)
|
|
QString playbackStatus() const;
|
|
|
|
Q_PROPERTY(qlonglong Position READ position)
|
|
qlonglong position() const;
|
|
|
|
Q_PROPERTY(double Rate READ rate WRITE setRate)
|
|
double rate() const;
|
|
void setRate(double value);
|
|
|
|
Q_PROPERTY(bool Shuffle READ shuffle WRITE setShuffle)
|
|
bool shuffle() const;
|
|
void setShuffle(bool value);
|
|
|
|
Q_PROPERTY(double Volume READ volume WRITE setVolume)
|
|
double volume() const;
|
|
void setVolume(double value);
|
|
|
|
public Q_SLOTS: // METHODS
|
|
void Next();
|
|
void OpenUri(const QString &Uri);
|
|
void Pause();
|
|
void Play();
|
|
void PlayPause();
|
|
void Previous();
|
|
void Seek(qlonglong Offset);
|
|
void SetPosition(const QDBusObjectPath &TrackId, qlonglong Position);
|
|
void Stop();
|
|
Q_SIGNALS: // SIGNALS
|
|
void Seeked(qlonglong Position);
|
|
|
|
private:
|
|
ViewModel::PlatformMediaControl *m_mediaControl;
|
|
void notifyPropertiesChanged(QStringList properties);
|
|
private slots:
|
|
void onCurrentItemChanged(ViewModel::Item *newItem);
|
|
void onPlaybackStateChanged(QMediaPlayer::State state);
|
|
void onMediaStatusChanged(QMediaPlayer::MediaStatus status);
|
|
void onPositionChanged(qint64 position);
|
|
void onSeekableChanged(bool seekable);
|
|
void onPlaybackManagerChanged(ViewModel::PlaybackManager *newPlaybackManager);
|
|
void onSeeked(qint64 newPosition);
|
|
};
|
|
|
|
} // NS FreeDesktop
|
|
} // NS Platform
|
|
} // NS Jellyfin
|
|
|
|
#endif
|