File indexing completed on 2024-04-21 04:00:11

0001 /*
0002     SPDX-FileCopyrightText: 2013 Jan Grulich <jgrulich@redhat.com>
0003     SPDX-FileCopyrightText: 2013 Daniel Nicoletti <dantti12@gmail.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 "infinibanddevice_p.h"
0010 #include "manager.h"
0011 
0012 NetworkManager::InfinibandDevicePrivate::InfinibandDevicePrivate(const QString &path, InfinibandDevice *q)
0013     : DevicePrivate(path, q)
0014 #ifdef NMQT_STATIC
0015     , iface(NetworkManagerPrivate::DBUS_SERVICE, path, QDBusConnection::sessionBus())
0016 #else
0017     , iface(NetworkManagerPrivate::DBUS_SERVICE, path, QDBusConnection::systemBus())
0018 #endif
0019     , carrier(false)
0020 {
0021 }
0022 
0023 NetworkManager::InfinibandDevice::~InfinibandDevice()
0024 {
0025 }
0026 
0027 NetworkManager::InfinibandDevice::InfinibandDevice(const QString &path, QObject *parent)
0028     : Device(*new InfinibandDevicePrivate(path, this), parent)
0029 {
0030     Q_D(InfinibandDevice);
0031 
0032     QVariantMap initialProperties = NetworkManagerPrivate::retrieveInitialProperties(d->iface.staticInterfaceName(), path);
0033     if (!initialProperties.isEmpty()) {
0034         d->propertiesChanged(initialProperties);
0035     }
0036 }
0037 
0038 NetworkManager::InfinibandDevicePrivate::~InfinibandDevicePrivate()
0039 {
0040 }
0041 
0042 NetworkManager::Device::Type NetworkManager::InfinibandDevice::type() const
0043 {
0044     return NetworkManager::Device::InfiniBand;
0045 }
0046 
0047 bool NetworkManager::InfinibandDevice::carrier() const
0048 {
0049     Q_D(const InfinibandDevice);
0050 
0051     return d->carrier;
0052 }
0053 
0054 QString NetworkManager::InfinibandDevice::hwAddress() const
0055 {
0056     Q_D(const InfinibandDevice);
0057 
0058     return d->hwAddress;
0059 }
0060 
0061 void NetworkManager::InfinibandDevicePrivate::propertyChanged(const QString &property, const QVariant &value)
0062 {
0063     Q_Q(InfinibandDevice);
0064 
0065     if (property == QLatin1String("Carrier")) {
0066         carrier = value.toBool();
0067         Q_EMIT q->carrierChanged(carrier);
0068     } else if (property == QLatin1String("HwAddress")) {
0069         hwAddress = value.toString();
0070         Q_EMIT q->hwAddressChanged(hwAddress);
0071     } else {
0072         DevicePrivate::propertyChanged(property, value);
0073     }
0074 }
0075 
0076 #include "moc_infinibanddevice.cpp"
0077 #include "moc_infinibanddevice_p.cpp"