File indexing completed on 2024-04-21 03:59:50

0001 /*
0002     SPDX-FileCopyrightText: 2008 Will Stephenson <wstephenson@kde.org>
0003     SPDX-FileCopyrightText: 2010 Lamarque Souza <lamarque@kde.org>
0004     SPDX-FileCopyrightText: 2013-2015 Jan Grulich <jgrulich@redhat.com>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #ifndef MODEMMANAGERQT_MODEM_P_H
0010 #define MODEMMANAGERQT_MODEM_P_H
0011 
0012 #include "dbus/modeminterface.h"
0013 
0014 #include "bearer.h"
0015 #include "interface_p.h"
0016 #include "modem.h"
0017 
0018 namespace ModemManager
0019 {
0020 class ModemPrivate : public InterfacePrivate
0021 {
0022     Q_OBJECT
0023 public:
0024     explicit ModemPrivate(const QString &path, Modem *q);
0025     OrgFreedesktopModemManager1ModemInterface modemIface;
0026 
0027     QMap<QString, Bearer::Ptr> bearers;
0028     QString simPath;
0029     QList<MMModemCapability> supportedCapabilities;
0030     QFlags<MMModemCapability> currentCapabilities;
0031     uint maxBearers;
0032     uint maxActiveBearers;
0033     QString manufacturer;
0034     QString model;
0035     QString revision;
0036     QString deviceIdentifier;
0037     QString device;
0038     QStringList drivers;
0039     QString plugin;
0040     QString primaryPort;
0041     PortList ports;
0042     QString equipmentIdentifier;
0043     MMModemLock unlockRequired;
0044     UnlockRetriesMap unlockRetries;
0045     MMModemState state;
0046     MMModemStateFailedReason stateFailedReason;
0047     ModemManager::Modem::AccessTechnologies accessTechnologies;
0048     SignalQualityPair signalQuality;
0049     QStringList ownNumbers;
0050     MMModemPowerState powerState;
0051     SupportedModesType supportedModes;
0052     CurrentModesType currentModes;
0053     QList<MMModemBand> supportedBands;
0054     QList<MMModemBand> currentBands;
0055     ModemManager::Modem::IpBearerFamilies supportedIpFamilies;
0056 
0057     ModemManager::Bearer::Ptr findRegisteredBearer(const QString &path);
0058 
0059     Q_DECLARE_PUBLIC(Modem)
0060     Modem *q_ptr;
0061 private Q_SLOTS:
0062     void initializeBearers();
0063     void onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps) override;
0064     void onStateChanged(int oldState, int newState, uint reason);
0065 };
0066 
0067 } // namespace ModemManager
0068 
0069 #endif