diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2016-05-23 11:53:21 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2016-05-23 18:04:31 +0200 |
commit | 7272d7c84cf6e874b417ecd165f46f26ae7729c9 (patch) | |
tree | 76470dd1536ea632f6a75adde02bbc7af9513141 /src/mbgl/sprite | |
parent | b9f23661f88ad1982a913ff78ed39a398b53b7e3 (diff) | |
download | qtlocation-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.cpp | 7 | ||||
-rw-r--r-- | src/mbgl/sprite/sprite_store.hpp | 14 | ||||
-rw-r--r-- | src/mbgl/sprite/sprite_store_observer.hpp | 18 |
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 |