diff options
| author | Linus Jahn <lnj@kaidan.im> | 2022-03-13 01:24:20 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-03-13 02:11:14 +0100 |
| commit | e69f1033436ee0de77e7185a4d2dc394b48f14b7 (patch) | |
| tree | 1017fa3014070cb5a0dfd8917d9290955a4e5b68 /src/server/QXmppServer.cpp | |
| parent | 8cf5dc45bedcc2e186839b590f5e915a88c36507 (diff) | |
| download | qxmpp-e69f1033436ee0de77e7185a4d2dc394b48f14b7.tar.gz | |
Server: Avoid creating temporary for iteration on two containers
Diffstat (limited to 'src/server/QXmppServer.cpp')
| -rw-r--r-- | src/server/QXmppServer.cpp | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/src/server/QXmppServer.cpp b/src/server/QXmppServer.cpp index 793b9b60..35b0d2ad 100644 --- a/src/server/QXmppServer.cpp +++ b/src/server/QXmppServer.cpp @@ -430,8 +430,12 @@ void QXmppServer::addCaCertificates(const QString &path) } // reconfigure servers - for (auto *server : d->serversForClients + d->serversForServers) + for (auto *server : std::as_const(d->serversForClients)) { server->addCaCertificates(d->caCertificates); + } + for (auto *server : std::as_const(d->serversForServers)) { + server->addCaCertificates(d->caCertificates); + } } /// Sets the path for the local SSL certificate. @@ -453,8 +457,12 @@ void QXmppServer::setLocalCertificate(const QString &path) } // reconfigure servers - for (auto *server : d->serversForClients + d->serversForServers) + for (auto *server : std::as_const(d->serversForClients)) { + server->setLocalCertificate(d->localCertificate); + } + for (auto *server : std::as_const(d->serversForServers)) { server->setLocalCertificate(d->localCertificate); + } } /// @@ -469,8 +477,12 @@ void QXmppServer::setLocalCertificate(const QSslCertificate &certificate) d->localCertificate = certificate; // reconfigure servers - for (auto *server : d->serversForClients + d->serversForServers) + for (auto *server : std::as_const(d->serversForClients)) { + server->setLocalCertificate(d->localCertificate); + } + for (auto *server : std::as_const(d->serversForServers)) { server->setLocalCertificate(d->localCertificate); + } } /// Sets the path for the local SSL private key. @@ -492,8 +504,12 @@ void QXmppServer::setPrivateKey(const QString &path) } // reconfigure servers - for (auto *server : d->serversForClients + d->serversForServers) + for (auto *server : std::as_const(d->serversForClients)) { server->setPrivateKey(d->privateKey); + } + for (auto *server : std::as_const(d->serversForServers)) { + server->setPrivateKey(d->privateKey); + } } /// @@ -508,8 +524,12 @@ void QXmppServer::setPrivateKey(const QSslKey &key) d->privateKey = key; // reconfigure servers - for (auto *server : d->serversForClients + d->serversForServers) + for (auto *server : std::as_const(d->serversForClients)) { + server->setPrivateKey(d->privateKey); + } + for (auto *server : std::as_const(d->serversForServers)) { server->setPrivateKey(d->privateKey); + } } /// Listen for incoming XMPP client connections. @@ -556,7 +576,10 @@ bool QXmppServer::listenForClients(const QHostAddress &address, quint16 port) void QXmppServer::close() { // prevent new connections - for (auto *server : d->serversForClients + d->serversForServers) { + for (auto *server : std::as_const(d->serversForClients)) { + server->close(); + } + for (auto *server : std::as_const(d->serversForServers)) { server->close(); } qDeleteAll(d->serversForClients); |
