diff options
| author | Linus Jahn <lnj@kaidan.im> | 2019-05-14 17:15:11 +0200 |
|---|---|---|
| committer | LNJ <lnj@kaidan.im> | 2019-10-23 18:09:17 +0200 |
| commit | 4172b33b1222a586d95dbc7e69dad7a19a307ea1 (patch) | |
| tree | 830008c8dd42d257c8aba3080e35813d37383eb2 /src | |
| parent | b34ceca75db2791f00d9fa12b8714739bd19eade (diff) | |
| download | qxmpp-4172b33b1222a586d95dbc7e69dad7a19a307ea1.tar.gz | |
Replace Q_FOREACH (foreach) by C++11 ranged for-loops
Q_FOREACH is bad and will be deprecated in the future:
https://www.kdab.com/goodbye-q_foreach/
This also disables Q_FOREACH by defining QT_NO_FOREACH.
Diffstat (limited to 'src')
32 files changed, 179 insertions, 197 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 90c4400f..c76922b2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,8 @@ add_definitions(-DQXMPP_BUILD) +# disable Q_FOREACH() +add_definitions(-DQT_NO_FOREACH) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/base) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/client) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/server) diff --git a/src/base/QXmppArchiveIq.cpp b/src/base/QXmppArchiveIq.cpp index 0d2470ac..6ee08044 100644 --- a/src/base/QXmppArchiveIq.cpp +++ b/src/base/QXmppArchiveIq.cpp @@ -125,8 +125,7 @@ void QXmppArchiveChat::toXml(QXmlStreamWriter *writer, const QXmppResultSetReply QDateTime prevTime = m_start; - foreach (const QXmppArchiveMessage &message, m_messages) - { + for (const QXmppArchiveMessage &message : m_messages) { writer->writeStartElement(message.isReceived() ? "from" : "to"); helperToXmlAddAttribute(writer, "secs", QString::number(prevTime.secsTo(message.date()))); writer->writeTextElement("body", message.body()); @@ -428,7 +427,7 @@ void QXmppArchiveListIq::toXmlElementFromChild(QXmlStreamWriter *writer) const m_rsmQuery.toXml(writer); else if (!m_rsmReply.isNull()) m_rsmReply.toXml(writer); - foreach (const QXmppArchiveChat &chat, m_chats) + for (const auto &chat : m_chats) chat.toXml(writer); writer->writeEndElement(); } diff --git a/src/base/QXmppBookmarkSet.cpp b/src/base/QXmppBookmarkSet.cpp index fd23969f..a36e6519 100644 --- a/src/base/QXmppBookmarkSet.cpp +++ b/src/base/QXmppBookmarkSet.cpp @@ -210,8 +210,7 @@ void QXmppBookmarkSet::toXml(QXmlStreamWriter *writer) const { writer->writeStartElement("storage"); writer->writeAttribute("xmlns", ns_bookmarks); - foreach (const QXmppBookmarkConference &conference, m_conferences) - { + for (const auto &conference : m_conferences) { writer->writeStartElement("conference"); if (conference.autoJoin()) helperToXmlAddAttribute(writer, "autojoin", "true"); @@ -221,8 +220,7 @@ void QXmppBookmarkSet::toXml(QXmlStreamWriter *writer) const helperToXmlAddTextElement(writer, "nick", conference.nickName()); writer->writeEndElement(); } - foreach (const QXmppBookmarkUrl &url, m_urls) - { + for (const auto &url : m_urls) { writer->writeStartElement("url"); helperToXmlAddAttribute(writer, "name", url.name()); helperToXmlAddAttribute(writer, "url", url.url().toString()); diff --git a/src/base/QXmppByteStreamIq.cpp b/src/base/QXmppByteStreamIq.cpp index 57c3c8c2..2501d9f2 100644 --- a/src/base/QXmppByteStreamIq.cpp +++ b/src/base/QXmppByteStreamIq.cpp @@ -162,8 +162,7 @@ void QXmppByteStreamIq::toXmlElementFromChild(QXmlStreamWriter *writer) const else if (m_mode == Udp) modeStr = "udp"; helperToXmlAddAttribute(writer, "mode", modeStr); - foreach (const StreamHost& streamHost, m_streamHosts) - { + for (const auto &streamHost : m_streamHosts) { writer->writeStartElement("streamhost"); helperToXmlAddAttribute(writer, "host", streamHost.host()); helperToXmlAddAttribute(writer, "jid", streamHost.jid()); diff --git a/src/base/QXmppCodec.cpp b/src/base/QXmppCodec.cpp index 41ef12a8..2f6fb7cd 100644 --- a/src/base/QXmppCodec.cpp +++ b/src/base/QXmppCodec.cpp @@ -802,7 +802,7 @@ bool QXmppTheoraDecoder::setParameters(const QMap<QString, QString> ¶meters) packet.granulepos = -1; packet.packetno = 0; - foreach (int h_size, h_sizes) { + for (const auto h_size : h_sizes) { if (device->bytesAvailable() < h_size) { qWarning("Theora configuration is too small"); return false; @@ -971,7 +971,7 @@ bool QXmppTheoraEncoder::setFormat(const QXmppVideoFormat &format) stream << quint32(1); quint16 length = 0; - foreach (const QByteArray &header, headers) + for (const auto &header : headers) length += header.size(); quint8 h_count = headers.size() - 1; diff --git a/src/base/QXmppDataForm.cpp b/src/base/QXmppDataForm.cpp index 4e588a3e..e83abc0a 100644 --- a/src/base/QXmppDataForm.cpp +++ b/src/base/QXmppDataForm.cpp @@ -326,8 +326,7 @@ QXmppDataForm::Media QXmppDataForm::Field::media() const QList<QPair<QString, QString>> pairUris; pairUris.reserve(d->mediaSources.size()); - // TODO: use qAsConst() - for (const auto &source : d->mediaSources) { + for (const auto &source : qAsConst(d->mediaSources)) { pairUris << qMakePair<QString, QString>( source.contentType().name(), source.uri().toString() @@ -771,7 +770,7 @@ void QXmppDataForm::toXml(QXmlStreamWriter *writer) const if (!d->instructions.isEmpty()) writer->writeTextElement("instructions", d->instructions); - foreach (const QXmppDataForm::Field &field, d->fields) { + for (const QXmppDataForm::Field &field : d->fields) { writer->writeStartElement("field"); /* field type */ @@ -801,7 +800,7 @@ void QXmppDataForm::toXml(QXmlStreamWriter *writer) const type == QXmppDataForm::Field::JidMultiField || type == QXmppDataForm::Field::TextMultiField) { - foreach (const QString &value, field.value().toStringList()) + for (const QString &value : field.value().toStringList()) helperToXmlAddTextElement(writer, "value", value); } else if (!field.value().isNull()) @@ -844,8 +843,7 @@ void QXmppDataForm::toXml(QXmlStreamWriter *writer) const type == QXmppDataForm::Field::ListSingleField) { QPair<QString, QString> option; - foreach (option, field.options()) - { + for (const auto &option : field.options()) { writer->writeStartElement("option"); helperToXmlAddAttribute(writer, "label", option.first); helperToXmlAddTextElement(writer, "value", option.second); diff --git a/src/base/QXmppDiscoveryIq.cpp b/src/base/QXmppDiscoveryIq.cpp index 98fa195e..359c1356 100644 --- a/src/base/QXmppDiscoveryIq.cpp +++ b/src/base/QXmppDiscoveryIq.cpp @@ -203,14 +203,14 @@ QByteArray QXmppDiscoveryIq::verificationString() const QStringList sortedFeatures = m_features; std::sort(sortedFeatures.begin(), sortedFeatures.end()); sortedFeatures.removeDuplicates(); - foreach (const QXmppDiscoveryIq::Identity &identity, sortedIdentities) + for (const auto &identity : sortedIdentities) S += QString("%1/%2/%3/%4<").arg(identity.category(), identity.type(), identity.language(), identity.name()); - foreach (const QString &feature, sortedFeatures) + for (const auto &feature : sortedFeatures) S += feature + QLatin1String("<"); if (!m_form.isNull()) { QMap<QString, QXmppDataForm::Field> fieldMap; - foreach (const QXmppDataForm::Field &field, m_form.fields()) { + for (const auto &field : m_form.fields()) { fieldMap.insert(field.key(), field); } @@ -220,7 +220,7 @@ QByteArray QXmppDiscoveryIq::verificationString() const QStringList keys = fieldMap.keys(); std::sort(keys.begin(), keys.end()); - foreach (const QString &key, keys) { + for (const auto &key : keys) { const QXmppDataForm::Field field = fieldMap.value(key); S += key + QLatin1String("<"); if (field.value().canConvert<QStringList>()) { @@ -311,7 +311,7 @@ void QXmppDiscoveryIq::toXmlElementFromChild(QXmlStreamWriter *writer) const helperToXmlAddAttribute(writer, "node", m_queryNode); if (m_queryType == InfoQuery) { - foreach (const QXmppDiscoveryIq::Identity& identity, m_identities) { + for (const auto &identity : m_identities) { writer->writeStartElement("identity"); helperToXmlAddAttribute(writer, "xml:lang", identity.language()); helperToXmlAddAttribute(writer, "category", identity.category()); @@ -320,13 +320,13 @@ void QXmppDiscoveryIq::toXmlElementFromChild(QXmlStreamWriter *writer) const writer->writeEndElement(); } - foreach (const QString &feature, m_features) { + for (const auto &feature : m_features) { writer->writeStartElement("feature"); helperToXmlAddAttribute(writer, "var", feature); writer->writeEndElement(); } } else { - foreach (const QXmppDiscoveryIq::Item& item, m_items) { + for (const auto &item : m_items) { writer->writeStartElement("item"); helperToXmlAddAttribute(writer, "jid", item.jid()); helperToXmlAddAttribute(writer, "name", item.name()); diff --git a/src/base/QXmppElement.cpp b/src/base/QXmppElement.cpp index 7d0e33fa..9b07f851 100644 --- a/src/base/QXmppElement.cpp +++ b/src/base/QXmppElement.cpp @@ -88,7 +88,7 @@ QXmppElementPrivate::QXmppElementPrivate(const QDomElement &element) QXmppElementPrivate::~QXmppElementPrivate() { - foreach (QXmppElementPrivate *child, children) + for (auto *child : children) if (!child->counter.deref()) delete child; } @@ -178,7 +178,7 @@ void QXmppElement::appendChild(const QXmppElement &child) QXmppElement QXmppElement::firstChildElement(const QString &name) const { - foreach (QXmppElementPrivate *child_d, d->children) + for (auto *child_d : d->children) if (name.isEmpty() || child_d->name == name) return QXmppElement(child_d); return QXmppElement(); @@ -238,12 +238,12 @@ void QXmppElement::toXml(QXmlStreamWriter *writer) const writer->writeStartElement(d->name); if (d->attributes.contains("xmlns")) writer->writeAttribute("xmlns", d->attributes.value("xmlns")); - foreach (const QString &attr, d->attributes.keys()) + for (const auto &attr : d->attributes.keys()) if (attr != "xmlns") helperToXmlAddAttribute(writer, attr, d->attributes.value(attr)); if (!d->value.isEmpty()) writer->writeCharacters(d->value); - foreach (const QXmppElement &child, d->children) - child.toXml(writer); + for (auto *childPrivate : d->children) + QXmppElement(childPrivate).toXml(writer); writer->writeEndElement(); } diff --git a/src/base/QXmppIq.cpp b/src/base/QXmppIq.cpp index aee9a984..e70a4c44 100644 --- a/src/base/QXmppIq.cpp +++ b/src/base/QXmppIq.cpp @@ -142,7 +142,7 @@ void QXmppIq::toXml( QXmlStreamWriter *xmlWriter ) const void QXmppIq::toXmlElementFromChild( QXmlStreamWriter *writer ) const { - foreach (const QXmppElement &extension, extensions()) + for (const QXmppElement &extension : extensions()) extension.toXml(writer); } /// \endcond diff --git a/src/base/QXmppJingleIq.cpp b/src/base/QXmppJingleIq.cpp index 14ec748a..3aa75dcb 100644 --- a/src/base/QXmppJingleIq.cpp +++ b/src/base/QXmppJingleIq.cpp @@ -426,7 +426,7 @@ void QXmppJingleIq::Content::toXml(QXmlStreamWriter *writer) const helperToXmlAddAttribute(writer, "media", d->descriptionMedia); if (d->descriptionSsrc) writer->writeAttribute("ssrc", QString::number(d->descriptionSsrc)); - foreach (const QXmppJinglePayloadType &payload, d->payloadTypes) + for (const auto &payload : d->payloadTypes) payload.toXml(writer); writer->writeEndElement(); } @@ -438,7 +438,7 @@ void QXmppJingleIq::Content::toXml(QXmlStreamWriter *writer) const writer->writeAttribute("xmlns", d->transportType); helperToXmlAddAttribute(writer, "ufrag", d->transportUser); helperToXmlAddAttribute(writer, "pwd", d->transportPassword); - foreach (const QXmppJingleCandidate &candidate, d->transportCandidates) + for (const auto &candidate : d->transportCandidates) candidate.toXml(writer); // XEP-0320 @@ -459,7 +459,7 @@ bool QXmppJingleIq::Content::parseSdp(const QString &sdp) { QList<QXmppJinglePayloadType> payloads; QString line; - foreach (line, sdp.split('\n')) { + for (auto &line : sdp.split('\n')) { if (line.endsWith('\r')) line.resize(line.size() - 1); if (line.startsWith("a=")) { @@ -494,7 +494,7 @@ bool QXmppJingleIq::Content::parseSdp(const QString &sdp) if (payload.name() == "telephone-event") { params.insert("events", paramStr); } else { - foreach (const QString p, paramStr.split(QRegExp(";\\s*"))) { + for (const auto &p : paramStr.split(QRegExp(";\\s*"))) { QStringList bits = p.split('='); if (bits.size() == 2) params.insert(bits[0], bits[1]); @@ -577,7 +577,7 @@ QString QXmppJingleIq::Content::toSdp() const quint16 localRtpPort = 0; QList<QXmppJingleCandidate> sortedCandidates = d->transportCandidates; std::sort(sortedCandidates.begin(), sortedCandidates.end(), candidateLessThan); - foreach (const QXmppJingleCandidate &candidate, sortedCandidates) { + for (const auto &candidate : sortedCandidates) { if (candidate.component() == RTP_COMPONENT) { localRtpAddress = candidate.host(); localRtpPort = candidate.port(); @@ -590,7 +590,7 @@ QString QXmppJingleIq::Content::toSdp() const // media QString payloads; QStringList attrs; - foreach (const QXmppJinglePayloadType &payload, d->payloadTypes) { + for (const QXmppJinglePayloadType &payload : d->payloadTypes) { payloads += " " + QString::number(payload.id()); QString rtpmap = QString::number(payload.id()) + " " + payload.name() + "/" + QString::number(payload.clockrate()); if (payload.channels() > 1) @@ -616,7 +616,7 @@ QString QXmppJingleIq::Content::toSdp() const sdp += attrs; // transport - foreach (const QXmppJingleCandidate &candidate, d->transportCandidates) + for (const auto &candidate : d->transportCandidates) sdp << QString("a=%1").arg(candidateToSdp(candidate)); if (!d->transportUser.isEmpty()) sdp << QString("a=ice-ufrag:%1").arg(d->transportUser); @@ -907,7 +907,7 @@ void QXmppJingleIq::toXmlElementFromChild(QXmlStreamWriter *writer) const helperToXmlAddAttribute(writer, "initiator", d->initiator); helperToXmlAddAttribute(writer, "responder", d->responder); helperToXmlAddAttribute(writer, "sid", d->sid); - foreach (const QXmppJingleIq::Content &content, d->contents) + for (const auto &content : d->contents) content.toXml(writer); d->reason.toXml(writer); @@ -1419,7 +1419,7 @@ void QXmppJinglePayloadType::toXml(QXmlStreamWriter *writer) const if (d->ptime > 0) helperToXmlAddAttribute(writer, "ptime", QString::number(d->ptime)); - foreach (const QString &key, d->parameters.keys()) { + for (const auto &key : d->parameters.keys()) { writer->writeStartElement("parameter"); writer->writeAttribute("name", key); writer->writeAttribute("value", d->parameters.value(key)); diff --git a/src/base/QXmppMucIq.cpp b/src/base/QXmppMucIq.cpp index b1b944d0..d61562c9 100644 --- a/src/base/QXmppMucIq.cpp +++ b/src/base/QXmppMucIq.cpp @@ -278,7 +278,7 @@ void QXmppMucAdminIq::toXmlElementFromChild(QXmlStreamWriter *writer) const { writer->writeStartElement("query"); writer->writeAttribute("xmlns", ns_muc_admin); - foreach (const QXmppMucItem &item, m_items) + for (const QXmppMucItem &item : m_items) item.toXml(writer); writer->writeEndElement(); } diff --git a/src/base/QXmppPresence.cpp b/src/base/QXmppPresence.cpp index b2521eb8..b18079bb 100644 --- a/src/base/QXmppPresence.cpp +++ b/src/base/QXmppPresence.cpp @@ -192,7 +192,7 @@ void QXmppPresence::setType(QXmppPresence::Type type) d->type = type; } -/// \cond +/// \cond void QXmppPresence::parse(const QDomElement &element) { QXmppStanza::parse(element); @@ -320,7 +320,7 @@ void QXmppPresence::toXml(QXmlStreamWriter *xmlWriter) const xmlWriter->writeAttribute("xmlns", ns_muc_user); if (!d->mucItem.isNull()) d->mucItem.toXml(xmlWriter); - foreach (int code, d->mucStatusCodes) { + for (const auto code : d->mucStatusCodes) { xmlWriter->writeStartElement("status"); xmlWriter->writeAttribute("code", QString::number(code)); xmlWriter->writeEndElement(); diff --git a/src/base/QXmppPubSubIq.cpp b/src/base/QXmppPubSubIq.cpp index 0f1cbba2..7bd9968e 100644 --- a/src/base/QXmppPubSubIq.cpp +++ b/src/base/QXmppPubSubIq.cpp @@ -243,7 +243,7 @@ void QXmppPubSubIq::toXmlElementFromChild(QXmlStreamWriter *writer) const case QXmppPubSubIq::ItemsQuery: case QXmppPubSubIq::PublishQuery: case QXmppPubSubIq::RetractQuery: - foreach (const QXmppPubSubItem &item, m_items) + for (const auto &item : m_items) item.toXml(writer); break; case QXmppPubSubIq::SubscriptionQuery: diff --git a/src/base/QXmppRpcIq.cpp b/src/base/QXmppRpcIq.cpp index 813e0dfa..4e8bd189 100644 --- a/src/base/QXmppRpcIq.cpp +++ b/src/base/QXmppRpcIq.cpp @@ -63,7 +63,7 @@ void QXmppRpcMarshaller::marshall(QXmlStreamWriter *writer, const QVariant &valu { writer->writeStartElement("array"); writer->writeStartElement("data"); - foreach(const QVariant &item, value.toList()) + for (const auto &item : value.toList()) marshall(writer, item); writer->writeEndElement(); writer->writeEndElement(); @@ -337,8 +337,7 @@ void QXmppRpcResponseIq::toXmlElementFromChild(QXmlStreamWriter *writer) const else if (!m_values.isEmpty()) { writer->writeStartElement("params"); - foreach (const QVariant &arg, m_values) - { + for (const auto &arg : m_values) { writer->writeStartElement("param"); QXmppRpcMarshaller::marshall(writer, arg); writer->writeEndElement(); @@ -433,8 +432,7 @@ void QXmppRpcInvokeIq::toXmlElementFromChild(QXmlStreamWriter *writer) const if (!m_arguments.isEmpty()) { writer->writeStartElement("params"); - foreach(const QVariant &arg, m_arguments) - { + for (const auto &arg : m_arguments) { writer->writeStartElement("param"); QXmppRpcMarshaller::marshall(writer, arg); writer->writeEndElement(); diff --git a/src/base/QXmppRtcpPacket.cpp b/src/base/QXmppRtcpPacket.cpp index 20dc3e36..00b453f6 100644 --- a/src/base/QXmppRtcpPacket.cpp +++ b/src/base/QXmppRtcpPacket.cpp @@ -234,7 +234,7 @@ void QXmppRtcpPacket::write(QDataStream &stream) const QDataStream s(&payload, QIODevice::WriteOnly); if (d->type == Goodbye) { count = d->goodbyeSsrcs.size(); - foreach (quint32 ssrc, d->goodbyeSsrcs) + for (const auto ssrc : d->goodbyeSsrcs) s << ssrc; if (!d->goodbyeReason.isEmpty()) { const QByteArray reason = d->goodbyeReason.toUtf8(); @@ -247,11 +247,11 @@ void QXmppRtcpPacket::write(QDataStream &stream) const s << d->ssrc; if (d->type == SenderReport) d->senderInfo.d->write(s); - foreach (const QXmppRtcpReceiverReport &report, d->receiverReports) + for (const auto &report : d->receiverReports) report.d->write(s); } else if (d->type == SourceDescription) { count = d->sourceDescriptions.size(); - foreach (const QXmppRtcpSourceDescription &desc, d->sourceDescriptions) + for (const auto &desc : d->sourceDescriptions) desc.d->write(s); } else { count = d->count; diff --git a/src/base/QXmppRtpChannel.cpp b/src/base/QXmppRtpChannel.cpp index 443f439e..26fea204 100644 --- a/src/base/QXmppRtpChannel.cpp +++ b/src/base/QXmppRtpChannel.cpp @@ -66,7 +66,7 @@ void QXmppRtpChannel::setRemotePayloadTypes(const QList<QXmppJinglePayloadType> QList<QXmppJinglePayloadType> commonOutgoingTypes; QList<QXmppJinglePayloadType> commonIncomingTypes; - foreach (const QXmppJinglePayloadType &incomingType, remotePayloadTypes) { + for (const auto &incomingType : remotePayloadTypes) { // check we support this payload type int outgoingIndex = m_outgoingPayloadTypes.indexOf(incomingType); if (outgoingIndex < 0) @@ -303,8 +303,8 @@ QXmppRtpAudioChannel::QXmppRtpAudioChannel(QObject *parent) QXmppRtpAudioChannel::~QXmppRtpAudioChannel() { - foreach (QXmppCodec *codec, d->incomingCodecs) - delete codec; + qDeleteAll(d->incomingCodecs); + if (d->outgoingCodec) delete d->outgoingCodec; delete d; @@ -352,7 +352,7 @@ void QXmppRtpAudioChannel::datagramReceived(const QByteArray &ba) QXmppCodec *codec = nullptr; const quint8 packetType = packet.type(); if (!d->incomingCodecs.contains(packetType)) { - foreach (const QXmppJinglePayloadType &payload, m_incomingPayloadTypes) { + for (const auto &payload : m_incomingPayloadTypes) { if (packetType == payload.id()) { codec = d->codecForPayloadType(payload); break; @@ -490,9 +490,7 @@ qint64 QXmppRtpAudioChannel::readData(char * data, qint64 maxSize) void QXmppRtpAudioChannel::payloadTypesChanged() { // delete incoming codecs - foreach (QXmppCodec *codec, d->incomingCodecs) - delete codec; - d->incomingCodecs.clear(); + qDeleteAll(d->incomingCodecs); // delete outgoing codec if (d->outgoingCodec) { @@ -501,7 +499,7 @@ void QXmppRtpAudioChannel::payloadTypesChanged() } // create outgoing codec - foreach (const QXmppJinglePayloadType &outgoingType, m_outgoingPayloadTypes) { + for (const auto &outgoingType : m_outgoingPayloadTypes) { // check for telephony events if (outgoingType.name() == "telephone-event") { d->outgoingTonesType = outgoingType; @@ -845,8 +843,7 @@ QXmppRtpVideoChannel::QXmppRtpVideoChannel(QObject *parent) QXmppRtpVideoChannel::~QXmppRtpVideoChannel() { - foreach (QXmppVideoDecoder *decoder, d->decoders) - delete decoder; + qDeleteAll(d->decoders); if (d->encoder) delete d->encoder; delete d; @@ -921,10 +918,10 @@ QIODevice::OpenMode QXmppRtpVideoChannel::openMode() const void QXmppRtpVideoChannel::payloadTypesChanged() { // refresh decoders - foreach (QXmppVideoDecoder *decoder, d->decoders) - delete decoder; + qDeleteAll(d->decoders); d->decoders.clear(); - foreach (const QXmppJinglePayloadType &payload, m_incomingPayloadTypes) { + + for (const auto &payload : qAsConst(m_incomingPayloadTypes)) { QXmppVideoDecoder *decoder = nullptr; if (false) {} @@ -947,7 +944,7 @@ void QXmppRtpVideoChannel::payloadTypesChanged() delete d->encoder; d->encoder = nullptr; } - foreach (const QXmppJinglePayloadType &payload, m_outgoingPayloadTypes) { + for (const auto &payload : m_outgoingPayloadTypes) { QXmppVideoEncoder *encoder = nullptr; if (false) {} @@ -992,7 +989,7 @@ void QXmppRtpVideoChannel::writeFrame(const QXmppVideoFrame &frame) packet.setMarker(false); packet.setType(d->outgoingId); packet.setSsrc(localSsrc()); - foreach (const QByteArray &payload, d->encoder->handleFrame(frame)) { + for (const auto &payload : d->encoder->handleFrame(frame)) { packet.setSequence(d->outgoingSequence++); packet.setStamp(d->outgoingStamp); packet.setPayload(payload); diff --git a/src/base/QXmppRtpPacket.cpp b/src/base/QXmppRtpPacket.cpp index 7270b2ec..4f0d601c 100644 --- a/src/base/QXmppRtpPacket.cpp +++ b/src/base/QXmppRtpPacket.cpp @@ -143,7 +143,7 @@ QByteArray QXmppRtpPacket::encode() const stream << d->ssrc; // contributing source ids - foreach (const quint32 &src, d->csrc) + for (const auto &src : d->csrc) stream << src; stream.writeRawData(d->payload.constData(), d->payload.size()); diff --git a/src/base/QXmppSasl.cpp b/src/base/QXmppSasl.cpp index 497fadf5..76b7e098 100644 --- a/src/base/QXmppSasl.cpp +++ b/src/base/QXmppSasl.cpp @@ -95,7 +95,7 @@ static QByteArray generateNonce() static QMap<char, QByteArray> parseGS2(const QByteArray &ba) { QMap<char, QByteArray> map; - foreach (const QByteArray &keyValue, ba.split(',')) { + for (const auto &keyValue : ba.split(',')) { if (keyValue.size() >= 2 && keyValue[1] == '=') { map[keyValue[0]] = keyValue.mid(2); } @@ -923,18 +923,15 @@ QMap<QByteArray, QByteArray> QXmppSaslDigestMd5::parseMessage(const QByteArray & QByteArray QXmppSaslDigestMd5::serializeMessage(const QMap<QByteArray, QByteArray> &map) { QByteArray ba; - foreach (const QByteArray &key, map.keys()) - { + for (const auto &key : map.keys()) { if (!ba.isEmpty()) ba.append(','); ba.append(key + "="); QByteArray value = map[key]; const char *separators = "()<>@,;:\\\"/[]?={} \t"; bool quote = false; - for (const char *c = separators; *c; c++) - { - if (value.contains(*c)) - { + for (const char *c = separators; *c; c++) { + if (value.contains(*c)) { quote = true; break; } diff --git a/src/base/QXmppStanza.cpp b/src/base/QXmppStanza.cpp index 22d0ce6e..3f37db14 100644 --- a/src/base/QXmppStanza.cpp +++ b/src/base/QXmppStanza.cpp @@ -637,13 +637,13 @@ void QXmppStanza::extensionsToXml(QXmlStreamWriter *xmlWriter) const if (!d->extendedAddresses.isEmpty()) { xmlWriter->writeStartElement("addresses"); xmlWriter->writeAttribute("xmlns", ns_extended_addressing); - foreach (const QXmppExtendedAddress &address, d->extendedAddresses) + for (const auto &address : d->extendedAddresses) address.toXml(xmlWriter); xmlWriter->writeEndElement(); } // other extensions - foreach (const QXmppElement &extension, d->extensions) + for (const auto &extension : d->extensions) extension.toXml(xmlWriter); } diff --git a/src/base/QXmppStreamFeatures.cpp b/src/base/QXmppStreamFeatures.cpp index 8079962a..ffa6ec7f 100644 --- a/src/base/QXmppStreamFeatures.cpp +++ b/src/base/QXmppStreamFeatures.cpp @@ -211,7 +211,7 @@ void QXmppStreamFeatures::toXml(QXmlStreamWriter *writer) const { writer->writeStartElement("compression"); writer->writeAttribute("xmlns", ns_compressFeature); - foreach (const QString &method, m_compressionMethods) + for (const auto &method : m_compressionMethods) writer->writeTextElement("method", method); writer->writeEndElement(); } @@ -219,7 +219,7 @@ void QXmppStreamFeatures::toXml(QXmlStreamWriter *writer) const { writer->writeStartElement("mechanisms"); writer->writeAttribute("xmlns", ns_sasl); - foreach (const QString &mechanism, m_authMechanisms) + for (const auto &mechanism : m_authMechanisms) writer->writeTextElement("mechanism", mechanism); writer->writeEndElement(); } diff --git a/src/base/QXmppStun.cpp b/src/base/QXmppStun.cpp index 69917845..490e45c7 100644 --- a/src/base/QXmppStun.cpp +++ b/src/base/QXmppStun.cpp @@ -1248,7 +1248,7 @@ void QXmppTurnAllocation::disconnectFromHost() // clear channels and any outstanding transactions m_channels.clear(); - foreach (QXmppStunTransaction *transaction, m_transactions) + for (auto *transaction : m_transactions) delete transaction; m_transactions.clear(); @@ -1318,7 +1318,7 @@ void QXmppTurnAllocation::handleDatagram(const QByteArray &buffer, const QHostAd QXmppStunMessage message; QStringList errors; if (!message.decode(buffer, QByteArray(), &errors)) { - foreach (const QString &error, errors) + for (const auto &error : errors) warning(error); return; } @@ -1331,7 +1331,7 @@ void QXmppTurnAllocation::handleDatagram(const QByteArray &buffer, const QHostAd #endif // find transaction - foreach (QXmppStunTransaction *transaction, m_transactions) { + for (auto *transaction : m_transactions) { if (transaction->request().id() == message.id() && transaction->request().messageMethod() == message.messageMethod()) { transaction->readStun(message); @@ -1357,7 +1357,7 @@ void QXmppTurnAllocation::refresh() void QXmppTurnAllocation::refreshChannels() { - foreach (quint16 channel, m_channels.keys()) { + for (const auto &channel : m_channels.keys()) { QXmppStunMessage request; request.setType(QXmppStunMessage::ChannelBind | QXmppStunMessage::Request); request.setId(QXmppUtils::generateRandomBytes(STUN_ID_SIZE)); @@ -1814,12 +1814,12 @@ bool QXmppIceComponentPrivate::addRemoteCandidate(const QXmppJingleCandidate &ca candidate.host().protocol() != QAbstractSocket::IPv6Protocol)) return false; - foreach (const QXmppJingleCandidate &c, remoteCandidates) + for (const auto &c : remoteCandidates) if (c.host() == candidate.host() && c.port() == candidate.port()) return false; remoteCandidates << candidate; - foreach (QXmppIceTransport *transport, transports) { + for (auto *transport : transports) { // only pair compatible addresses const QXmppJingleCandidate local = transport->localCandidate(component); if (!isCompatibleAddress(local.host(), candidate.host())) @@ -1841,7 +1841,7 @@ bool QXmppIceComponentPrivate::addRemoteCandidate(const QXmppJingleCandidate &ca CandidatePair* QXmppIceComponentPrivate::findPair(QXmppStunTransaction *transaction) { - foreach (CandidatePair *pair, pairs) { + for (auto *pair : pairs) { if (pair->transaction == transaction) return pair; } @@ -1873,16 +1873,14 @@ void QXmppIceComponentPrivate::setSockets(QList<QUdpSocket*> sockets) // clear previous candidates and sockets localCandidates.clear(); - foreach (CandidatePair *pair, pairs) - delete pair; - pairs.clear(); - foreach (QXmppIceTransport *transport, transports) + qDeleteAll(pairs); + for (auto *transport : transports) if (transport != turnAllocation) delete transport; transports.clear(); // store candidates - foreach (QUdpSocket *socket, sockets) { + for (auto *socket : sockets) { socket->setParent(q); auto *transport = new QXmppUdpTransport(socket, q); @@ -1902,7 +1900,7 @@ void QXmppIceComponentPrivate::setSockets(QList<QUdpSocket*> sockets) QXmppStunMessage request; request.setType(QXmppStunMessage::Binding | QXmppStunMessage::Request); - foreach (QXmppIceTransport *transport, transports) { + for (auto *transport : transports) { const QXmppJingleCandidate local = transport->localCandidate(component); if (!isCompatibleAddress(local.host(), config->stunHost)) continue; @@ -1994,8 +1992,7 @@ QXmppIceComponent::QXmppIceComponent(int component, QXmppIcePrivate *config, QOb QXmppIceComponent::~QXmppIceComponent() { - foreach (CandidatePair *pair, d->pairs) - delete pair; + qDeleteAll(d->pairs); delete d; } @@ -2013,7 +2010,7 @@ void QXmppIceComponent::checkCandidates() return; debug("Checking remote candidates"); - foreach (CandidatePair *pair, d->pairs) { + for (auto *pair : d->pairs) { if (pair->state() == CandidatePair::WaitingState) { d->performCheck(pair, d->config->iceControlling); break; @@ -2025,7 +2022,7 @@ void QXmppIceComponent::checkCandidates() void QXmppIceComponent::close() { - foreach (QXmppIceTransport *transport, d->transports) + for (auto *transport : d->transports) transport->disconnectFromHost(); d->turnAllocation->disconnectFromHost(); d->timer->stop(); @@ -2070,7 +2067,7 @@ void QXmppIceComponent::handleDatagram(const QByteArray &buffer, const QHostAddr if (!messageType || messageCookie != STUN_MAGIC) { // use this as an opportunity to flag a potential pair - foreach (CandidatePair *pair, d->pairs) { + for (auto *pair : d->pairs) { if (pair->remote.host() == remoteHost && pair->remote.port() == remotePort) { d->fallbackPair = pair; @@ -2083,7 +2080,7 @@ void QXmppIceComponent::handleDatagram(const QByteArray &buffer, const QHostAddr // check if it's STUN QXmppStunTransaction *stunTransaction = nullptr; - foreach (QXmppStunTransaction *t, d->stunTransactions.keys()) { + for (auto *t : d->stunTransactions.keys()) { if (t->request().id() == messageId && d->stunTransactions.value(t) == transport) { stunTransaction = t; @@ -2103,7 +2100,7 @@ void QXmppIceComponent::handleDatagram(const QByteArray &buffer, const QHostAddr QXmppStunMessage message; QStringList errors; if (!message.decode(buffer, messagePassword.toUtf8(), &errors)) { - foreach (const QString &error, errors) + for (const auto &error : errors) warning(error); return; } @@ -2148,7 +2145,7 @@ void QXmppIceComponent::handleDatagram(const QByteArray &buffer, const QHostAddr // find or create remote candidate QXmppJingleCandidate remoteCandidate; bool remoteCandidateFound = false; - foreach (const QXmppJingleCandidate &c, d->remoteCandidates) { + for (const auto &c : d->remoteCandidates) { if (c.host() == remoteHost && c.port() == remotePort) { remoteCandidate = c; remoteCandidateFound = true; @@ -2170,7 +2167,7 @@ void QXmppIceComponent::handleDatagram(const QByteArray &buffer, const QHostAddr } // construct pair - foreach (CandidatePair *ptr, d->pairs) { + for (auto *ptr : d->pairs) { if (ptr->transport == transport && ptr->remote.host() == remoteHost && ptr->remote.port() == remotePort) { @@ -2209,7 +2206,7 @@ void QXmppIceComponent::handleDatagram(const QByteArray &buffer, const QHostAddr || message.messageClass() == QXmppStunMessage::Error) { // find the pair for this transaction - foreach (CandidatePair *ptr, d->pairs) { + for (auto *ptr : d->pairs) { if (ptr->transaction && ptr->transaction->request().id() == message.id()) { pair = ptr; break; @@ -2297,7 +2294,7 @@ void QXmppIceComponent::transactionFinished() } // check whether this candidates is already known - foreach (const QXmppJingleCandidate &candidate, d->localCandidates) { + for (const auto &candidate : d->localCandidates) { if (candidate.host() == reflexiveHost && candidate.port() == reflexivePort && candidate.type() == QXmppJingleCandidate::ServerReflexiveType) @@ -2349,7 +2346,7 @@ void QXmppIceComponent::turnConnected() static QList<QUdpSocket*> reservePort(const QList<QHostAddress> &addresses, quint16 port, QObject *parent) { QList<QUdpSocket*> sockets; - foreach (const QHostAddress &address, addresses) { + for (const auto &address : addresses) { auto *socket = new QUdpSocket(parent); sockets << socket; if (!socket->bind(address, port)) { @@ -2366,14 +2363,12 @@ static QList<QUdpSocket*> reservePort(const QList<QHostAddress> &addresses, quin QList<QHostAddress> QXmppIceComponent::discoverAddresses() { QList<QHostAddress> addresses; - foreach (const QNetworkInterface &interface, QNetworkInterface::allInterfaces()) - { + for (const auto &interface : QNetworkInterface::allInterfaces()) { if (!(interface.flags() & QNetworkInterface::IsRunning) || interface.flags() & QNetworkInterface::IsLoopBack) continue; - foreach (const QNetworkAddressEntry &entry, interface.addressEntries()) - { + for (const auto &entry : interface.addressEntries()) { QHostAddress ip = entry.ip(); if ((ip.protocol() != QAbstractSocket::IPv4Protocol && ip.protocol() != QAbstractSocket::IPv6Protocol) || @@ -2621,7 +2616,7 @@ bool QXmppIceConnection::bind(const QList<QHostAddress> &addresses) QList<int> keys = d->components.keys(); std::sort(keys.begin(), keys.end()); int s = 0; - foreach (int k, keys) { + for (const auto k : keys) { d->components[k]->d->setSockets(sockets.mid(s, addresses.size())); s += addresses.size(); } @@ -2634,7 +2629,7 @@ bool QXmppIceConnection::bind(const QList<QHostAddress> &addresses) void QXmppIceConnection::close() { d->connectTimer->stop(); - foreach (QXmppIceComponent *socket, d->components.values()) + for (auto *socket : d->components.values()) socket->close(); } @@ -2645,7 +2640,7 @@ void QXmppIceConnection::connectToHost() if (isConnected() || d->connectTimer->isActive()) return; - foreach (QXmppIceComponent *socket, d->components.values()) + for (auto *socket : d->components.values()) socket->connectToHost(); d->connectTimer->start(); } @@ -2655,7 +2650,7 @@ void QXmppIceConnection::connectToHost() bool QXmppIceConnection::isConnected() const { - foreach (QXmppIceComponent *socket, d->components.values()) + for (auto *socket : d->components.values()) if (!socket->isConnected()) return false; return true; @@ -2685,7 +2680,7 @@ void QXmppIceConnection::setIceControlling(bool controlling) QList<QXmppJingleCandidate> QXmppIceConnection::localCandidates() const { QList<QXmppJingleCandidate> candidates; - foreach (QXmppIceComponent *socket, d->components.values()) + for (auto *socket : d->components.values()) candidates += socket->localCandidates(); return candidates; } @@ -2747,7 +2742,7 @@ void QXmppIceConnection::setTurnServer(const QHostAddress &host, quint16 port) { d->turnHost = host; d->turnPort = port; - foreach (QXmppIceComponent *socket, d->components.values()) + for (auto *socket : d->components.values()) socket->d->setTurnServer(host, port); } @@ -2760,7 +2755,7 @@ void QXmppIceConnection::setTurnServer(const QHostAddress &host, quint16 port) void QXmppIceConnection::setTurnUser(const QString &user) { d->turnUser = user; - foreach (QXmppIceComponent *socket, d->components.values()) + for (auto *socket : d->components.values()) socket->d->setTurnUser(user); } @@ -2773,13 +2768,13 @@ void QXmppIceConnection::setTurnUser(const QString &user) void QXmppIceConnection::setTurnPassword(const QString &password) { d->turnPassword = password; - foreach (QXmppIceComponent *socket, d->components.values()) + for (auto *socket : d->components.values()) socket->d->setTurnPassword(password); } void QXmppIceConnection::slotConnected() { - foreach (QXmppIceComponent *socket, d->components.values()) + for (auto *socket : d->components.values()) if (!socket->isConnected()) return; info(QString("ICE negotiation completed")); @@ -2792,7 +2787,7 @@ void QXmppIceConnection::slotGatheringStateChanged() GatheringState newGatheringState; bool allComplete = true; bool allNew = true; - foreach (QXmppIceComponent *socket, d->components.values()) { + for (auto *socket : d->components.values()) { if (socket->d->gatheringState != CompleteGatheringState) allComplete = false; if (socket->d->gatheringState != NewGatheringState) @@ -2817,7 +2812,7 @@ void QXmppIceConnection::slotGatheringStateChanged() void QXmppIceConnection::slotTimeout() { warning(QString("ICE negotiation timed out")); - foreach (QXmppIceComponent *socket, d->components.values()) + for (auto *socket : d->components.values()) socket->close(); emit disconnected(); } diff --git a/src/base/QXmppVCardIq.cpp b/src/base/QXmppVCardIq.cpp index e6734d5f..7688a008 100644 --- a/src/base/QXmppVCardIq.cpp +++ b/src/base/QXmppVCardIq.cpp @@ -1009,13 +1009,13 @@ void QXmppVCardIq::toXmlElementFromChild(QXmlStreamWriter *writer) const { writer->writeStartElement("vCard"); writer->writeAttribute("xmlns", ns_vcard); - foreach (const QXmppVCardAddress &address, d->addresses) + for (const QXmppVCardAddress &address : d->addresses) address.toXml(writer); if (d->birthday.isValid()) helperToXmlAddTextElement(writer, "BDAY", d->birthday.toString("yyyy-MM-dd")); if (!d->description.isEmpty()) helperToXmlAddTextElement(writer, "DESC", d->description); - foreach (const QXmppVCardEmail &email, d->emails) + for (const QXmppVCardEmail &email : d->emails) email.toXml(writer); if (!d->fullName.isEmpty()) helperToXmlAddTextElement(writer, "FN", d->fullName); @@ -1035,7 +1035,7 @@ void QXmppVCardIq::toXmlElementFromChild(QXmlStreamWriter *writer) const writer->writeEndElement(); } - foreach (const QXmppVCardPhone &phone, d->phones) + for (const QXmppVCardPhone &phone : d->phones) phone.toXml(writer); if(!photo().isEmpty()) { diff --git a/src/client/QXmppCallManager.cpp b/src/client/QXmppCallManager.cpp index e5e1b901..d669cbc5 100644 --- a/src/client/QXmppCallManager.cpp +++ b/src/client/QXmppCallManager.cpp @@ -117,7 +117,7 @@ QXmppCallPrivate::QXmppCallPrivate(QXmppCall *qq) QXmppCallPrivate::Stream *QXmppCallPrivate::findStreamByMedia(const QString &media) { - foreach (Stream *stream, streams) + for (auto *stream : streams) if (stream->media == media) return stream; return nullptr; @@ -125,7 +125,7 @@ QXmppCallPrivate::Stream *QXmppCallPrivate::findStreamByMedia(const QString &med QXmppCallPrivate::Stream *QXmppCallPrivate::findStreamByName(const QString &name) { - foreach (Stream *stream, streams) + for (auto *stream : streams) if (stream->name == name) return stream; return nullptr; @@ -163,7 +163,8 @@ bool QXmppCallPrivate::handleTransport(QXmppCallPrivate::Stream *stream, const Q { stream->connection->setRemoteUser(content.transportUser()); stream->connection->setRemotePassword(content.transportPassword()); - foreach (const QXmppJingleCandidate &candidate, content.transportCandidates()) + const auto & candidates = content.transportCandidates(); + for (const auto &candidate : candidates) stream->connection->addRemoteCandidate(candidate); // perform ICE negotiation @@ -465,8 +466,7 @@ QXmppCall::QXmppCall(const QString &jid, QXmppCall::Direction direction, QXmppCa QXmppCall::~QXmppCall() { - foreach (QXmppCallPrivate::Stream *stream, d->streams) - delete stream; + qDeleteAll(d->streams); delete d; } @@ -542,7 +542,7 @@ QIODevice::OpenMode QXmppCall::videoMode() const void QXmppCall::terminated() { // close streams - foreach (QXmppCallPrivate::Stream *stream, d->streams) { + for (auto *stream : d->streams) { stream->channel->close(); stream->connection->close(); } @@ -575,7 +575,7 @@ void QXmppCall::localCandidatesChanged() // find the stream auto *conn = qobject_cast<QXmppIceConnection*>(sender()); QXmppCallPrivate::Stream *stream = nullptr; - foreach (QXmppCallPrivate::Stream *ptr, d->streams) { + for (auto *ptr : d->streams) { if (ptr->connection == conn) { stream = ptr; break; @@ -701,7 +701,7 @@ QXmppCallManagerPrivate::QXmppCallManagerPrivate(QXmppCallManager *qq) QXmppCall *QXmppCallManagerPrivate::findCall(const QString &sid) const { - foreach (QXmppCall *call, calls) + for (auto *call : calls) if (call->sid() == sid) return call; return nullptr; @@ -709,7 +709,7 @@ QXmppCall *QXmppCallManagerPrivate::findCall(const QString &sid) const QXmppCall *QXmppCallManagerPrivate::findCall(const QString &sid, QXmppCall::Direction direction) const { - foreach (QXmppCall *call, calls) + for (auto *call : calls) if (call->sid() == sid && call->direction() == direction) return call; return nullptr; @@ -866,7 +866,7 @@ void QXmppCallManager::_q_callDestroyed(QObject *object) void QXmppCallManager::_q_disconnected() { - foreach (QXmppCall *call, d->calls) + for (auto *call : d->calls) call->d->terminate(QXmppJingleIq::Reason::Gone); } @@ -879,7 +879,7 @@ void QXmppCallManager::_q_iqReceived(const QXmppIq &ack) return; // find request - foreach (QXmppCall *call, d->calls) + for (auto *call : d->calls) call->d->handleAck(ack); } @@ -959,7 +959,7 @@ void QXmppCallManager::_q_presenceReceived(const QXmppPresence &presence) if (presence.type() != QXmppPresence::Unavailable) return; - foreach (QXmppCall *call, d->calls) { + for (auto *call : d->calls) { if (presence.from() == call->jid()) { // the remote party has gone away, terminate call call->d->terminate(QXmppJingleIq::Reason::Gone); diff --git a/src/client/QXmppClient.cpp b/src/client/QXmppClient.cpp index b71fd8e9..dd681f43 100644 --- a/src/client/QXmppClient.cpp +++ b/src/client/QXmppClient.cpp @@ -499,10 +499,8 @@ QXmppVersionManager& QXmppClient::versionManager() void QXmppClient::_q_elementReceived(const QDomElement &element, bool &handled) { - foreach (QXmppClientExtension *extension, d->extensions) - { - if (extension->handleStanza(element)) - { + for (auto *extension : d->extensions) { + if (extension->handleStanza(element)) { handled = true; return; } diff --git a/src/client/QXmppDiscoveryManager.cpp b/src/client/QXmppDiscoveryManager.cpp index 49628d9d..ab8f816a 100644 --- a/src/client/QXmppDiscoveryManager.cpp +++ b/src/client/QXmppDiscoveryManager.cpp @@ -122,9 +122,8 @@ QXmppDiscoveryIq QXmppDiscoveryManager::capabilities() << ns_attention // XEP-0224: Attention << ns_chat_markers; // XEP-0333: Chat Markers - foreach(QXmppClientExtension* extension, client()->extensions()) - { - if(extension) + for (auto *extension : client()->extensions()) { + if (extension) features << extension->discoveryFeatures(); } @@ -139,9 +138,8 @@ QXmppDiscoveryIq QXmppDiscoveryManager::capabilities() identity.setName(clientName()); identities << identity; - foreach(QXmppClientExtension* extension, client()->extensions()) - { - if(extension) + for (auto *extension : client()->extensions()) { + if (extension) identities << extension->discoveryIdentities(); } diff --git a/src/client/QXmppInvokable.cpp b/src/client/QXmppInvokable.cpp index 91c646db..f315186d 100644 --- a/src/client/QXmppInvokable.cpp +++ b/src/client/QXmppInvokable.cpp @@ -97,7 +97,7 @@ QVariant QXmppInvokable::dispatch( const QByteArray & method, const QList< QVari QList< QByteArray > QXmppInvokable::paramTypes( const QList< QVariant > & params ) { QList<QByteArray> types; - foreach( QVariant variant, params) + for (const auto &variant : qAsConst(params)) types << variant.typeName(); return types; } diff --git a/src/client/QXmppMucManager.cpp b/src/client/QXmppMucManager.cpp index ca199bad..a9854134 100644 --- a/src/client/QXmppMucManager.cpp +++ b/src/client/QXmppMucManager.cpp @@ -118,7 +118,7 @@ bool QXmppMucManager::handleStanza(const QDomElement &element) QXmppMucRoom *room = d->rooms.value(iq.from()); if (room && iq.type() == QXmppIq::Result && room->d->permissionsQueue.remove(iq.id())) { - foreach (const QXmppMucItem &item, iq.items()) { + for (const auto &item : iq.items()) { const QString jid = item.jid(); if (!room->d->permissions.contains(jid)) room->d->permissions.insert(jid, item); @@ -510,7 +510,7 @@ bool QXmppMucRoom::requestPermissions() d->permissions.clear(); d->permissionsQueue.clear(); - foreach (QXmppMucItem::Affiliation affiliation, affiliations) { + for (const auto &affiliation : qAsConst(affiliations)) { QXmppMucItem item; item.setAffiliation(affiliation); @@ -535,7 +535,7 @@ bool QXmppMucRoom::setPermissions(const QList<QXmppMucItem> &permissions) QList<QXmppMucItem> items; // Process changed members - foreach (const QXmppMucItem &item, permissions) { + for (const auto &item : qAsConst(permissions)) { const QString jid = item.jid(); if (d->permissions.value(jid).affiliation() != item.affiliation()) items << item; @@ -543,7 +543,8 @@ bool QXmppMucRoom::setPermissions(const QList<QXmppMucItem> &permissions) } // Process deleted members - foreach (const QString &jid, d->permissions.keys()) { + const auto &jids = d->permissions.keys(); + for (const auto &jid : jids) { QXmppMucItem item; item.setAffiliation(QXmppMucItem::NoAffiliation); item.setJid(jid); @@ -569,7 +570,7 @@ void QXmppMucRoom::_q_disconnected() // clear chat room participants const QStringList removed = d->participants.keys(); d->participants.clear(); - foreach (const QString &jid, removed) + for (const auto &jid : removed) emit participantRemoved(jid); emit participantsChanged(); @@ -588,7 +589,8 @@ void QXmppMucRoom::_q_discoveryInfoReceived(const QXmppDiscoveryIq &iq) { if (iq.from() == d->jid) { QString name; - foreach (const QXmppDiscoveryIq::Identity &identity, iq.identities()) { + const auto &identities = iq.identities(); + for (const auto &identity : identities) { if (identity.category() == "conference") { name = identity.name(); break; @@ -698,7 +700,7 @@ void QXmppMucRoom::_q_presenceReceived(const QXmppPresence &presence) // clear chat room participants const QStringList removed = d->participants.keys(); d->participants.clear(); - foreach (const QString &jid, removed) + for (const auto &jid : removed) emit participantRemoved(jid); emit participantsChanged(); diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp index 3a454e79..6c8b5e62 100644 --- a/src/client/QXmppOutgoingClient.cpp +++ b/src/client/QXmppOutgoingClient.cpp @@ -470,7 +470,7 @@ void QXmppOutgoingClient::handleStanza(const QDomElement &nodeRecv) // determine SASL Authentication mechanism to use QStringList commonMechanisms; QString usedMechanism; - foreach (const QString &mechanism, supportedMechanisms) { + for (const auto &mechanism : qAsConst(supportedMechanisms)) { if (features.authMechanisms().contains(mechanism)) commonMechanisms << mechanism; } diff --git a/src/client/QXmppRosterManager.cpp b/src/client/QXmppRosterManager.cpp index c1c41ad4..fe13c8d8 100644 --- a/src/client/QXmppRosterManager.cpp +++ b/src/client/QXmppRosterManager.cpp @@ -143,7 +143,7 @@ bool QXmppRosterManager::handleStanza(const QDomElement &element) // store updated entries and notify changes const QList<QXmppRosterIq::Item> items = rosterIq.items(); - foreach (const QXmppRosterIq::Item &item, items) { + for (const auto &item : items) { const QString bareJid = item.bareJid(); if (item.subscriptionType() == QXmppRosterIq::Item::Remove) { if (d->entries.remove(bareJid)) { @@ -167,7 +167,7 @@ bool QXmppRosterManager::handleStanza(const QDomElement &element) case QXmppIq::Result: { const QList<QXmppRosterIq::Item> items = rosterIq.items(); - foreach (const QXmppRosterIq::Item &item, items) { + for (const auto &item : items) { const QString bareJid = item.bareJid(); d->entries.insert(bareJid, item); } diff --git a/src/client/QXmppTransferManager.cpp b/src/client/QXmppTransferManager.cpp index 57e19fdd..0cb7b31f 100644 --- a/src/client/QXmppTransferManager.cpp +++ b/src/client/QXmppTransferManager.cpp @@ -758,11 +758,12 @@ QXmppTransferManagerPrivate::QXmppTransferManagerPrivate(QXmppTransferManager *q QXmppTransferJob* QXmppTransferManagerPrivate::getJobByRequestId(QXmppTransferJob::Direction direction, const QString &jid, const QString &id) { - foreach (QXmppTransferJob *job, jobs) + for (auto *job : jobs) { if (job->d->direction == direction && job->d->jid == jid && job->d->requestId == id) return job; + } return nullptr; } @@ -773,11 +774,12 @@ QXmppTransferIncomingJob *QXmppTransferManagerPrivate::getIncomingJobByRequestId QXmppTransferIncomingJob* QXmppTransferManagerPrivate::getIncomingJobBySid(const QString &jid, const QString &sid) { - foreach (QXmppTransferJob *job, jobs) + for (auto *job : jobs) { if (job->d->direction == QXmppTransferJob::IncomingDirection && job->d->jid == jid && job->d->sid == sid) return static_cast<QXmppTransferIncomingJob*>(job); + } return nullptr; } @@ -814,12 +816,9 @@ QXmppTransferManager::~QXmppTransferManager() void QXmppTransferManager::byteStreamIqReceived(const QXmppByteStreamIq &iq) { // handle IQ from proxy - foreach (QXmppTransferJob *job, d->jobs) - { - if (job->d->socksProxy.jid() == iq.from() && job->d->requestId == iq.id()) - { - if (iq.type() == QXmppIq::Result && iq.streamHosts().size() > 0) - { + for (auto *job : d->jobs) { + if (job->d->socksProxy.jid() == iq.from() && job->d->requestId == iq.id()) { + if (iq.type() == QXmppIq::Result && iq.streamHosts().size() > 0) { job->d->socksProxy = iq.streamHosts().first(); socksServerSendOffer(job); return; @@ -1138,14 +1137,11 @@ void QXmppTransferManager::_q_iqReceived(const QXmppIq &iq) bool check; Q_UNUSED(check); - foreach (QXmppTransferJob *ptr, d->jobs) - { + for (auto *ptr : d->jobs) { // handle IQ from proxy - if (ptr->direction() == QXmppTransferJob::OutgoingDirection && ptr->d->socksProxy.jid() == iq.from() && ptr->d->requestId == iq.id()) - { + if (ptr->direction() == QXmppTransferJob::OutgoingDirection && ptr->d->socksProxy.jid() == iq.from() && ptr->d->requestId == iq.id()) { auto *job = static_cast<QXmppTransferOutgoingJob*>(ptr); - if (job->d->socksSocket) - { + if (job->d->socksSocket) { // proxy connection activation result if (iq.type() == QXmppIq::Result) { @@ -1427,10 +1423,8 @@ QXmppTransferJob *QXmppTransferManager::sendFile(const QString &jid, QIODevice * void QXmppTransferManager::_q_socksServerConnected(QTcpSocket *socket, const QString &hostName, quint16 port) { const QString ownJid = client()->configuration().jid(); - foreach (QXmppTransferJob *job, d->jobs) - { - if (hostName == streamHash(job->d->sid, ownJid, job->jid()) && port == 0) - { + for (auto *job : d->jobs) { + if (hostName == streamHash(job->d->sid, ownJid, job->jid()) && port == 0) { job->d->socksSocket = socket; return; } @@ -1446,7 +1440,8 @@ void QXmppTransferManager::socksServerSendOffer(QXmppTransferJob *job) // discover local IPs if (!d->proxyOnly) { - foreach (const QHostAddress &address, QXmppIceComponent::discoverAddresses()) { + const auto &addresses = QXmppIceComponent::discoverAddresses(); + for (const auto &address : addresses) { QXmppByteStreamIq::StreamHost streamHost; streamHost.setJid(ownJid); streamHost.setHost(address.toString()); @@ -1493,7 +1488,8 @@ void QXmppTransferManager::streamInitiationResultReceived(const QXmppStreamIniti job->state() != QXmppTransferJob::OfferState) return; - foreach (const QXmppDataForm::Field &field, iq.featureForm().fields()) { + const auto &fields = iq.featureForm().fields(); + for (const auto &field : fields) { if (field.key() == "stream-method") { if ((field.value().toString() == ns_ibb) && (d->supportedMethods & QXmppTransferJob::InBandMethod)) @@ -1580,10 +1576,12 @@ void QXmppTransferManager::streamInitiationSetReceived(const QXmppStreamInitiati job->d->sid = iq.siId(); job->d->mimeType = iq.mimeType(); job->d->fileInfo = iq.fileInfo(); - foreach (const QXmppDataForm::Field &field, iq.featureForm().fields()) { + const auto &fields = iq.featureForm().fields(); + for (const auto &field : fields) { if (field.key() == "stream-method") { QPair<QString, QString> option; - foreach (option, field.options()) { + const auto &options = field.options(); + for (const auto &option : options) { if (option.second == ns_ibb) offeredMethods = offeredMethods | QXmppTransferJob::InBandMethod; else if (option.second == ns_bytestreams) diff --git a/src/server/QXmppOutgoingServer.cpp b/src/server/QXmppOutgoingServer.cpp index af5ed01b..49d2d298 100644 --- a/src/server/QXmppOutgoingServer.cpp +++ b/src/server/QXmppOutgoingServer.cpp @@ -233,7 +233,7 @@ void QXmppOutgoingServer::handleStanza(const QDomElement &stanza) d->ready = true; // send queued data - foreach (const QByteArray &data, d->dataQueue) + for (const auto &data : qAsConst(d->dataQueue)) sendData(data); d->dataQueue.clear(); diff --git a/src/server/QXmppServer.cpp b/src/server/QXmppServer.cpp index 283d3917..89e81138 100644 --- a/src/server/QXmppServer.cpp +++ b/src/server/QXmppServer.cpp @@ -133,11 +133,11 @@ bool QXmppServerPrivate::routeData(const QString &to, const QByteArray &data) return false; if (toDomain == domain) { - // look for a client connection QList<QXmppIncomingClient*> found; if (QXmppUtils::jidToResource(to).isEmpty()) { - foreach (QXmppIncomingClient *conn, incomingClientsByBareJid.value(to)) + const auto &connections = incomingClientsByBareJid.value(to); + for (auto *conn : connections) found << conn; } else { QXmppIncomingClient *conn = incomingClientsByJid.value(to); @@ -146,7 +146,7 @@ bool QXmppServerPrivate::routeData(const QString &to, const QByteArray &data) } // send data - foreach (QXmppStream *conn, found) + for (auto *conn : found) QMetaObject::invokeMethod(conn, "sendData", Q_ARG(QByteArray, data)); return !found.isEmpty(); @@ -156,7 +156,7 @@ bool QXmppServerPrivate::routeData(const QString &to, const QByteArray &data) Q_UNUSED(check); // look for an outgoing S2S connection - foreach (QXmppOutgoingServer *conn, outgoingServers) { + for (auto *conn : qAsConst(outgoingServers)) { if (conn->remoteDomain() == toDomain) { // send or queue data QMetaObject::invokeMethod(conn, "queueData", Q_ARG(QByteArray, data)); @@ -201,7 +201,8 @@ bool QXmppServerPrivate::routeData(const QString &to, const QByteArray &data) static void handleStanza(QXmppServer *server, const QDomElement &element) { // try extensions - foreach (QXmppServerExtension *extension, server->extensions()) + const auto &extensions = server->extensions(); + for (auto *extension : extensions) if (extension->handleStanza(element)) return; @@ -264,13 +265,13 @@ void QXmppServerPrivate::warning(const QString &message) void QXmppServerPrivate::loadExtensions(QXmppServer *server) { if (!loaded) { - QObjectList plugins = QPluginLoader::staticInstances(); - foreach (QObject *object, plugins) { + for (auto *object : QPluginLoader::staticInstances()) { auto *plugin = qobject_cast<QXmppServerPlugin*>(object); if (!plugin) continue; - foreach (const QString &key, plugin->keys()) + const auto &keys = plugin->keys(); + for (const auto &key : keys) server->addExtension(plugin->create(key)); } loaded = true; @@ -282,7 +283,7 @@ void QXmppServerPrivate::loadExtensions(QXmppServer *server) void QXmppServerPrivate::startExtensions() { if (!started) { - foreach (QXmppServerExtension *extension, extensions) + for (auto *extension : extensions) if (!extension->start()) warning(QString("Could not start extension %1").arg(extension->extensionName())); started = true; @@ -455,7 +456,7 @@ void QXmppServer::addCaCertificates(const QString &path) } // reconfigure servers - foreach (QXmppSslServer *server, d->serversForClients + d->serversForServers) + for (auto *server : d->serversForClients + d->serversForServers) server->addCaCertificates(d->caCertificates); } @@ -478,7 +479,7 @@ void QXmppServer::setLocalCertificate(const QString &path) } // reconfigure servers - foreach (QXmppSslServer *server, d->serversForClients + d->serversForServers) + for (auto *server : d->serversForClients + d->serversForServers) server->setLocalCertificate(d->localCertificate); } @@ -491,7 +492,7 @@ void QXmppServer::setLocalCertificate(const QSslCertificate &certificate) d->localCertificate = certificate; // reconfigure servers - foreach (QXmppSslServer *server, d->serversForClients + d->serversForServers) + for (auto *server : d->serversForClients + d->serversForServers) server->setLocalCertificate(d->localCertificate); } @@ -514,7 +515,7 @@ void QXmppServer::setPrivateKey(const QString &path) } // reconfigure servers - foreach (QXmppSslServer *server, d->serversForClients + d->serversForServers) + for (auto *server : d->serversForClients + d->serversForServers) server->setPrivateKey(d->privateKey); } @@ -527,7 +528,7 @@ void QXmppServer::setPrivateKey(const QSslKey &key) d->privateKey = key; // reconfigure servers - foreach (QXmppSslServer *server, d->serversForClients + d->serversForServers) + for (auto *server : d->serversForClients + d->serversForServers) server->setPrivateKey(d->privateKey); } @@ -575,7 +576,7 @@ bool QXmppServer::listenForClients(const QHostAddress &address, quint16 port) void QXmppServer::close() { // prevent new connections - foreach (QXmppSslServer *server, d->serversForClients + d->serversForServers) { + for (auto *server : d->serversForClients + d->serversForServers) { server->close(); delete server; } @@ -586,11 +587,12 @@ void QXmppServer::close() d->stopExtensions(); // close XMPP streams - foreach (QXmppIncomingClient *stream, d->incomingClients) - stream->disconnectFromHost(); - foreach (QXmppIncomingServer *stream, d->incomingServers) + QSetIterator<QXmppIncomingClient*> itr(d->incomingClients); + while (itr.hasNext()) + itr.next()->disconnectFromHost(); + for (auto *stream : d->incomingServers) stream->disconnectFromHost(); - foreach (QXmppOutgoingServer *stream, d->outgoingServers) + for (auto *stream : d->outgoingServers) stream->disconnectFromHost(); } @@ -778,7 +780,7 @@ void QXmppServer::_q_dialbackRequestReceived(const QXmppDialback &dialback) if (dialback.command() == QXmppDialback::Verify) { // handle a verify request - foreach (QXmppOutgoingServer *out, d->outgoingServers) { + for (auto *out : qAsConst(d->outgoingServers)) { if (out->remoteDomain() != dialback.from()) continue; |
