QXmpp  Version:0.9.1
QXmppIbbIq.h
1 /*
2  * Copyright (C) 2008-2014 The QXmpp developers
3  *
4  * Authors:
5  * Manjeet Dahiya
6  * Jeremy LainĂ©
7  *
8  * Source:
9  * https://github.com/qxmpp-project/qxmpp
10  *
11  * This file is a part of QXmpp library.
12  *
13  * This library is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU Lesser General Public
15  * License as published by the Free Software Foundation; either
16  * version 2.1 of the License, or (at your option) any later version.
17  *
18  * This library is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21  * Lesser General Public License for more details.
22  *
23  */
24 
25 #ifndef QXMPPIBBIQ_H
26 #define QXMPPIBBIQ_H
27 
28 #include "QXmppIq.h"
29 
30 class QXmppIbbOpenIq: public QXmppIq
31 {
32 public:
33  QXmppIbbOpenIq();
34 
35  long blockSize() const;
36  void setBlockSize( long block_size );
37 
38  QString sid() const;
39  void setSid( const QString &sid );
40 
41  static bool isIbbOpenIq(const QDomElement &element);
42 
43 protected:
45  void parseElementFromChild(const QDomElement &element);
46  void toXmlElementFromChild(QXmlStreamWriter *writer) const;
48 
49 private:
50  long m_block_size;
51  QString m_sid;
52 };
53 
54 class QXmppIbbCloseIq: public QXmppIq
55 {
56 public:
57  QXmppIbbCloseIq();
58 
59  QString sid() const;
60  void setSid( const QString &sid );
61 
62  static bool isIbbCloseIq(const QDomElement &element);
63 
64 protected:
66  void parseElementFromChild(const QDomElement &element);
67  void toXmlElementFromChild(QXmlStreamWriter *writer) const;
69 
70 private:
71  QString m_sid;
72 };
73 
74 class QXMPP_EXPORT QXmppIbbDataIq : public QXmppIq
75 {
76 public:
77  QXmppIbbDataIq();
78 
79  quint16 sequence() const;
80  void setSequence( quint16 seq );
81 
82  QString sid() const;
83  void setSid( const QString &sid );
84 
85  QByteArray payload() const;
86  void setPayload( const QByteArray &data );
87 
88  static bool isIbbDataIq(const QDomElement &element);
89 
90 protected:
92  void parseElementFromChild(const QDomElement &element);
93  void toXmlElementFromChild(QXmlStreamWriter *writer) const;
95 
96 private:
97  quint16 m_seq;
98  QString m_sid;
99  QByteArray m_payload;
100 };
101 
102 #endif // QXMPPIBBIQS_H
The QXmppIq class is the base class for all IQs.
Definition: QXmppIq.h:42