summaryrefslogtreecommitdiff
path: root/src/mbgl/sprite
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-05-23 11:53:21 +0200
committerKonstantin Käfer <mail@kkaefer.com>2016-05-23 18:04:31 +0200
commit7272d7c84cf6e874b417ecd165f46f26ae7729c9 (patch)
tree76470dd1536ea632f6a75adde02bbc7af9513141 /src/mbgl/sprite
parentb9f23661f88ad1982a913ff78ed39a398b53b7e3 (diff)
downloadqtlocation-mapboxgl-7272d7c84cf6e874b417ecd165f46f26ae7729c9.tar.gz
[core] move *Observers to their own files
Diffstat (limited to 'src/mbgl/sprite')
-rw-r--r--src/mbgl/sprite/sprite_store.cpp7
-rw-r--r--src/mbgl/sprite/sprite_store.hpp14
-rw-r--r--src/mbgl/sprite/sprite_store_observer.hpp18
3 files changed, 26 insertions, 13 deletions
diff --git a/src/mbgl/sprite/sprite_store.cpp b/src/mbgl/sprite/sprite_store.cpp
index ae8835534a..b9249a3ffc 100644
--- a/src/mbgl/sprite/sprite_store.cpp
+++ b/src/mbgl/sprite/sprite_store.cpp
@@ -1,4 +1,5 @@
#include <mbgl/sprite/sprite_store.hpp>
+#include <mbgl/sprite/sprite_store_observer.hpp>
#include <mbgl/sprite/sprite_parser.hpp>
#include <mbgl/platform/log.hpp>
#include <mbgl/storage/file_source.hpp>
@@ -11,6 +12,8 @@
namespace mbgl {
+static SpriteStoreObserver nullObserver;
+
struct SpriteStore::Loader {
std::shared_ptr<const std::string> image;
std::shared_ptr<const std::string> json;
@@ -19,7 +22,7 @@ struct SpriteStore::Loader {
};
SpriteStore::SpriteStore(float pixelRatio_)
- : pixelRatio(pixelRatio_ > 1 ? 2 : 1) {
+ : pixelRatio(pixelRatio_ > 1 ? 2 : 1), observer(&nullObserver) {
}
SpriteStore::~SpriteStore() = default;
@@ -80,7 +83,7 @@ void SpriteStore::emitSpriteLoadedIfComplete() {
}
}
-void SpriteStore::setObserver(Observer* observer_) {
+void SpriteStore::setObserver(SpriteStoreObserver* observer_) {
observer = observer_;
}
diff --git a/src/mbgl/sprite/sprite_store.hpp b/src/mbgl/sprite/sprite_store.hpp
index 995cb81900..50f74e174d 100644
--- a/src/mbgl/sprite/sprite_store.hpp
+++ b/src/mbgl/sprite/sprite_store.hpp
@@ -11,19 +11,12 @@
namespace mbgl {
class FileSource;
+class SpriteStoreObserver;
class SpriteStore : private util::noncopyable {
public:
using Sprites = std::map<std::string, std::shared_ptr<const SpriteImage>>;
- class Observer {
- public:
- virtual ~Observer() = default;
-
- virtual void onSpriteLoaded() {};
- virtual void onSpriteError(std::exception_ptr) {};
- };
-
SpriteStore(float pixelRatio);
~SpriteStore();
@@ -35,7 +28,7 @@ public:
void dumpDebugLogs() const;
- void setObserver(Observer* observer);
+ void setObserver(SpriteStoreObserver* observer);
// Adds/replaces a Sprite image.
void setSprite(const std::string&, std::shared_ptr<const SpriteImage> = nullptr);
@@ -63,8 +56,7 @@ private:
bool loaded = false;
- Observer nullObserver;
- Observer* observer = &nullObserver;
+ SpriteStoreObserver* observer = nullptr;
// Lock for sprites and dirty maps.
std::mutex mutex;
diff --git a/src/mbgl/sprite/sprite_store_observer.hpp b/src/mbgl/sprite/sprite_store_observer.hpp
new file mode 100644
index 0000000000..66d9d3790f
--- /dev/null
+++ b/src/mbgl/sprite/sprite_store_observer.hpp
@@ -0,0 +1,18 @@
+#ifndef MBGL_SPRITE_STORE_OBSERVER
+#define MBGL_SPRITE_STORE_OBSERVER
+
+#include <exception>
+
+namespace mbgl {
+
+class SpriteStoreObserver {
+public:
+ virtual ~SpriteStoreObserver() = default;
+
+ virtual void onSpriteLoaded() {}
+ virtual void onSpriteError(std::exception_ptr) {}
+};
+
+} // namespace mbgl
+
+#endif