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 }