File indexing completed on 2024-04-28 08:49:08

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 };