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

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 }