#ifndef DATAPROVIDER_H
#define DATAPROVIDER_H
-#include <QDeclarativeItem>
+#include <QNetworkReply>
+#include <QObject>
+#include <QSharedPointer>
class QNetworkAccessManager;
-class QNetworkReply;
+class QUrl;
-class DataProvider : public QDeclarativeItem
+class StationScheduleModel;
+
+class DataProvider : public QObject
{
Q_OBJECT
public:
- explicit DataProvider(QDeclarativeItem *parent = 0);
-
+ explicit DataProvider(QObject *parent = 0);
+ static DataProvider *instance();
signals:
+ void stationScheduleReady(const QByteArray &data, const QUrl &url);
+ void error();
public slots:
- void queryStation(const QString &station);
+ void fetchStationSchedule(const QString &station, const QString &stationCode = QString());
void updateStation();
private slots:
- void queryStationCompleted(void);
+ void onStationScheduleFetched(void);
+ void onStationQueryMetadataChanged(void);
+ void onNetworkError(QNetworkReply::NetworkError errorCode);
private:
QNetworkAccessManager *accessManager;