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
****************************************************************************/
30
#include <QXmlStreamReader>
38
class Parser : public QObject, public XmlStreamParser
41
Q_DECLARE_PRIVATE(Parser)
51
Parser(Client *client);
54
void activateFeature();
55
QByteArray nextPart(QByteArray &data, bool first, bool *needMoreData);
57
bool canParse(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
58
void handleStartElement(const QStringRef &name, const QStringRef &uri, const QXmlStreamAttributes &attributes);
59
void handleEndElement(const QStringRef &name, const QStringRef &uri);
60
void handleCharacterData(const QStringRef &text);
62
bool event(QEvent *ev);
63
void appendData(const QByteArray &a);
66
QScopedPointer<ParserPrivate> d_ptr;