File indexing completed on 2024-04-14 03:57:24

0001 /*
0002     SPDX-FileCopyrightText: 2013 Lukas Tinkl <ltinkl@redhat.com>
0003     SPDX-FileCopyrightText: 2013-2015 Jan Grulich <jgrulich@redhat.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007 
0008 #ifndef MODEMMANAGERQT_MODEMDEVICE_P_H
0009 #define MODEMMANAGERQT_MODEMDEVICE_P_H
0010 
0011 #include <QMap>
0012 #include <QObject>
0013 #include <QStringList>
0014 
0015 #include "bearer.h"
0016 #include "interface.h"
0017 #include "modemdevice.h"
0018 #include "sim.h"
0019 
0020 namespace ModemManager
0021 {
0022 class ModemDevicePrivate : public QObject
0023 {
0024     Q_OBJECT
0025 public:
0026     ModemDevicePrivate(const QString &path, ModemManager::ModemDevice *q);
0027     ~ModemDevicePrivate() override;
0028     void init();
0029     void initInterfaces();
0030     QString introspect() const;
0031     QString uni;
0032     QMap<ModemManager::ModemDevice::InterfaceType, ModemManager::Interface::Ptr> interfaceList;
0033     // QMap<QString, ModemManager::Bearer::Ptr> bearerList;
0034     ModemManager::Sim::Ptr simCard;
0035     ModemManager::Interface::List interfaces();
0036     ModemManager::Interface::Ptr interface(ModemManager::ModemDevice::InterfaceType type);
0037     ModemManager::Interface::Ptr createInterface(ModemManager::ModemDevice::InterfaceType type);
0038     ModemManager::Bearer::Ptr findBearer(const QString &uni);
0039     ModemManager::Bearer::List bearers();
0040     ModemManager::Sim::Ptr sim();
0041 
0042     Q_DECLARE_PUBLIC(ModemManager::ModemDevice)
0043     ModemManager::ModemDevice *q_ptr;
0044 
0045 private Q_SLOTS:
0046     void onInterfacesAdded(const QDBusObjectPath &object_path, const ModemManager::MMVariantMapMap &interfaces_and_properties);
0047     void onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces);
0048     void onSimPathChanged(const QString &oldPath, const QString &newPath);
0049 };
0050 
0051 } // namespace ModemManager
0052 
0053 #endif