diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2011-04-15 15:39:30 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2011-04-15 15:39:30 +0000 |
| commit | 807a04ef3b864ac8f0e0f170176db7dd629f742a (patch) | |
| tree | ce42326f52e96435c55fb03b9af551fca7d32aca /src/QXmppJingleIq.cpp | |
| parent | cd0d9d479db3a88501f9d6bc472384cf3eeaa745 (diff) | |
| download | qxmpp-807a04ef3b864ac8f0e0f170176db7dd629f742a.tar.gz | |
make jingle payload types capable of carying paramters
Diffstat (limited to 'src/QXmppJingleIq.cpp')
| -rw-r--r-- | src/QXmppJingleIq.cpp | 27 |
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> ¶meters) +{ + 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(); } |
