aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppIbbIqs.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-03-04 08:43:53 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-03-04 08:43:53 +0000
commitbb95ebd0e305071ccea30e356844042402bcd76b (patch)
tree8290d542d1c53c81828a3f8a5d45cf387a4c72d7 /source/QXmppIbbIqs.cpp
parentf3c8579fd664461f529d2fe4713093596ba9ff97 (diff)
downloadqxmpp-bb95ebd0e305071ccea30e356844042402bcd76b.tar.gz
regroup common stanza parsing inside QXmppStanza::parse()
Diffstat (limited to 'source/QXmppIbbIqs.cpp')
-rw-r--r--source/QXmppIbbIqs.cpp115
1 files changed, 57 insertions, 58 deletions
diff --git a/source/QXmppIbbIqs.cpp b/source/QXmppIbbIqs.cpp
index caffe49f..9d360ac9 100644
--- a/source/QXmppIbbIqs.cpp
+++ b/source/QXmppIbbIqs.cpp
@@ -9,32 +9,6 @@ QXmppIbbOpenIq::QXmppIbbOpenIq() : QXmppIq(QXmppIq::Set), m_block_size(1024)
}
-void QXmppIbbOpenIq::toXmlElementFromChild(QXmlStreamWriter *writer) const
-{
- writer->writeStartElement("open");
- writer->writeAttribute( "xmlns",ns_ibb);
- writer->writeAttribute( "sid",m_sid);
- writer->writeAttribute( "block-size",QString::number(m_block_size) );
- writer->writeEndElement();
-}
-
-void QXmppIbbOpenIq::parse( QDomElement &element )
-{
- QDomElement openElement = element.firstChildElement("open");
- setId( element.attribute("id"));
- setTo( element.attribute("to"));
- setFrom( element.attribute("from"));
- setTypeFromStr( element.attribute("type"));
- m_sid = openElement.attribute( "sid" );
- m_block_size = openElement.attribute( "block-size" ).toLong();
-}
-
-bool QXmppIbbOpenIq::isIbbOpenIq( QDomElement &element )
-{
- QDomElement openElement = element.firstChildElement("open");
- return openElement.namespaceURI() == ns_ibb;
-}
-
long QXmppIbbOpenIq::blockSize() const
{
return m_block_size;
@@ -55,33 +29,35 @@ void QXmppIbbOpenIq::setSid( const QString &sid )
m_sid = sid;
}
-QXmppIbbCloseIq::QXmppIbbCloseIq() : QXmppIq(QXmppIq::Set)
+bool QXmppIbbOpenIq::isIbbOpenIq(const QDomElement &element)
{
+ QDomElement openElement = element.firstChildElement("open");
+ return openElement.namespaceURI() == ns_ibb;
+}
+
+void QXmppIbbOpenIq::parse(const QDomElement &element)
+{
+ QXmppStanza::parse(element);
+
+ setTypeFromStr(element.attribute("type"));
+ QDomElement openElement = element.firstChildElement("open");
+ m_sid = openElement.attribute( "sid" );
+ m_block_size = openElement.attribute( "block-size" ).toLong();
}
-void QXmppIbbCloseIq::toXmlElementFromChild(QXmlStreamWriter *writer) const
+void QXmppIbbOpenIq::toXmlElementFromChild(QXmlStreamWriter *writer) const
{
- writer->writeStartElement("close");
+ writer->writeStartElement("open");
writer->writeAttribute( "xmlns",ns_ibb);
writer->writeAttribute( "sid",m_sid);
+ writer->writeAttribute( "block-size",QString::number(m_block_size) );
writer->writeEndElement();
}
-void QXmppIbbCloseIq::parse( QDomElement &element )
+QXmppIbbCloseIq::QXmppIbbCloseIq() : QXmppIq(QXmppIq::Set)
{
- QDomElement openElement = element.firstChildElement("close");
- setId( element.attribute("id"));
- setTo( element.attribute("to"));
- setFrom( element.attribute("from"));
- setTypeFromStr( element.attribute("type"));
- m_sid = openElement.attribute( "sid" );
-}
-bool QXmppIbbCloseIq::isIbbCloseIq( QDomElement &element )
-{
- QDomElement openElement = element.firstChildElement("close");
- return openElement.namespaceURI() == ns_ibb;
}
QString QXmppIbbCloseIq::sid() const
@@ -94,6 +70,31 @@ void QXmppIbbCloseIq::setSid( const QString &sid )
m_sid = sid;
}
+bool QXmppIbbCloseIq::isIbbCloseIq(const QDomElement &element)
+{
+ QDomElement openElement = element.firstChildElement("close");
+ return openElement.namespaceURI() == ns_ibb;
+}
+
+void QXmppIbbCloseIq::parse(const QDomElement &element)
+{
+ QXmppStanza::parse(element);
+
+ setTypeFromStr(element.attribute("type"));
+
+ QDomElement openElement = element.firstChildElement("close");
+ m_sid = openElement.attribute( "sid" );
+}
+
+void QXmppIbbCloseIq::toXmlElementFromChild(QXmlStreamWriter *writer) const
+{
+ writer->writeStartElement("close");
+ writer->writeAttribute( "xmlns",ns_ibb);
+ writer->writeAttribute( "sid",m_sid);
+ writer->writeEndElement();
+}
+
+
QXmppIbbDataIq::QXmppIbbDataIq() : QXmppIq( QXmppIq::Set ), m_seq(0)
{
}
@@ -128,32 +129,30 @@ void QXmppIbbDataIq::setPayload( const QByteArray &data )
m_payload = data;
}
-
-void QXmppIbbDataIq::toXmlElementFromChild(QXmlStreamWriter *writer) const
+bool QXmppIbbDataIq::isIbbDataIq(const QDomElement &element)
{
- 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();
+ QDomElement dataElement = element.firstChildElement("data");
+ return dataElement.namespaceURI() == ns_ibb;
}
-void QXmppIbbDataIq::parse( QDomElement &element )
+void QXmppIbbDataIq::parse(const QDomElement &element)
{
- QDomElement dataElement = element.firstChildElement("data");
- setId( element.attribute("id"));
- setTo( element.attribute("to"));
- setFrom( element.attribute("from"));
- setTypeFromStr( element.attribute("type"));
+ QXmppStanza::parse(element);
+
+ setTypeFromStr(element.attribute("type"));
+ QDomElement dataElement = element.firstChildElement("data");
m_sid = dataElement.attribute( "sid" );
m_seq = dataElement.attribute( "seq" ).toLong();
m_payload = QByteArray::fromBase64( dataElement.text().toLatin1() );
}
-bool QXmppIbbDataIq::isIbbDataIq( QDomElement &element )
+void QXmppIbbDataIq::toXmlElementFromChild(QXmlStreamWriter *writer) const
{
- QDomElement dataElement = element.firstChildElement("data");
- return dataElement.namespaceURI() == ns_ibb;
+ 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();
}