diff --git a/examples/browser/mainwindow.cpp b/examples/browser/mainwindow.cpp index a575c26..352aae8 100644 --- a/examples/browser/mainwindow.cpp +++ b/examples/browser/mainwindow.cpp @@ -56,29 +56,29 @@ MainWindow::MainWindow() mAttributes = new QTableWidget; mAttributes->setSelectionBehavior(QAbstractItemView::SelectRows); - QVBoxLayout *rootLayout = new QVBoxLayout; - QWidget *widget = new QWidget; + auto *rootLayout = new QVBoxLayout; + auto *widget = new QWidget; widget->setLayout(rootLayout); setCentralWidget(widget); - QCheckBox *any = new QCheckBox(tr("Any")); + auto *any = new QCheckBox(tr("Any")); - QHBoxLayout *typeLayout = new QHBoxLayout; + auto *typeLayout = new QHBoxLayout; typeLayout->addWidget(mServiceType, 1); typeLayout->addWidget(any); typeLayout->addWidget(mStartStop); rootLayout->addLayout(typeLayout); - QSplitter *vSplitter = new QSplitter; + auto *vSplitter = new QSplitter; vSplitter->setOrientation(Qt::Vertical); vSplitter->addWidget(mAddresses); vSplitter->addWidget(mAttributes); - QSplitter *hSplitter = new QSplitter; + auto *hSplitter = new QSplitter; hSplitter->addWidget(mServices); hSplitter->addWidget(vSplitter); - QHBoxLayout *servicesLayout = new QHBoxLayout; + auto *servicesLayout = new QHBoxLayout; servicesLayout->addWidget(hSplitter); rootLayout->addLayout(servicesLayout); diff --git a/examples/browser/servicemodel.h b/examples/browser/servicemodel.h index 489de09..7966039 100644 --- a/examples/browser/servicemodel.h +++ b/examples/browser/servicemodel.h @@ -41,8 +41,8 @@ class ServiceModel : public QAbstractListModel ServiceModel(QMdnsEngine::Server *server, const QByteArray &type); - virtual int rowCount(const QModelIndex &parent) const; - virtual QVariant data(const QModelIndex &index, int role) const; + int rowCount(const QModelIndex &parent) const override; + QVariant data(const QModelIndex &index, int role) const override; private Q_SLOTS: diff --git a/examples/provider/mainwindow.cpp b/examples/provider/mainwindow.cpp index f61b707..91c2a07 100644 --- a/examples/provider/mainwindow.cpp +++ b/examples/provider/mainwindow.cpp @@ -40,7 +40,7 @@ MainWindow::MainWindow() : mHostname(&mServer), - mProvider(0), + mProvider(nullptr), mServiceName(new QLineEdit(tr("Test Service"))), mServiceType(new QLineEdit(tr("_test._tcp.local."))), mServicePort(new QLineEdit("1234")), @@ -55,17 +55,17 @@ MainWindow::MainWindow() mLog->setReadOnly(true); // Create the root layout - QVBoxLayout *rootLayout = new QVBoxLayout; - QWidget *widget = new QWidget; + auto *rootLayout = new QVBoxLayout; + auto *widget = new QWidget; widget->setLayout(rootLayout); setCentralWidget(widget); // Create the horizontal layout for the grid and buttons - QHBoxLayout *upperLayout = new QHBoxLayout; + auto *upperLayout = new QHBoxLayout; rootLayout->addLayout(upperLayout); // Create the grid layout for the line edits - QGridLayout *gridLayout = new QGridLayout; + auto *gridLayout = new QGridLayout; gridLayout->addWidget(new QLabel(tr("Service name:")), 0, 0); gridLayout->addWidget(mServiceName, 0, 1); gridLayout->addWidget(new QLabel(tr("Service type:")), 1, 0); @@ -75,7 +75,7 @@ MainWindow::MainWindow() upperLayout->addLayout(gridLayout); // Create the layout for the buttons - QVBoxLayout *buttonLayout = new QVBoxLayout; + auto *buttonLayout = new QVBoxLayout; buttonLayout->addWidget(mButton); buttonLayout->addWidget(mShowQueries); buttonLayout->addWidget(new QWidget, 1); @@ -94,7 +94,7 @@ void MainWindow::onClicked() if (mProvider) { mLog->append(tr("Destroying provider")); delete mProvider; - mProvider = 0; + mProvider = nullptr; } else { mLog->append(tr("Creating provider")); QMdnsEngine::Service service; diff --git a/src/include/qmdnsengine/abstractserver.h b/src/include/qmdnsengine/abstractserver.h index ca42ed2..c3b4c0b 100644 --- a/src/include/qmdnsengine/abstractserver.h +++ b/src/include/qmdnsengine/abstractserver.h @@ -51,7 +51,7 @@ class QMDNSENGINE_EXPORT AbstractServer : public QObject /** * @brief Abstract constructor */ - explicit AbstractServer(QObject *parent = 0); + explicit AbstractServer(QObject *parent = nullptr); /** * @brief Send a message to its provided destination diff --git a/src/include/qmdnsengine/browser.h b/src/include/qmdnsengine/browser.h index 7cecee3..188fa70 100644 --- a/src/include/qmdnsengine/browser.h +++ b/src/include/qmdnsengine/browser.h @@ -82,7 +82,7 @@ class QMDNSENGINE_EXPORT Browser : public QObject * @param cache DNS cache to use or null to create one * @param parent QObject */ - Browser(AbstractServer *server, const QByteArray &type, Cache *cache = 0, QObject *parent = 0); + Browser(AbstractServer *server, const QByteArray &type, Cache *cache = nullptr, QObject *parent = nullptr); Q_SIGNALS: diff --git a/src/include/qmdnsengine/cache.h b/src/include/qmdnsengine/cache.h index cecfddd..d3f6245 100644 --- a/src/include/qmdnsengine/cache.h +++ b/src/include/qmdnsengine/cache.h @@ -71,7 +71,7 @@ class QMDNSENGINE_EXPORT Cache : public QObject /** * @brief Create an empty cache. */ - explicit Cache(QObject *parent = 0); + explicit Cache(QObject *parent = nullptr); /** * @brief Add a record to the cache diff --git a/src/include/qmdnsengine/dns.h b/src/include/qmdnsengine/dns.h index f19d275..2b45782 100644 --- a/src/include/qmdnsengine/dns.h +++ b/src/include/qmdnsengine/dns.h @@ -107,9 +107,9 @@ QMDNSENGINE_EXPORT bool fromPacket(const QByteArray &packet, Message &message); /** * @brief Create a raw DNS packet from a Message * @param message Message to create the packet from - * @param packet storage for raw DNS packet + * @return packet storage for raw DNS packet */ -QMDNSENGINE_EXPORT void toPacket(const Message &message, QByteArray &packet); +QMDNSENGINE_EXPORT QByteArray toPacket(const Message &message); /** * @brief Retrieve the string representation of a DNS type diff --git a/src/include/qmdnsengine/hostname.h b/src/include/qmdnsengine/hostname.h index fe3c79b..9c82bec 100644 --- a/src/include/qmdnsengine/hostname.h +++ b/src/include/qmdnsengine/hostname.h @@ -60,7 +60,7 @@ class QMDNSENGINE_EXPORT Hostname : public QObject /** * @brief Create a new hostname */ - Hostname(AbstractServer *server, QObject *parent = 0); + explicit Hostname(AbstractServer *server, QObject *parent = nullptr); /** * @brief Determine if a hostname has been registered diff --git a/src/include/qmdnsengine/prober.h b/src/include/qmdnsengine/prober.h index 8a7b1e9..6b15b30 100644 --- a/src/include/qmdnsengine/prober.h +++ b/src/include/qmdnsengine/prober.h @@ -68,7 +68,7 @@ class QMDNSENGINE_EXPORT Prober : public QObject /** * @brief Create a new prober */ - Prober(AbstractServer *server, const Record &record, QObject *parent = 0); + Prober(AbstractServer *server, const Record &record, QObject *parent = nullptr); Q_SIGNALS: diff --git a/src/include/qmdnsengine/provider.h b/src/include/qmdnsengine/provider.h index 7990005..9f2d08c 100644 --- a/src/include/qmdnsengine/provider.h +++ b/src/include/qmdnsengine/provider.h @@ -69,7 +69,7 @@ class QMDNSENGINE_EXPORT Provider : public QObject /** * @brief Create a new service provider */ - Provider(AbstractServer *server, Hostname *hostname, QObject *parent = 0); + Provider(AbstractServer *server, Hostname *hostname, QObject *parent = nullptr); /** * @brief Update the service with the provided information diff --git a/src/include/qmdnsengine/resolver.h b/src/include/qmdnsengine/resolver.h index b393b66..dfeb7a5 100644 --- a/src/include/qmdnsengine/resolver.h +++ b/src/include/qmdnsengine/resolver.h @@ -64,7 +64,7 @@ class QMDNSENGINE_EXPORT Resolver : public QObject /** * @brief Create a new resolver */ - Resolver(AbstractServer *server, const QByteArray &name, Cache *cache = 0, QObject *parent = 0); + Resolver(AbstractServer *server, const QByteArray &name, Cache *cache = nullptr, QObject *parent = nullptr); Q_SIGNALS: diff --git a/src/include/qmdnsengine/server.h b/src/include/qmdnsengine/server.h index 4dea9c9..6edabb5 100644 --- a/src/include/qmdnsengine/server.h +++ b/src/include/qmdnsengine/server.h @@ -56,17 +56,17 @@ class QMDNSENGINE_EXPORT Server : public AbstractServer /** * @brief Create a new server */ - explicit Server(QObject *parent = 0); + explicit Server(QObject *parent = nullptr); /** * @brief Implementation of AbstractServer::sendMessage() */ - virtual void sendMessage(const Message &message); + void sendMessage(const Message &message) override; /** * @brief Implementation of AbstractServer::sendMessageToAll() */ - virtual void sendMessageToAll(const Message &message); + void sendMessageToAll(const Message &message) override; private: diff --git a/src/src/bitmap.cpp b/src/src/bitmap.cpp index 428fff9..15e7f08 100644 --- a/src/src/bitmap.cpp +++ b/src/src/bitmap.cpp @@ -41,9 +41,7 @@ BitmapPrivate::~BitmapPrivate() void BitmapPrivate::free() { - if (data) { - delete[] data; - } + delete[] data; } void BitmapPrivate::fromData(quint8 newLength, const quint8 *newData) diff --git a/src/src/browser.cpp b/src/src/browser.cpp index 310887a..e791668 100644 --- a/src/src/browser.cpp +++ b/src/src/browser.cpp @@ -31,15 +31,17 @@ #include #include +#include + #include "browser_p.h" using namespace QMdnsEngine; -BrowserPrivate::BrowserPrivate(Browser *browser, AbstractServer *server, const QByteArray &type, Cache *existingCache) +BrowserPrivate::BrowserPrivate(Browser *browser, AbstractServer *server, QByteArray type, Cache *existingCache) : QObject(browser), q(browser), server(server), - type(type), + type(std::move(type)), cache(existingCache ? existingCache : new Cache(this)) { connect(server, &AbstractServer::messageReceived, this, &BrowserPrivate::onMessageReceived); diff --git a/src/src/browser_p.h b/src/src/browser_p.h index 661784a..b27f2a7 100644 --- a/src/src/browser_p.h +++ b/src/src/browser_p.h @@ -48,7 +48,7 @@ class BrowserPrivate : public QObject public: - explicit BrowserPrivate(Browser *browser, AbstractServer *server, const QByteArray &type, Cache *existingCache); + explicit BrowserPrivate(Browser *browser, AbstractServer *server, QByteArray type, Cache *existingCache); bool updateService(const QByteArray &fqName); diff --git a/src/src/cache_p.h b/src/src/cache_p.h index a66587a..b530d0c 100644 --- a/src/src/cache_p.h +++ b/src/src/cache_p.h @@ -49,7 +49,7 @@ class CachePrivate : public QObject QList triggers; }; - CachePrivate(Cache *cache); + explicit CachePrivate(Cache *cache); QTimer timer; QList entries; diff --git a/src/src/dns.cpp b/src/src/dns.cpp index 68c8794..7e13be1 100644 --- a/src/src/dns.cpp +++ b/src/src/dns.cpp @@ -335,8 +335,9 @@ bool fromPacket(const QByteArray &packet, Message &message) return true; } -void toPacket(const Message &message, QByteArray &packet) +QByteArray toPacket(const Message &message) { + QByteArray packet; quint16 offset = 0; quint16 flags = (message.isResponse() ? 0x8400 : 0) | (message.isTruncated() ? 0x200 : 0); @@ -357,6 +358,7 @@ void toPacket(const Message &message, QByteArray &packet) for (Record record : records) { writeRecord(packet, offset, record, nameMap); } + return packet; } QString typeName(quint16 type) diff --git a/src/src/message.cpp b/src/src/message.cpp index 9fe2a9f..5ad7c76 100644 --- a/src/src/message.cpp +++ b/src/src/message.cpp @@ -31,14 +31,6 @@ using namespace QMdnsEngine; -MessagePrivate::MessagePrivate() - : port(0), - transactionId(0), - isResponse(false), - isTruncated(false) -{ -} - Message::Message() : d(new MessagePrivate) { diff --git a/src/src/message_p.h b/src/src/message_p.h index 665d194..6c15826 100644 --- a/src/src/message_p.h +++ b/src/src/message_p.h @@ -34,17 +34,13 @@ namespace QMdnsEngine class Query; class Record; -class MessagePrivate +struct MessagePrivate { -public: - - MessagePrivate(); - QHostAddress address; - quint16 port; - quint16 transactionId; - bool isResponse; - bool isTruncated; + quint16 port = 0; + quint16 transactionId = 0; + bool isResponse = false; + bool isTruncated = false; QList queries; QList records; }; diff --git a/src/src/provider.cpp b/src/src/provider.cpp index 3336bac..b04c4e9 100644 --- a/src/src/provider.cpp +++ b/src/src/provider.cpp @@ -76,9 +76,7 @@ void ProviderPrivate::confirm() { // Confirm that the desired name is unique through probing - if (prober) { - delete prober; - } + delete prober; prober = new Prober(server, srvProposed, this); connect(prober, &Prober::nameConfirmed, [this](const QByteArray &name) { diff --git a/src/src/query.cpp b/src/src/query.cpp index b383029..3018bd6 100644 --- a/src/src/query.cpp +++ b/src/src/query.cpp @@ -31,12 +31,6 @@ using namespace QMdnsEngine; -QueryPrivate::QueryPrivate() - : type(0), - unicastResponse(false) -{ -} - Query::Query() : d(new QueryPrivate) { diff --git a/src/src/query_p.h b/src/src/query_p.h index 23d01f0..b3bc342 100644 --- a/src/src/query_p.h +++ b/src/src/query_p.h @@ -30,15 +30,11 @@ namespace QMdnsEngine { -class QueryPrivate +struct QueryPrivate { -public: - - QueryPrivate(); - QByteArray name; - quint16 type; - bool unicastResponse; + quint16 type = 0; + bool unicastResponse = false; }; } diff --git a/src/src/record.cpp b/src/src/record.cpp index 4bdb5df..424f395 100644 --- a/src/src/record.cpp +++ b/src/src/record.cpp @@ -31,16 +31,6 @@ using namespace QMdnsEngine; -RecordPrivate::RecordPrivate() - : type(0), - flushCache(false), - ttl(3600), - priority(0), - weight(0), - port(0) -{ -} - Record::Record() : d(new RecordPrivate) { diff --git a/src/src/record_p.h b/src/src/record_p.h index ec8f842..a95ceee 100644 --- a/src/src/record_p.h +++ b/src/src/record_p.h @@ -33,23 +33,19 @@ namespace QMdnsEngine { -class RecordPrivate +struct RecordPrivate { -public: - - RecordPrivate(); - QByteArray name; - quint16 type; - bool flushCache; - quint32 ttl; + quint16 type = 0; + bool flushCache = false; + quint32 ttl = 3600; QHostAddress address; QByteArray target; QByteArray nextDomainName; - quint16 priority; - quint16 weight; - quint16 port; + quint16 priority = 0; + quint16 weight = 0; + quint16 port = 0; QMap attributes; Bitmap bitmap; }; diff --git a/src/src/resolver.cpp b/src/src/resolver.cpp index 403c410..c195d7b 100644 --- a/src/src/resolver.cpp +++ b/src/src/resolver.cpp @@ -23,6 +23,7 @@ */ #include +#include #include #include @@ -36,11 +37,11 @@ using namespace QMdnsEngine; -ResolverPrivate::ResolverPrivate(Resolver *resolver, AbstractServer *server, const QByteArray &name, Cache *cache) +ResolverPrivate::ResolverPrivate(Resolver *resolver, AbstractServer *server, QByteArray name, Cache *cache) : QObject(resolver), q(resolver), server(server), - name(name), + name(std::move(name)), cache(cache ? cache : new Cache(this)) { connect(server, &AbstractServer::messageReceived, this, &ResolverPrivate::onMessageReceived); diff --git a/src/src/resolver_p.h b/src/src/resolver_p.h index 0110d47..6f4b9b9 100644 --- a/src/src/resolver_p.h +++ b/src/src/resolver_p.h @@ -45,7 +45,7 @@ class ResolverPrivate : public QObject public: - explicit ResolverPrivate(Resolver *resolver, AbstractServer *server, const QByteArray &name, Cache *cache); + explicit ResolverPrivate(Resolver *resolver, AbstractServer *server, QByteArray name, Cache *cache); QList existing() const; void query() const; diff --git a/src/src/server.cpp b/src/src/server.cpp index 545c800..3e99f50 100644 --- a/src/src/server.cpp +++ b/src/src/server.cpp @@ -117,7 +117,7 @@ void ServerPrivate::onTimeout() void ServerPrivate::onReadyRead() { // Read the packet from the socket - QUdpSocket *socket = qobject_cast(sender()); + auto *socket = qobject_cast(sender()); QByteArray packet; packet.resize(socket->pendingDatagramSize()); QHostAddress address; @@ -141,8 +141,7 @@ Server::Server(QObject *parent) void Server::sendMessage(const Message &message) { - QByteArray packet; - toPacket(message, packet); + const auto packet = toPacket(message); if (message.address().protocol() == QAbstractSocket::IPv4Protocol) { d->ipv4Socket.writeDatagram(packet, message.address(), message.port()); } else { @@ -152,8 +151,7 @@ void Server::sendMessage(const Message &message) void Server::sendMessageToAll(const Message &message) { - QByteArray packet; - toPacket(message, packet); + const auto packet = toPacket(message); d->ipv4Socket.writeDatagram(packet, MdnsIpv4Address, MdnsPort); d->ipv6Socket.writeDatagram(packet, MdnsIpv6Address, MdnsPort); } diff --git a/src/src/service.cpp b/src/src/service.cpp index 7bda3e3..c1863cc 100644 --- a/src/src/service.cpp +++ b/src/src/service.cpp @@ -28,10 +28,6 @@ using namespace QMdnsEngine; -ServicePrivate::ServicePrivate() -{ -} - Service::Service() : d(new ServicePrivate) { diff --git a/src/src/service_p.h b/src/src/service_p.h index ffa2e4d..1109a7d 100644 --- a/src/src/service_p.h +++ b/src/src/service_p.h @@ -31,12 +31,8 @@ namespace QMdnsEngine { -class ServicePrivate +struct ServicePrivate { -public: - - ServicePrivate(); - QByteArray type; QByteArray name; QByteArray hostname; diff --git a/tests/common/testserver.h b/tests/common/testserver.h index 8db8ecb..8c4fc3b 100644 --- a/tests/common/testserver.h +++ b/tests/common/testserver.h @@ -40,8 +40,8 @@ class TestServer : public QMdnsEngine::AbstractServer public: - virtual void sendMessage(const QMdnsEngine::Message &message); - virtual void sendMessageToAll(const QMdnsEngine::Message &message); + void sendMessage(const QMdnsEngine::Message &message) override; + void sendMessageToAll(const QMdnsEngine::Message &message) override; void deliverMessage(const QMdnsEngine::Message &message);