diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-12 09:02:12 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-02-12 09:02:12 +0000 |
| commit | a6ad55d9c69e7d7b87c02cec81abe3e5f483aba7 (patch) | |
| tree | 803bfea8473b2e56950c4792635f199a68f701d2 /source/QXmppDiscoveryIq.cpp | |
| parent | 903de5cfd0195333e2c34333567b88af6b8cea68 (diff) | |
| download | qxmpp-a6ad55d9c69e7d7b87c02cec81abe3e5f483aba7.tar.gz | |
rework service discovery to use a generic QXmppElement
Diffstat (limited to 'source/QXmppDiscoveryIq.cpp')
| -rw-r--r-- | source/QXmppDiscoveryIq.cpp | 48 |
1 files changed, 5 insertions, 43 deletions
diff --git a/source/QXmppDiscoveryIq.cpp b/source/QXmppDiscoveryIq.cpp index b5cb8d93..0207314f 100644 --- a/source/QXmppDiscoveryIq.cpp +++ b/source/QXmppDiscoveryIq.cpp @@ -27,37 +27,12 @@ #include <QDomElement> -QStringList QXmppDiscoveryItem::attributes() const -{ - return m_attributes.keys(); -} - -QString QXmppDiscoveryItem::attribute(const QString &name) const -{ - return m_attributes.value(name); -} - -void QXmppDiscoveryItem::setAttribute(const QString &name, const QString &value) -{ - m_attributes.insert(name, value); -} - -QString QXmppDiscoveryItem::type() const -{ - return m_type; -} - -void QXmppDiscoveryItem::setType(const QString &type) -{ - m_type = type; -} - -QList<QXmppDiscoveryItem> QXmppDiscoveryIq::getItems() const +QList<QXmppElement> QXmppDiscoveryIq::getItems() const { return m_items; } -void QXmppDiscoveryIq::setItems(const QList<QXmppDiscoveryItem> &items) +void QXmppDiscoveryIq::setItems(const QList<QXmppElement> &items) { m_items = items; } @@ -93,15 +68,7 @@ void QXmppDiscoveryIq::parse( QDomElement &element ) QDomElement itemElement = queryElement.firstChildElement(); while (!itemElement.isNull()) { - QXmppDiscoveryItem item; - item.setType(itemElement.tagName()); - QDomNamedNodeMap attributes = itemElement.attributes(); - for (int i = 0; i < attributes.size(); i++) - { - QDomAttr attr = attributes.item(i).toAttr(); - item.setAttribute(attr.name(), attr.value()); - } - m_items.append(item); + m_items.append(QXmppElement(element)); itemElement = itemElement.nextSiblingElement(); } } @@ -111,13 +78,8 @@ void QXmppDiscoveryIq::toXmlElementFromChild(QXmlStreamWriter *writer) const writer->writeStartElement("query"); helperToXmlAddAttribute(writer, "xmlns", m_queryType == InfoQuery ? ns_disco_info : ns_disco_items); - foreach (const QXmppDiscoveryItem &item, m_items) - { - writer->writeStartElement(item.type()); - foreach (const QString &attr, item.attributes()) - helperToXmlAddAttribute(writer, attr, item.attribute(attr)); - writer->writeEndElement(); - } + foreach (const QXmppElement &item, m_items) + item.toXml(writer); writer->writeEndElement(); } |
