File indexing completed on 2024-12-01 12:29:50

0001 /*
0002  * BluezQt - Asynchronous Bluez wrapper library
0003  *
0004  * SPDX-FileCopyrightText: 2015 David Rosca <nowrep@gmail.com>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007  */
0008 
0009 #ifndef BLUEZQT_MEDIAPLAYER_P_H
0010 #define BLUEZQT_MEDIAPLAYER_P_H
0011 
0012 #include <QObject>
0013 
0014 #include "bluezmediaplayer1.h"
0015 #include "dbusproperties.h"
0016 #include "mediaplayer.h"
0017 
0018 namespace BluezQt
0019 {
0020 typedef org::bluez::MediaPlayer1 BluezMediaPlayer;
0021 typedef org::freedesktop::DBus::Properties DBusProperties;
0022 
0023 class MediaPlayerPrivate : public QObject
0024 {
0025     Q_OBJECT
0026 
0027 public:
0028     explicit MediaPlayerPrivate(const QString &path, const QVariantMap &properties);
0029 
0030     void init(const QVariantMap &properties);
0031 
0032     QDBusPendingReply<> setDBusProperty(const QString &name, const QVariant &value);
0033     void propertiesChanged(const QString &interface, const QVariantMap &changed, const QStringList &invalidated);
0034 
0035     MediaPlayerTrack variantToTrack(const QVariant &variant) const;
0036 
0037     QWeakPointer<MediaPlayer> q;
0038     BluezMediaPlayer *m_bluezMediaPlayer;
0039     DBusProperties *m_dbusProperties;
0040 
0041     QString m_path;
0042     QString m_name;
0043     MediaPlayer::Equalizer m_equalizer;
0044     MediaPlayer::Repeat m_repeat;
0045     MediaPlayer::Shuffle m_shuffle;
0046     MediaPlayer::Status m_status;
0047     MediaPlayerTrack m_track;
0048     quint32 m_position;
0049 };
0050 
0051 } // namespace BluezQt
0052 
0053 #endif // BLUEZQT_MEDIAPLAYER_P_H