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