QXmpp Version: 1.4.0
QXmppIbbIq.h
1/*
2 * Copyright (C) 2008-2021 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
36class QXmppIbbOpenIq : public QXmppIq
37{
38public:
40
41 long blockSize() const;
42 void setBlockSize(long block_size);
43
44 QString sid() const;
45 void setSid(const QString &sid);
46
47 static bool isIbbOpenIq(const QDomElement &element);
48
49protected:
51 void parseElementFromChild(const QDomElement &element) override;
52 void toXmlElementFromChild(QXmlStreamWriter *writer) const override;
54
55private:
56 long m_block_size;
57 QString m_sid;
58};
59
67{
68public:
70
71 QString sid() const;
72 void setSid(const QString &sid);
73
74 static bool isIbbCloseIq(const QDomElement &element);
75
76protected:
78 void parseElementFromChild(const QDomElement &element) override;
79 void toXmlElementFromChild(QXmlStreamWriter *writer) const override;
81
82private:
83 QString m_sid;
84};
85
92class QXMPP_EXPORT QXmppIbbDataIq : public QXmppIq
93{
94public:
96
97 quint16 sequence() const;
98 void setSequence(quint16 seq);
99
100 QString sid() const;
101 void setSid(const QString &sid);
102
103 QByteArray payload() const;
104 void setPayload(const QByteArray &data);
105
106 static bool isIbbDataIq(const QDomElement &element);
107
108protected:
110 void parseElementFromChild(const QDomElement &element) override;
111 void toXmlElementFromChild(QXmlStreamWriter *writer) const override;
113
114private:
115 quint16 m_seq;
116 QString m_sid;
117 QByteArray m_payload;
118};
119
120#endif // QXMPPIBBIQS_H
QXmppIbbCloseIq represents an IBB close request as defined by XEP-0047: In-Band Bytestreams.
Definition: QXmppIbbIq.h:67
QXmppIbbCloseIq represents an IBB data request as defined by XEP-0047: In-Band Bytestreams.
Definition: QXmppIbbIq.h:93
QXmppIbbOpenIq represents an IBB open request as defined by XEP-0047: In-Band Bytestreams.
Definition: QXmppIbbIq.h:37
The QXmppIq class is the base class for all IQs.
Definition: QXmppIq.h:42