QJson home page
/builddir/build/BUILD/qjson-0.8.1/src/parserrunnable.h
00001 /* This file is part of qjson
00002   *
00003   * Copyright (C) 2009 Flavio Castelli <flavio@castelli.name>
00004   *
00005   * This library is free software; you can redistribute it and/or
00006   * modify it under the terms of the GNU Lesser General Public
00007   * License version 2.1, as published by the Free Software Foundation.
00008   * 
00009   *
00010   * This library is distributed in the hope that it will be useful,
00011   * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013   * Lesser General Public License for more details.
00014   *
00015   * You should have received a copy of the GNU Lesser General Public License
00016   * along with this library; see the file COPYING.LIB.  If not, write to
00017   * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018   * Boston, MA 02110-1301, USA.
00019   */
00020 
00021 #ifndef PARSERRUNNABLE_H
00022 #define PARSERRUNNABLE_H
00023 
00024 #include "qjson_export.h"
00025 
00026 #include <QtCore/QObject>
00027 #include <QtCore/QRunnable>
00028 
00029 class QVariant;
00030 
00031 namespace QJson {
00035   class QJSON_EXPORT ParserRunnable  : public QObject, public QRunnable
00036   {
00037     Q_OBJECT
00038     public:
00039       explicit ParserRunnable(QObject* parent = 0);
00040       ~ParserRunnable();
00041 
00042       void setData( const QByteArray& data );
00043 
00044       void run();
00045 
00046     Q_SIGNALS:
00053       void parsingFinished(const QVariant& json, bool ok, const QString& error_msg);
00054 
00055     private:
00056       Q_DISABLE_COPY(ParserRunnable)
00057       class Private;
00058       Private* const d;
00059   };
00060 }
00061 
00062 #endif // PARSERRUNNABLE_H

SourceForge Logo hosts this site. Send comments to:
QJson Developers