aboutsummaryrefslogtreecommitdiff
path: root/src/base
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-09-12 15:52:41 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-09-12 15:52:41 +0200
commit07d537a2573f1dd06dd69ba6a5e2fa97357c443b (patch)
treeba452c274480fea96348d14b4653dc481119e7c5 /src/base
parentf9b26e12f593b185a15674e3ddda0b56d05b43c6 (diff)
downloadqxmpp-07d537a2573f1dd06dd69ba6a5e2fa97357c443b.tar.gz
test stream initiation IQ serialisation / parsing
Diffstat (limited to 'src/base')
-rw-r--r--src/base/QXmppStreamInitiationIq.cpp28
-rw-r--r--src/base/QXmppStreamInitiationIq.h9
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