40 #ifndef QSPARQL_TRACKER_DIRECT_SELECT_RESULT_P_H
41 #define QSPARQL_TRACKER_DIRECT_SELECT_RESULT_P_H
43 #include "qsparql_tracker_direct_result_p.h"
44 #include <QtCore/qvector.h>
45 #include <QtCore/qstring.h>
46 #include <QtCore/qmutex.h>
48 #include <tracker-sparql.h>
54 class QTrackerDirectDriverPrivate;
56 class QTrackerDirectSelectResult :
public QTrackerDirectResult
60 explicit QTrackerDirectSelectResult(QTrackerDirectDriverPrivate* p,
64 ~QTrackerDirectSelectResult();
66 Q_INVOKABLE
void startFetcher();
71 virtual void waitForFinished();
75 virtual QVariant value(
int i)
const;
76 virtual int size()
const;
84 bool fetchNextResult();
85 bool fetchBoolResult();
86 void emitDataReady(
int totalCount);
89 virtual void stopAndWait();
92 TrackerSparqlCursor* cursor;
93 mutable QMutex resultMutex;
94 QVector<QString> columnNames;
95 QList<QVector<QVariant> > results;
102 #endif // QSPARQL_TRACKER_DIRECT_RESULT_P_H