File indexing completed on 2024-04-14 03:57:34
0001 /* 0002 SPDX-FileCopyrightText: 2012-2013 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 #ifndef NETWORKMANAGERQT_INFINIBAND_SETTING_H 0008 #define NETWORKMANAGERQT_INFINIBAND_SETTING_H 0009 0010 #include "setting.h" 0011 #include <networkmanagerqt/networkmanagerqt_export.h> 0012 0013 #include <QString> 0014 0015 namespace NetworkManager 0016 { 0017 class InfinibandSettingPrivate; 0018 0019 /** 0020 * Represents infiniband setting 0021 */ 0022 class NETWORKMANAGERQT_EXPORT InfinibandSetting : public Setting 0023 { 0024 public: 0025 typedef QSharedPointer<InfinibandSetting> Ptr; 0026 typedef QList<Ptr> List; 0027 enum TransportMode { 0028 Unknown = 0, 0029 Datagram, 0030 Connected, 0031 }; 0032 0033 InfinibandSetting(); 0034 explicit InfinibandSetting(const Ptr &other); 0035 ~InfinibandSetting() override; 0036 0037 QString name() const override; 0038 0039 void setMacAddress(const QByteArray &address); 0040 QByteArray macAddress() const; 0041 0042 void setMtu(quint32 mtu); 0043 quint32 mtu() const; 0044 0045 void setTransportMode(TransportMode mode); 0046 TransportMode transportMode() const; 0047 0048 void setPKey(qint32 key); 0049 qint32 pKey() const; 0050 0051 void setParent(const QString &parent); 0052 QString parent() const; 0053 0054 void fromMap(const QVariantMap &setting) override; 0055 0056 QVariantMap toMap() const override; 0057 0058 protected: 0059 InfinibandSettingPrivate *d_ptr; 0060 0061 private: 0062 Q_DECLARE_PRIVATE(InfinibandSetting) 0063 }; 0064 0065 NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const InfinibandSetting &setting); 0066 0067 } 0068 0069 #endif // NETWORKMANAGERQT_INFINIBAND_SETTING_H