aboutsummaryrefslogtreecommitdiff
path: root/src/base
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/base
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/base')
-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
21 files changed, 102 insertions, 121 deletions
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())
{