diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-03-04 08:43:53 +0000 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2010-03-04 08:43:53 +0000 |
| commit | bb95ebd0e305071ccea30e356844042402bcd76b (patch) | |
| tree | 8290d542d1c53c81828a3f8a5d45cf387a4c72d7 /source/QXmppIbbIqs.cpp | |
| parent | f3c8579fd664461f529d2fe4713093596ba9ff97 (diff) | |
| download | qxmpp-bb95ebd0e305071ccea30e356844042402bcd76b.tar.gz | |
regroup common stanza parsing inside QXmppStanza::parse()
Diffstat (limited to 'source/QXmppIbbIqs.cpp')
| -rw-r--r-- | source/QXmppIbbIqs.cpp | 115 |
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(); } |
