File indexing completed on 2025-03-16 12:58:26
0001 /* 0002 SPDX-FileCopyrightText: 2013 Lukáš Tinkl <ltinkl@redhat.com> 0003 SPDX-FileCopyrightText: 2014 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 #include "device_p.h" 0009 #include "manager.h" 0010 #include "manager_p.h" 0011 #include "teamdevice_p.h" 0012 0013 NetworkManager::TeamDevicePrivate::TeamDevicePrivate(const QString &path, TeamDevice *q) 0014 : DevicePrivate(path, q) 0015 #ifdef NMQT_STATIC 0016 , iface(NetworkManagerPrivate::DBUS_SERVICE, path, QDBusConnection::sessionBus()) 0017 #else 0018 , iface(NetworkManagerPrivate::DBUS_SERVICE, path, QDBusConnection::systemBus()) 0019 #endif 0020 { 0021 } 0022 0023 NetworkManager::TeamDevicePrivate::~TeamDevicePrivate() 0024 { 0025 } 0026 0027 NetworkManager::TeamDevice::TeamDevice(const QString &path, QObject *parent) 0028 : Device(*new TeamDevicePrivate(path, this), parent) 0029 { 0030 Q_D(TeamDevice); 0031 0032 QVariantMap initialProperties = NetworkManagerPrivate::retrieveInitialProperties(d->iface.staticInterfaceName(), path); 0033 if (!initialProperties.isEmpty()) { 0034 d->propertiesChanged(initialProperties); 0035 } 0036 } 0037 0038 NetworkManager::TeamDevice::~TeamDevice() 0039 { 0040 } 0041 0042 NetworkManager::Device::Type NetworkManager::TeamDevice::type() const 0043 { 0044 return NetworkManager::Device::Team; 0045 } 0046 0047 bool NetworkManager::TeamDevice::carrier() const 0048 { 0049 Q_D(const TeamDevice); 0050 0051 return d->carrier; 0052 } 0053 0054 QString NetworkManager::TeamDevice::hwAddress() const 0055 { 0056 Q_D(const TeamDevice); 0057 0058 return d->hwAddress; 0059 } 0060 0061 QStringList NetworkManager::TeamDevice::slaves() const 0062 { 0063 Q_D(const TeamDevice); 0064 return d->slaves; 0065 } 0066 0067 QString NetworkManager::TeamDevice::config() const 0068 { 0069 Q_D(const TeamDevice); 0070 return d->config; 0071 } 0072 0073 void NetworkManager::TeamDevicePrivate::propertyChanged(const QString &property, const QVariant &value) 0074 { 0075 Q_Q(TeamDevice); 0076 0077 if (property == QLatin1String("Carrier")) { 0078 carrier = value.toBool(); 0079 Q_EMIT q->carrierChanged(carrier); 0080 } else if (property == QLatin1String("HwAddress")) { 0081 hwAddress = value.toString(); 0082 Q_EMIT q->hwAddressChanged(hwAddress); 0083 } else if (property == QLatin1String("Slaves")) { 0084 QStringList list; 0085 const QList<QDBusObjectPath> opList = qdbus_cast<QList<QDBusObjectPath>>(value); 0086 for (const QDBusObjectPath &op : opList) { 0087 list << op.path(); 0088 } 0089 slaves = list; 0090 Q_EMIT q->slavesChanged(slaves); 0091 } else if (property == QLatin1String("Config")) { 0092 config = value.toString(); 0093 Q_EMIT q->configChanged(config); 0094 } else { 0095 DevicePrivate::propertyChanged(property, value); 0096 } 0097 } 0098 0099 #include "moc_teamdevice.cpp" 0100 #include "moc_teamdevice_p.cpp"