diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-12 15:52:41 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-09-12 15:52:41 +0200 |
| commit | 07d537a2573f1dd06dd69ba6a5e2fa97357c443b (patch) | |
| tree | ba452c274480fea96348d14b4653dc481119e7c5 /src/base | |
| parent | f9b26e12f593b185a15674e3ddda0b56d05b43c6 (diff) | |
| download | qxmpp-07d537a2573f1dd06dd69ba6a5e2fa97357c443b.tar.gz | |
test stream initiation IQ serialisation / parsing
Diffstat (limited to 'src/base')
| -rw-r--r-- | src/base/QXmppStreamInitiationIq.cpp | 28 | ||||
| -rw-r--r-- | src/base/QXmppStreamInitiationIq.h | 9 |
2 files changed, 19 insertions, 18 deletions
diff --git a/src/base/QXmppStreamInitiationIq.cpp b/src/base/QXmppStreamInitiationIq.cpp index 361701ec..7b1b4b89 100644 --- a/src/base/QXmppStreamInitiationIq.cpp +++ b/src/base/QXmppStreamInitiationIq.cpp @@ -37,6 +37,16 @@ void QXmppStreamInitiationIq::setFeatureForm(const QXmppDataForm &form) m_featureForm = form; } +QXmppTransferFileInfo QXmppStreamInitiationIq::fileInfo() const +{ + return m_fileInfo; +} + +void QXmppStreamInitiationIq::setFileInfo(const QXmppTransferFileInfo &fileInfo) +{ + m_fileInfo = fileInfo; +} + QString QXmppStreamInitiationIq::mimeType() const { return m_mimeType; @@ -57,11 +67,6 @@ void QXmppStreamInitiationIq::setProfile(QXmppStreamInitiationIq::Profile profil m_profile = profile; } -QXmppElementList QXmppStreamInitiationIq::siItems() const -{ - return m_siItems; -} - QString QXmppStreamInitiationIq::siId() const { return m_siId; @@ -72,11 +77,6 @@ void QXmppStreamInitiationIq::setSiId(const QString &id) m_siId = id; } -void QXmppStreamInitiationIq::setSiItems(const QXmppElementList &items) -{ - m_siItems = items; -} - /// \cond bool QXmppStreamInitiationIq::isStreamInitiationIq(const QDomElement &element) { @@ -99,8 +99,8 @@ void QXmppStreamInitiationIq::parseElementFromChild(const QDomElement &element) { if (itemElement.tagName() == "feature" && itemElement.namespaceURI() == ns_feature_negotiation) { m_featureForm.parse(itemElement.firstChildElement()); - } else { - m_siItems.append(QXmppElement(itemElement)); + } else if (itemElement.tagName() == "file" && itemElement.namespaceURI() == ns_stream_initiation_file_transfer) { + m_fileInfo.parse(itemElement); } itemElement = itemElement.nextSiblingElement(); } @@ -114,8 +114,8 @@ void QXmppStreamInitiationIq::toXmlElementFromChild(QXmlStreamWriter *writer) co helperToXmlAddAttribute(writer, "mime-type", m_mimeType); if (m_profile == FileTransfer) helperToXmlAddAttribute(writer, "profile", ns_stream_initiation_file_transfer); - foreach (const QXmppElement &item, m_siItems) - item.toXml(writer); + if (!m_fileInfo.isNull()) + m_fileInfo.toXml(writer); if (!m_featureForm.isNull()) { writer->writeStartElement("feature"); writer->writeAttribute("xmlns", ns_feature_negotiation); diff --git a/src/base/QXmppStreamInitiationIq.h b/src/base/QXmppStreamInitiationIq.h index 2feb5e7e..27e59afd 100644 --- a/src/base/QXmppStreamInitiationIq.h +++ b/src/base/QXmppStreamInitiationIq.h @@ -28,6 +28,7 @@ #include "QXmppDataForm.h" #include "QXmppIq.h" +#include "QXmppTransferManager.h" class QDomElement; class QXmlStreamWriter; @@ -43,6 +44,9 @@ public: QXmppDataForm featureForm() const; void setFeatureForm(const QXmppDataForm &form); + QXmppTransferFileInfo fileInfo() const; + void setFileInfo(const QXmppTransferFileInfo &info); + QString mimeType() const; void setMimeType(const QString &mimeType); @@ -52,9 +56,6 @@ public: QString siId() const; void setSiId(const QString &id); - QXmppElementList siItems() const; - void setSiItems(const QXmppElementList &items); - static bool isStreamInitiationIq(const QDomElement &element); protected: @@ -65,10 +66,10 @@ protected: private: QXmppDataForm m_featureForm; + QXmppTransferFileInfo m_fileInfo; QString m_mimeType; Profile m_profile; QString m_siId; - QXmppElementList m_siItems; }; #endif |
