aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2019-05-14 17:15:11 +0200
committerLNJ <lnj@kaidan.im>2019-10-23 18:09:17 +0200
commit4172b33b1222a586d95dbc7e69dad7a19a307ea1 (patch)
tree830008c8dd42d257c8aba3080e35813d37383eb2 /src
parentb34ceca75db2791f00d9fa12b8714739bd19eade (diff)
downloadqxmpp-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')
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/base/QXmppArchiveIq.cpp5
-rw-r--r--src/base/QXmppBookmarkSet.cpp6
-rw-r--r--src/base/QXmppByteStreamIq.cpp3
-rw-r--r--src/base/QXmppCodec.cpp4
-rw-r--r--src/base/QXmppDataForm.cpp10
-rw-r--r--src/base/QXmppDiscoveryIq.cpp14
-rw-r--r--src/base/QXmppElement.cpp10
-rw-r--r--src/base/QXmppIq.cpp2
-rw-r--r--src/base/QXmppJingleIq.cpp18
-rw-r--r--src/base/QXmppMucIq.cpp2
-rw-r--r--src/base/QXmppPresence.cpp4
-rw-r--r--src/base/QXmppPubSubIq.cpp2
-rw-r--r--src/base/QXmppRpcIq.cpp8
-rw-r--r--src/base/QXmppRtcpPacket.cpp6
-rw-r--r--src/base/QXmppRtpChannel.cpp27
-rw-r--r--src/base/QXmppRtpPacket.cpp2
-rw-r--r--src/base/QXmppSasl.cpp11
-rw-r--r--src/base/QXmppStanza.cpp4
-rw-r--r--src/base/QXmppStreamFeatures.cpp4
-rw-r--r--src/base/QXmppStun.cpp75
-rw-r--r--src/base/QXmppVCardIq.cpp6
-rw-r--r--src/client/QXmppCallManager.cpp24
-rw-r--r--src/client/QXmppClient.cpp6
-rw-r--r--src/client/QXmppDiscoveryManager.cpp10
-rw-r--r--src/client/QXmppInvokable.cpp2
-rw-r--r--src/client/QXmppMucManager.cpp16
-rw-r--r--src/client/QXmppOutgoingClient.cpp2
-rw-r--r--src/client/QXmppRosterManager.cpp4
-rw-r--r--src/client/QXmppTransferManager.cpp42
-rw-r--r--src/server/QXmppOutgoingServer.cpp2
-rw-r--r--src/server/QXmppServer.cpp42
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> &parameters)
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;