File indexing completed on 2025-03-16 12:58:24
0001 /* 0002 SPDX-FileCopyrightText: 2014 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 #include "genericdevice_p.h" 0008 #include "manager.h" 0009 #include "nmdebug.h" 0010 0011 NetworkManager::GenericDevicePrivate::GenericDevicePrivate(const QString &path, GenericDevice *q) 0012 : DevicePrivate(path, q) 0013 #ifdef NMQT_STATIC 0014 , iface(NetworkManagerPrivate::DBUS_SERVICE, path, QDBusConnection::sessionBus()) 0015 #else 0016 , iface(NetworkManagerPrivate::DBUS_SERVICE, path, QDBusConnection::systemBus()) 0017 #endif 0018 { 0019 } 0020 0021 NetworkManager::GenericDevicePrivate::~GenericDevicePrivate() 0022 { 0023 } 0024 0025 NetworkManager::GenericDevice::GenericDevice(const QString &path, QObject *parent) 0026 : Device(*new NetworkManager::GenericDevicePrivate(path, this), parent) 0027 { 0028 Q_D(GenericDevice); 0029 0030 QVariantMap initialProperties = NetworkManagerPrivate::retrieveInitialProperties(d->iface.staticInterfaceName(), path); 0031 if (!initialProperties.isEmpty()) { 0032 d->propertiesChanged(initialProperties); 0033 } 0034 } 0035 0036 NetworkManager::GenericDevice::~GenericDevice() 0037 { 0038 } 0039 0040 NetworkManager::Device::Type NetworkManager::GenericDevice::type() const 0041 { 0042 return NetworkManager::Device::Generic; 0043 } 0044 0045 QString NetworkManager::GenericDevice::hardwareAddress() const 0046 { 0047 Q_D(const GenericDevice); 0048 return d->hwAddress; 0049 } 0050 0051 QString NetworkManager::GenericDevice::typeDescription() const 0052 { 0053 Q_D(const GenericDevice); 0054 return d->typeDescription; 0055 } 0056 0057 void NetworkManager::GenericDevicePrivate::propertyChanged(const QString &property, const QVariant &value) 0058 { 0059 Q_Q(GenericDevice); 0060 0061 if (property == QLatin1String("HwAddress")) { 0062 hwAddress = value.toString(); 0063 Q_EMIT q->hardwareAddressChanged(hwAddress); 0064 } else if (property == QLatin1String("TypeDescription")) { 0065 typeDescription = value.toString(); 0066 Q_EMIT q->permanentHardwareAddressChanged(typeDescription); 0067 } else { 0068 DevicePrivate::propertyChanged(property, value); 0069 } 0070 } 0071 0072 #include "moc_genericdevice.cpp" 0073 #include "moc_genericdevice_p.cpp"