diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-10-11 10:58:58 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-10-11 10:58:58 +0000 |
| commit | 064235d640fc0efb3c77c4d6e4198f05ab1e4122 (patch) | |
| tree | 8f2fdcb4ce336fcdab776ba0c792e249d8f1222a /src/QXmppJingleIq.cpp | |
| parent | 582be1f6e654b7e2dad76a466a562f5a4dab3294 (diff) | |
| download | qxmpp-064235d640fc0efb3c77c4d6e4198f05ab1e4122.tar.gz | |
improve STUN / ICE-UDP support
Diffstat (limited to 'src/QXmppJingleIq.cpp')
| -rw-r--r-- | src/QXmppJingleIq.cpp | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/src/QXmppJingleIq.cpp b/src/QXmppJingleIq.cpp index ad182a66..da3501df 100644 --- a/src/QXmppJingleIq.cpp +++ b/src/QXmppJingleIq.cpp @@ -397,7 +397,8 @@ QXmppJingleCandidate::QXmppJingleCandidate() m_generation(0), m_network(0), m_port(0), - m_priority(0) + m_priority(0), + m_type(HostType) { } @@ -538,7 +539,7 @@ void QXmppJingleCandidate::setProtocol(const QString &protocol) /// Returns the candidate type (e.g. "host"). /// -QString QXmppJingleCandidate::type() const +QXmppJingleCandidate::Type QXmppJingleCandidate::type() const { return m_type; } @@ -547,7 +548,7 @@ QString QXmppJingleCandidate::type() const /// /// \param type -void QXmppJingleCandidate::setType(const QString &type) +void QXmppJingleCandidate::setType(QXmppJingleCandidate::Type type) { m_type = type; } @@ -571,7 +572,17 @@ void QXmppJingleCandidate::parse(const QDomElement &element) m_port = element.attribute("port").toInt(); m_priority = element.attribute("priority").toInt(); m_protocol = element.attribute("protocol"); - m_type = element.attribute("type"); + const QString type = element.attribute("type"); + if (type == "host") + m_type = HostType; + else if (type == "prflx") + m_type = PeerReflexiveType; + else if (type == "srflx") + m_type = ServerReflexiveType; + else if (type == "relay") + m_type = RelayedType; + else + qWarning() << "Unknown candidate type" << type; } void QXmppJingleCandidate::toXml(QXmlStreamWriter *writer) const @@ -586,7 +597,23 @@ void QXmppJingleCandidate::toXml(QXmlStreamWriter *writer) const helperToXmlAddAttribute(writer, "port", QString::number(m_port)); helperToXmlAddAttribute(writer, "priority", QString::number(m_priority)); helperToXmlAddAttribute(writer, "protocol", m_protocol); - helperToXmlAddAttribute(writer, "type", m_type); + QString type; + switch (m_type) + { + case HostType: + type = "host"; + break; + case PeerReflexiveType: + type = "prflx"; + break; + case ServerReflexiveType: + type = "srflx"; + break; + case RelayedType: + type = "relay"; + break; + } + helperToXmlAddAttribute(writer, "type", type); writer->writeEndElement(); } |
