00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _SOPRANO_ASYNC_RESULT_H_
00023 #define _SOPRANO_ASYNC_RESULT_H_
00024
00025 #include <QtCore/QObject>
00026 #include <QtCore/QVariant>
00027
00028 #include "error.h"
00029 #include "soprano_export.h"
00030
00031
00032 namespace Soprano {
00033
00034 class StatementIterator;
00035 class Node;
00036 class NodeIterator;
00037 class QueryResultIterator;
00038
00039 namespace Util {
00040
00041 class AsyncModel;
00042
00052 class SOPRANO_EXPORT AsyncResult : public QObject, public Error::ErrorCache
00053 {
00054 Q_OBJECT
00055
00056 Q_SIGNALS:
00063 void resultReady( Soprano::Util::AsyncResult* );
00064
00065 public:
00071 static AsyncResult* createResult();
00072
00073 ~AsyncResult();
00074
00091 QVariant value() const { return m_result; }
00092
00104 Error::ErrorCode errorCode() const;
00105
00114 StatementIterator statementIterator() const;
00115
00124 NodeIterator nodeIterator() const;
00125
00134 QueryResultIterator queryResultIterator() const;
00135
00144 Node node() const;
00145
00150 void setResult( const QVariant& result, const Error::Error& error );
00151
00152 private Q_SLOTS:
00153 void slotResultReady();
00154
00155 private:
00156 AsyncResult();
00157
00158 QVariant m_result;
00159
00160 friend class AsyncModel;
00161 };
00162 }
00163 }
00164
00165 #endif