File indexing completed on 2024-12-08 12:15:36

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_OBJECTMANAGERADAPTOR_H
0010 #define BLUEZQT_OBJECTMANAGERADAPTOR_H
0011 
0012 #include <QDBusAbstractAdaptor>
0013 
0014 #include "bluezqt_dbustypes.h"
0015 
0016 namespace BluezQt
0017 {
0018 class GattApplication;
0019 
0020 class ObjectManagerAdaptor : public QDBusAbstractAdaptor
0021 {
0022     Q_OBJECT
0023     Q_CLASSINFO("D-Bus Interface", "org.freedesktop.DBus.ObjectManager")
0024 
0025 public:
0026     explicit ObjectManagerAdaptor(QObject *parent);
0027 
0028 public Q_SLOTS:
0029     DBusManagerStruct GetManagedObjects();
0030 
0031 Q_SIGNALS:
0032     void InterfacesAdded(const QDBusObjectPath &object, const QVariantMapMap &interfaces);
0033     void InterfacesRemoved(const QDBusObjectPath &object, const QStringList &interfaces);
0034 
0035 private:
0036     GattApplication *m_gattApplication = nullptr;
0037 };
0038 
0039 } // namespace BluezQt
0040 
0041 #endif