File indexing completed on 2025-03-23 04:34:33
0001 /** 0002 * SPDX-FileCopyrightText: 2019 Matthijs Tijink <matthijstijink@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 #pragma once 0007 0008 #include <QDBusAbstractAdaptor> 0009 0010 class MprisRemotePlayer; 0011 class MprisRemotePlugin; 0012 0013 class MprisRemotePlayerMediaPlayer2 : public QDBusAbstractAdaptor 0014 { 0015 Q_OBJECT 0016 Q_CLASSINFO("D-Bus Interface", "org.mpris.MediaPlayer2") 0017 0018 Q_PROPERTY(bool CanQuit READ CanQuit CONSTANT) 0019 Q_PROPERTY(bool CanRaise READ CanRaise CONSTANT) 0020 Q_PROPERTY(bool HasTrackList READ HasTrackList CONSTANT) 0021 Q_PROPERTY(QString DesktopEntry READ DesktopEntry CONSTANT) 0022 Q_PROPERTY(QString Identity READ Identity CONSTANT) 0023 Q_PROPERTY(QStringList SupportedUriSchemes READ SupportedUriSchemes CONSTANT) 0024 Q_PROPERTY(QStringList SupportedMimeTypes READ SupportedMimeTypes CONSTANT) 0025 0026 public: 0027 explicit MprisRemotePlayerMediaPlayer2(MprisRemotePlayer *parent, const MprisRemotePlugin *plugin); 0028 0029 public Q_SLOTS: 0030 void Raise(); 0031 void Quit(); 0032 0033 public: 0034 bool CanQuit() const; 0035 bool CanRaise() const; 0036 bool HasTrackList() const; 0037 QString DesktopEntry() const; 0038 QString Identity() const; 0039 QStringList SupportedUriSchemes() const; 0040 QStringList SupportedMimeTypes() const; 0041 0042 private: 0043 const MprisRemotePlayer *m_parent; 0044 const MprisRemotePlugin *m_plugin; 0045 };