File indexing completed on 2025-02-23 04:35:17
0001 // SPDX-FileCopyrightText: 2014 Sujith Haridasan <sujith.haridasan@kdemail.net> 0002 // SPDX-FileCopyrightText: 2014 Ashish Madeti <ashishmadeti@gmail.com> 0003 // SPDX-FileCopyrightText: 2016 Matthieu Gallien <matthieu_gallien@yahoo.fr> 0004 // SPDX-FileCopyrightText: 2022-2023 Bart De Vries <bart@mogwai.be> 0005 // SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com> 0006 // SPDX-License-Identifier: GPL-3.0-or-later 0007 0008 #pragma once 0009 0010 #include <QObject> 0011 #include <QSharedPointer> 0012 0013 #include <memory> 0014 0015 #if !defined Q_OS_ANDROID 0016 class MediaPlayer2Player; 0017 class MediaPlayer2; 0018 #endif 0019 class VideoController; 0020 0021 class Mpris2 : public QObject 0022 { 0023 Q_OBJECT 0024 0025 public: 0026 explicit Mpris2(QObject *parent = nullptr); 0027 ~Mpris2() override; 0028 0029 private: 0030 void initDBusService(); 0031 bool unregisterDBusService(); 0032 0033 #if !defined Q_OS_ANDROID 0034 std::unique_ptr<MediaPlayer2> m_mp2; 0035 std::unique_ptr<MediaPlayer2Player> m_mp2p; 0036 #endif 0037 0038 VideoController *m_audioPlayer = nullptr; 0039 QString m_playerName; 0040 };