File indexing completed on 2025-03-16 12:58:25
0001 /* 0002 SPDX-FileCopyrightText: 2008, 2011 Will Stephenson <wstephenson@kde.org> 0003 SPDX-FileCopyrightText: 2011-2013 Lamarque Souza <lamarque@kde.org> 0004 SPDX-FileCopyrightText: 2013 Daniel Nicoletti <dantti12@gmail.com> 0005 SPDX-FileCopyrightText: 2013 Jan Grulich <jgrulich@redhat.com> 0006 0007 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0008 */ 0009 0010 #include "modemdevice.h" 0011 #include "modemdevice_p.h" 0012 0013 #include "manager_p.h" 0014 0015 NetworkManager::ModemDevice::Capabilities convertModemCapabilities(uint theirCaps) 0016 { 0017 NetworkManager::ModemDevice::Capabilities ourCaps = (NetworkManager::ModemDevice::Capabilities)theirCaps; 0018 return ourCaps; 0019 } 0020 0021 NetworkManager::ModemDevicePrivate::ModemDevicePrivate(const QString &path, ModemDevice *q) 0022 : DevicePrivate(path, q) 0023 #ifdef NMQT_STATIC 0024 , modemIface(NetworkManagerPrivate::DBUS_SERVICE, path, QDBusConnection::sessionBus()) 0025 #else 0026 , modemIface(NetworkManagerPrivate::DBUS_SERVICE, path, QDBusConnection::systemBus()) 0027 #endif 0028 { 0029 } 0030 0031 NetworkManager::ModemDevice::ModemDevice(const QString &path, QObject *parent) 0032 : Device(*new ModemDevicePrivate(path, this), parent) 0033 { 0034 Q_D(ModemDevice); 0035 0036 QVariantMap initialProperties = NetworkManagerPrivate::retrieveInitialProperties(d->modemIface.staticInterfaceName(), path); 0037 if (!initialProperties.isEmpty()) { 0038 d->propertiesChanged(initialProperties); 0039 } 0040 } 0041 0042 NetworkManager::ModemDevice::ModemDevice(NetworkManager::ModemDevicePrivate &dd, QObject *parent) 0043 : Device(dd, parent) 0044 { 0045 Q_D(ModemDevice); 0046 0047 QDBusConnection::systemBus().connect(NetworkManagerPrivate::DBUS_SERVICE, 0048 d->uni, 0049 NetworkManagerPrivate::FDO_DBUS_PROPERTIES, 0050 QLatin1String("PropertiesChanged"), 0051 d, 0052 SLOT(dbusPropertiesChanged(QString, QVariantMap, QStringList))); 0053 } 0054 0055 NetworkManager::ModemDevice::~ModemDevice() 0056 { 0057 } 0058 0059 NetworkManager::Device::Type NetworkManager::ModemDevice::type() const 0060 { 0061 return NetworkManager::Device::Modem; 0062 } 0063 0064 NetworkManager::ModemDevice::Capabilities NetworkManager::ModemDevice::currentCapabilities() const 0065 { 0066 Q_D(const ModemDevice); 0067 return d->currentCapabilities; 0068 } 0069 0070 NetworkManager::ModemDevice::Capabilities NetworkManager::ModemDevice::modemCapabilities() const 0071 { 0072 Q_D(const ModemDevice); 0073 return d->modemCapabilities; 0074 } 0075 0076 void NetworkManager::ModemDevicePrivate::propertyChanged(const QString &property, const QVariant &value) 0077 { 0078 Q_Q(ModemDevice); 0079 0080 if (property == QLatin1String("CurrentCapabilities")) { 0081 currentCapabilities = convertModemCapabilities(value.toUInt()); 0082 Q_EMIT q->currentCapabilitiesChanged(currentCapabilities); 0083 } else if (property == QLatin1String("ModemCapabilities")) { 0084 modemCapabilities = convertModemCapabilities(value.toUInt()); 0085 } else { 0086 DevicePrivate::propertyChanged(property, value); 0087 } 0088 } 0089 0090 #include "moc_modemdevice.cpp" 0091 #include "moc_modemdevice_p.cpp"