summaryrefslogtreecommitdiff
path: root/src/imports/location/tileprovider.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/location/tileprovider.h')
-rw-r--r--src/imports/location/tileprovider.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/imports/location/tileprovider.h b/src/imports/location/tileprovider.h
new file mode 100644
index 00000000..460b425b
--- /dev/null
+++ b/src/imports/location/tileprovider.h
@@ -0,0 +1,34 @@
+#ifndef TILEPROVIDER_H
+#define TILEPROVIDER_H
+
+#include <QObject>
+#include <QHash>
+
+#include "tilespec.h"
+
+class Tile;
+class QNetworkAccessManager;
+class QNetworkReply;
+
+class TileProvider : public QObject
+{
+ Q_OBJECT
+public:
+ TileProvider(QObject *parent = 0);
+
+public slots:
+ void tileRequest(const TileSpec &spec);
+
+private slots:
+ void finished(QNetworkReply *reply);
+
+signals:
+ void tileReady(const Tile &tile);
+ void tileError(const TileSpec &spec);
+
+private:
+ QNetworkAccessManager *nam_;
+ QHash<QNetworkReply*, TileSpec> map_;
+};
+
+#endif // TILEPROVIDER_H