File indexing completed on 2024-04-28 15:17:55

0001 /*
0002  * BluezQt - Asynchronous Bluez wrapper library
0003  *
0004  * SPDX-FileCopyrightText: 2019 Manuel Weichselbaumer <mincequi@web.de>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007  */
0008 
0009 #ifndef BLUEZQT_MEDIATRANSPORT_P_H
0010 #define BLUEZQT_MEDIATRANSPORT_P_H
0011 
0012 #include "bluezmediatransport1.h"
0013 #include "dbusproperties.h"
0014 #include "mediatransport.h"
0015 
0016 namespace BluezQt
0017 {
0018 typedef org::freedesktop::DBus::Properties DBusProperties;
0019 
0020 class MediaTransportPrivate : public QObject
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     explicit MediaTransportPrivate(const QString &path, const QVariantMap &properties);
0026 
0027     void init(const QVariantMap &properties);
0028 
0029 public Q_SLOTS:
0030     void onPropertiesChanged(const QString &interface, const QVariantMap &changed, const QStringList &invalidated);
0031 
0032 public:
0033     QWeakPointer<MediaTransport> q;
0034     OrgBluezMediaTransport1Interface m_dbusInterface;
0035     DBusProperties *m_dbusProperties;
0036 
0037     QString m_path;
0038     AudioConfiguration m_configuration;
0039     MediaTransport::State m_state = MediaTransport::State::Idle;
0040     quint16 m_volume = 0;
0041 };
0042 
0043 } // namespace BluezQt
0044 
0045 #endif