File indexing completed on 2024-05-05 04:50:35
0001 /*************************************************************************** 0002 SPDX-FileCopyrightText: 2014 (c) Sujith Haridasan <sujith.haridasan@kdemail.net> 0003 SPDX-FileCopyrightText: 2014 (c) Ashish Madeti <ashishmadeti@gmail.com> 0004 SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <matthieu_gallien@yahoo.fr> 0005 0006 SPDX-License-Identifier: GPL-3.0-or-later 0007 ***************************************************************************/ 0008 0009 #ifndef MEDIACENTER_MEDIAPLAYER2_H 0010 #define MEDIACENTER_MEDIAPLAYER2_H 0011 0012 #include "elisaLib_export.h" 0013 0014 #include <QDBusAbstractAdaptor> 0015 #include <QStringList> 0016 0017 0018 class ELISALIB_EXPORT MediaPlayer2 : public QDBusAbstractAdaptor 0019 { 0020 Q_OBJECT 0021 Q_CLASSINFO("D-Bus Interface", "org.mpris.MediaPlayer2") // Docs: https://specifications.freedesktop.org/mpris-spec/latest/Media_Player.html 0022 0023 Q_PROPERTY(bool CanQuit READ CanQuit CONSTANT) 0024 Q_PROPERTY(bool CanRaise READ CanRaise CONSTANT) 0025 Q_PROPERTY(bool HasTrackList READ HasTrackList CONSTANT) 0026 0027 Q_PROPERTY(QString Identity READ Identity CONSTANT) 0028 Q_PROPERTY(QString DesktopEntry READ DesktopEntry CONSTANT) 0029 0030 Q_PROPERTY(QStringList SupportedUriSchemes READ SupportedUriSchemes CONSTANT) 0031 Q_PROPERTY(QStringList SupportedMimeTypes READ SupportedMimeTypes CONSTANT) 0032 0033 public: 0034 explicit MediaPlayer2(QObject* parent = nullptr); 0035 ~MediaPlayer2() override; 0036 0037 [[nodiscard]] bool CanQuit() const; 0038 [[nodiscard]] bool CanRaise() const; 0039 [[nodiscard]] bool HasTrackList() const; 0040 0041 [[nodiscard]] QString Identity() const; 0042 [[nodiscard]] QString DesktopEntry() const; 0043 0044 [[nodiscard]] QStringList SupportedUriSchemes() const; 0045 [[nodiscard]] QStringList SupportedMimeTypes() const; 0046 0047 public Q_SLOTS: 0048 void Quit(); 0049 void Raise(); 0050 0051 Q_SIGNALS: 0052 void raisePlayer(); 0053 0054 }; 0055 0056 #endif //MEDIACENTER_MEDIAPLAYER2_H