1
/****************************************************************************
5
** Copyright © 2011 Ruslan Nigmatullin <euroelessar@yandex.ru>
7
*****************************************************************************
9
** $JREEN_BEGIN_LICENSE$
10
** This program is free software: you can redistribute it and/or modify
11
** it under the terms of the GNU General Public License as published by
12
** the Free Software Foundation, either version 2 of the License, or
13
** (at your option) any later version.
15
** This program is distributed in the hope that it will be useful,
16
** but WITHOUT ANY WARRANTY; without even the implied warranty of
17
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
** See the GNU General Public License for more details.
20
** You should have received a copy of the GNU General Public License
21
** along with this program. If not, see http://www.gnu.org/licenses/.
22
** $JREEN_END_LICENSE$
24
****************************************************************************/
26
#ifndef MUCROOMFACTORY_P_H
27
#define MUCROOMFACTORY_P_H
29
#include "mucroom_p.h"
30
#include "dataformfactory_p.h"
34
class JREEN_AUTOTEST_EXPORT MUCRoomQueryFactory : public PayloadFactory<MUCRoomQuery>
37
MUCRoomQueryFactory();
38
virtual ~MUCRoomQueryFactory();
39
QStringList features() const;
40
bool canParse(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
41
void handleStartElement(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
42
void handleEndElement(const QStringRef &name, const QStringRef &uri);
43
void handleCharacterData(const QStringRef &text);
44
void serialize(Payload *extension, QXmlStreamWriter *writer);
45
Payload::Ptr createPayload();
48
class JREEN_AUTOTEST_EXPORT MUCRoomItemFactory : public XmlStreamFactory<MUCRoomItem>
52
virtual ~MUCRoomItemFactory();
53
bool canParse(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
54
void handleStartElement(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
55
void handleEndElement(const QStringRef &name, const QStringRef &uri);
56
void handleCharacterData(const QStringRef &text);
57
void serialize(MUCRoomItem *item, QXmlStreamWriter *writer);
58
void result(MUCRoomItem *item);
60
enum State { AtNowhere, AtActor, AtReason } m_state;
62
QScopedPointer<MUCRoomItem> m_item;
65
class JREEN_AUTOTEST_EXPORT MUCRoomUserQueryFactory : public PayloadFactory<MUCRoomUserQuery>
68
MUCRoomUserQueryFactory();
69
virtual ~MUCRoomUserQueryFactory();
70
QStringList features() const;
71
bool canParse(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
72
void handleStartElement(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
73
void handleEndElement(const QStringRef &name, const QStringRef &uri);
74
void handleCharacterData(const QStringRef &text);
75
void serialize(Payload *extension, QXmlStreamWriter *writer);
76
Payload::Ptr createPayload();
78
MUCRoomItemFactory m_item;
79
QScopedPointer<MUCRoomUserQuery> m_query;
81
enum State { AtNowhere, AtItem, AtActor, AtReason, AtPassword, AtOperation };
85
class JREEN_AUTOTEST_EXPORT MUCRoomAdminQueryFactory : public PayloadFactory<MUCRoomAdminQuery>
88
MUCRoomAdminQueryFactory();
89
virtual ~MUCRoomAdminQueryFactory();
90
QStringList features() const;
91
bool canParse(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
92
void handleStartElement(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
93
void handleEndElement(const QStringRef &name, const QStringRef &uri);
94
void handleCharacterData(const QStringRef &text);
95
void serialize(Payload *extension, QXmlStreamWriter *writer);
96
Payload::Ptr createPayload();
98
enum State { AtNowhere, AtItem } m_state;
100
MUCRoomItemFactory m_item;
101
QScopedPointer<MUCRoomAdminQuery> m_query;
104
class JREEN_AUTOTEST_EXPORT MUCRoomOwnerQueryFactory : public PayloadFactory<MUCRoomOwnerQuery>
107
MUCRoomOwnerQueryFactory();
108
virtual ~MUCRoomOwnerQueryFactory();
109
QStringList features() const;
110
bool canParse(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
111
void handleStartElement(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
112
void handleEndElement(const QStringRef &name, const QStringRef &uri);
113
void handleCharacterData(const QStringRef &text);
114
void serialize(Payload *extension, QXmlStreamWriter *writer);
115
Payload::Ptr createPayload();
117
enum State { AtNowhere, AtForm } m_state;
119
DataFormFactory m_form;
120
QScopedPointer<MUCRoomOwnerQuery> m_query;
123
#endif // MUCROOMFACTORY_P_H