File indexing completed on 2024-04-28 03:59:48

0001 /*
0002     SPDX-FileCopyrightText: 2015 Jan Grulich <jgrulich@redhat.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef MODEMMANAGERQT_FAKE_MODEM_H
0008 #define MODEMMANAGERQT_FAKE_MODEM_H
0009 
0010 #include "bearer.h"
0011 #include "modem.h"
0012 #include "objectmanager.h"
0013 
0014 #include <QDBusObjectPath>
0015 #include <QObject>
0016 
0017 class FakeModem : public QObject
0018 {
0019     Q_OBJECT
0020     Q_CLASSINFO("D-Bus Interface", "org.kde.fakemodem")
0021 public:
0022     explicit FakeModem(QObject *parent = nullptr);
0023     ~FakeModem() override;
0024 
0025     /* Not part of DBus interface */
0026     void addModem(Modem *modem);
0027     void removeModem(Modem *modem);
0028     void addBearer(Bearer *bearer);
0029     void removeBearer(Bearer *bearer);
0030     void addInterfaces(const QDBusObjectPath &object_path, const ModemManager::MMVariantMapMap &interfaces_and_properties);
0031     void removeInterfaces(const QDBusObjectPath &object_path, const QStringList &interfaces);
0032 
0033 public Q_SLOTS:
0034     Q_SCRIPTABLE void ScanDevices();
0035     Q_SCRIPTABLE void SetLogging(const QString &level);
0036 
0037 private:
0038     /* Not part of DBus interface */
0039     int m_bearerCounter;
0040     int m_modemCounter;
0041     QMap<QDBusObjectPath, Bearer *> m_bearers;
0042     QMap<QDBusObjectPath, Modem *> m_modems;
0043     ObjectManager *m_objectManager;
0044 };
0045 
0046 #endif