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

0001 /*
0002     SPDX-FileCopyrightText: 2008, 2011 Will Stephenson <wstephenson@kde.org>
0003     SPDX-FileCopyrightText: 2010 Lamarque Souza <lamarque@kde.org>
0004     SPDX-FileCopyrightText: 2013 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_MANAGER_P_H
0010 #define MODEMMANAGERQT_MANAGER_P_H
0011 
0012 #include <QDBusServiceWatcher>
0013 
0014 #include "dbus/dbus_manager.h"
0015 #include "dbus/modem3gppinterface.h"
0016 #include "dbus/modemmanager1interface.h"
0017 
0018 #include "manager.h"
0019 #include "modemdevice.h"
0020 
0021 namespace ModemManager
0022 {
0023 class Modem;
0024 class ModemManagerPrivate : public Notifier
0025 {
0026     Q_OBJECT
0027 
0028 public:
0029     ModemManagerPrivate();
0030     ~ModemManagerPrivate() override;
0031     QDBusServiceWatcher watcher;
0032     OrgFreedesktopModemManager1Interface iface;
0033     QMap<QString, ModemDevice::Ptr> modemList;
0034     OrgFreedesktopDBusObjectManagerInterface manager;
0035     ModemManager::ModemDevice::Ptr findModemDevice(const QString &uni);
0036     ModemManager::ModemDevice::List modemDevices();
0037 
0038     void scanDevices();
0039 protected Q_SLOTS:
0040     void init();
0041     void daemonRegistered();
0042     void daemonUnregistered();
0043     void onInterfacesAdded(const QDBusObjectPath &object_path, const MMVariantMapMap &interfaces_and_properties);
0044     void onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces);
0045 };
0046 } // namespace ModemManager
0047 
0048 #endif