File indexing completed on 2025-03-23 12:49:50
0001 /* 0002 SPDX-FileCopyrightText: 2018 Aleksander Morgado <aleksander@aleksander.es> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #include "ipconfig.h" 0008 0009 #include <arpa/inet.h> 0010 0011 #include "dnsdomain.h" 0012 0013 namespace NetworkManager 0014 { 0015 class NetworkManager::DnsDomain::Private 0016 { 0017 public: 0018 Private(const QString &theName, const QList<QHostAddress> &theServers, const QStringList &theOptions) 0019 : name(theName) 0020 , servers(theServers) 0021 , options(theOptions) 0022 { 0023 } 0024 Private() 0025 { 0026 } 0027 QString name; 0028 QList<QHostAddress> servers; 0029 QStringList options; 0030 }; 0031 0032 } 0033 0034 NetworkManager::DnsDomain::DnsDomain(const QString &name, const QList<QHostAddress> &servers, const QStringList &options) 0035 : d(new Private(name, servers, options)) 0036 { 0037 } 0038 0039 NetworkManager::DnsDomain::DnsDomain() 0040 : d(new Private()) 0041 { 0042 } 0043 0044 NetworkManager::DnsDomain::DnsDomain(const DnsDomain &other) 0045 : d(new Private) 0046 { 0047 *this = other; 0048 } 0049 0050 NetworkManager::DnsDomain::~DnsDomain() 0051 { 0052 delete d; 0053 } 0054 0055 QString NetworkManager::DnsDomain::name() const 0056 { 0057 return d->name; 0058 } 0059 0060 void NetworkManager::DnsDomain::setName(const QString &name) 0061 { 0062 d->name = name; 0063 } 0064 0065 QList<QHostAddress> NetworkManager::DnsDomain::servers() const 0066 { 0067 return d->servers; 0068 } 0069 0070 void NetworkManager::DnsDomain::setServers(const QList<QHostAddress> &servers) 0071 { 0072 d->servers = servers; 0073 } 0074 0075 QStringList NetworkManager::DnsDomain::options() const 0076 { 0077 return d->options; 0078 } 0079 0080 void NetworkManager::DnsDomain::setOptions(const QStringList &options) 0081 { 0082 d->options = options; 0083 } 0084 0085 NetworkManager::DnsDomain &NetworkManager::DnsDomain::operator=(const DnsDomain &other) 0086 { 0087 if (this == &other) { 0088 return *this; 0089 } 0090 0091 *d = *other.d; 0092 return *this; 0093 }