diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-27 12:04:03 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-27 12:04:03 +0000 |
| commit | 10c093a617929db5c6b201dbf03d6070b12b36b4 (patch) | |
| tree | d9b1c4507fdb1969c3225f27b4632258c4916dc0 /source/QXmppDataIq.cpp | |
| parent | 239b2b15c3cfd9e4d7cc085ed31645d6ae6942ee (diff) | |
| download | qxmpp-10c093a617929db5c6b201dbf03d6070b12b36b4.tar.gz | |
Issue 15: Implement XEP-0047
Diffstat (limited to 'source/QXmppDataIq.cpp')
| -rw-r--r-- | source/QXmppDataIq.cpp | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/source/QXmppDataIq.cpp b/source/QXmppDataIq.cpp new file mode 100644 index 00000000..a1fcda23 --- /dev/null +++ b/source/QXmppDataIq.cpp @@ -0,0 +1,69 @@ +#include "QXmppDataIq.h"
+#include "QXmppConstants.h"
+
+#include <QXmlStreamWriter>
+#include <QDomElement>
+
+QXmppDataIq::QXmppDataIq() : QXmppIq( QXmppIq::Set ), m_seq(0)
+{
+}
+
+quint16 QXmppDataIq::getSequence() const
+{
+ return m_seq;
+}
+
+void QXmppDataIq::setSequence( quint16 seq )
+{
+ m_seq = seq;
+}
+
+QString QXmppDataIq::getSid() const
+{
+ return m_sid;
+}
+
+void QXmppDataIq::setSid( const QString &sid )
+{
+ m_sid = sid;
+}
+
+QByteArray QXmppDataIq::getPayload() const
+{
+ return m_payload;
+}
+
+void QXmppDataIq::setPayload( const QByteArray &data )
+{
+ m_payload = data;
+}
+
+
+void QXmppDataIq::toXmlElementFromChild(QXmlStreamWriter *writer) const
+{
+ writer->writeStartElement("data");
+ writer->writeAttribute( "xmlns",ns_ibb);
+ writer->writeAttribute( "sid",m_sid);
+ writer->writeAttribute( "seq",QString::number(m_seq) );
+ writer->writeCharacters( m_payload.toBase64() );
+ writer->writeEndElement();
+}
+
+void QXmppDataIq::parse( QDomElement &element )
+{
+ QDomElement dataElement = element.firstChildElement("data");
+ setId( element.attribute("id"));
+ setTo( element.attribute("to"));
+ setFrom( element.attribute("from"));
+ setTypeFromStr( element.attribute("type"));
+
+ m_sid = dataElement.attribute( "sid" );
+ m_seq = dataElement.attribute( "seq" ).toLong();
+ m_payload = QByteArray::fromBase64( dataElement.text().toLatin1() );
+}
+
+bool QXmppDataIq::isDataIq( QDomElement &element )
+{
+ QDomElement dataElement = element.firstChildElement("data");
+ return dataElement.namespaceURI() == ns_ibb;
+}
|
