aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppJingleIq.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2011-04-15 15:39:30 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2011-04-15 15:39:30 +0000
commit807a04ef3b864ac8f0e0f170176db7dd629f742a (patch)
treece42326f52e96435c55fb03b9af551fca7d32aca /src/QXmppJingleIq.cpp
parentcd0d9d479db3a88501f9d6bc472384cf3eeaa745 (diff)
downloadqxmpp-807a04ef3b864ac8f0e0f170176db7dd629f742a.tar.gz
make jingle payload types capable of carying paramters
Diffstat (limited to 'src/QXmppJingleIq.cpp')
-rw-r--r--src/QXmppJingleIq.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/QXmppJingleIq.cpp b/src/QXmppJingleIq.cpp
index ac7abf03..976c4d2b 100644
--- a/src/QXmppJingleIq.cpp
+++ b/src/QXmppJingleIq.cpp
@@ -760,6 +760,20 @@ void QXmppJinglePayloadType::setName(const QString &name)
m_name = name;
}
+/// Returns the payload parameters.
+
+QMap<QString,QString> QXmppJinglePayloadType::parameters() const
+{
+ return m_parameters;
+}
+
+/// Sets the payload parameters.
+
+void QXmppJinglePayloadType::setParameters(const QMap<QString, QString> &parameters)
+{
+ m_parameters = parameters;
+}
+
/// Returns the packet time in milliseconds (20 by default).
///
@@ -787,6 +801,12 @@ void QXmppJinglePayloadType::parse(const QDomElement &element)
m_clockrate = element.attribute("clockrate").toInt();
m_maxptime = element.attribute("maxptime").toInt();
m_ptime = element.attribute("ptime").toInt();
+
+ QDomElement child = element.firstChildElement("parameter");
+ while (!child.isNull()) {
+ m_parameters.insert(child.attribute("name"), child.attribute("value"));
+ child = child.nextSiblingElement("parameter");
+ }
}
void QXmppJinglePayloadType::toXml(QXmlStreamWriter *writer) const
@@ -802,6 +822,13 @@ void QXmppJinglePayloadType::toXml(QXmlStreamWriter *writer) const
helperToXmlAddAttribute(writer, "maxptime", QString::number(m_maxptime));
if (m_ptime > 0)
helperToXmlAddAttribute(writer, "ptime", QString::number(m_ptime));
+
+ foreach (const QString &key, m_parameters.keys()) {
+ writer->writeStartElement("parameter");
+ writer->writeAttribute("name", key);
+ writer->writeAttribute("value", m_parameters.value(key));
+ writer->writeEndElement();
+ }
writer->writeEndElement();
}