File indexing completed on 2024-04-28 15:33:16
0001 /* 0002 SPDX-FileCopyrightText: 2014 Lukáš Tinkl <ltinkl@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 "teamsetting.h" 0008 #include "manager.h" 0009 #include "teamsetting_p.h" 0010 0011 #define NM_SETTING_TEAM_INTERFACE_NAME "interface-name" 0012 0013 #include <QDebug> 0014 0015 NetworkManager::TeamSettingPrivate::TeamSettingPrivate() 0016 : name(NM_SETTING_TEAM_SETTING_NAME) 0017 { 0018 } 0019 0020 NetworkManager::TeamSetting::TeamSetting() 0021 : Setting(Setting::Team) 0022 , d_ptr(new TeamSettingPrivate()) 0023 { 0024 } 0025 0026 NetworkManager::TeamSetting::TeamSetting(const Ptr &other) 0027 : Setting(other) 0028 , d_ptr(new TeamSettingPrivate()) 0029 { 0030 setInterfaceName(other->interfaceName()); 0031 setConfig(other->config()); 0032 } 0033 0034 NetworkManager::TeamSetting::~TeamSetting() 0035 { 0036 delete d_ptr; 0037 } 0038 0039 QString NetworkManager::TeamSetting::name() const 0040 { 0041 Q_D(const TeamSetting); 0042 0043 return d->name; 0044 } 0045 0046 void NetworkManager::TeamSetting::setInterfaceName(const QString &name) 0047 { 0048 Q_D(TeamSetting); 0049 0050 d->interfaceName = name; 0051 } 0052 0053 QString NetworkManager::TeamSetting::interfaceName() const 0054 { 0055 Q_D(const TeamSetting); 0056 0057 return d->interfaceName; 0058 } 0059 0060 QString NetworkManager::TeamSetting::config() const 0061 { 0062 Q_D(const TeamSetting); 0063 return d->config; 0064 } 0065 0066 void NetworkManager::TeamSetting::setConfig(const QString &config) 0067 { 0068 Q_D(TeamSetting); 0069 d->config = config; 0070 } 0071 0072 void NetworkManager::TeamSetting::fromMap(const QVariantMap &setting) 0073 { 0074 if (setting.contains(QLatin1String(NM_SETTING_TEAM_INTERFACE_NAME))) { 0075 setInterfaceName(setting.value(QLatin1String(NM_SETTING_TEAM_INTERFACE_NAME)).toString()); 0076 } 0077 0078 if (setting.contains(QLatin1String(NM_SETTING_TEAM_CONFIG))) { 0079 setConfig(setting.value(QLatin1String(NM_SETTING_TEAM_CONFIG)).toString()); 0080 } 0081 } 0082 0083 QVariantMap NetworkManager::TeamSetting::toMap() const 0084 { 0085 QVariantMap setting; 0086 0087 if (!interfaceName().isEmpty()) { 0088 setting.insert(QLatin1String(NM_SETTING_TEAM_INTERFACE_NAME), interfaceName()); 0089 } 0090 if (!config().isEmpty()) { 0091 setting.insert(QLatin1String(NM_SETTING_TEAM_CONFIG), config()); 0092 } 0093 0094 return setting; 0095 } 0096 0097 QDebug NetworkManager::operator<<(QDebug dbg, const NetworkManager::TeamSetting &setting) 0098 { 0099 dbg.nospace() << "type: " << setting.typeAsString(setting.type()) << '\n'; 0100 dbg.nospace() << "initialized: " << !setting.isNull() << '\n'; 0101 0102 dbg.nospace() << NM_SETTING_TEAM_INTERFACE_NAME << ": " << setting.interfaceName() << '\n'; 0103 dbg.nospace() << NM_SETTING_TEAM_CONFIG << ": " << setting.config() << '\n'; 0104 0105 return dbg.maybeSpace(); 0106 }