summaryrefslogtreecommitdiff
path: root/include/mbgl/style
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/style')
-rw-r--r--include/mbgl/style/sources/custom_vector_source.hpp26
1 files changed, 5 insertions, 21 deletions
diff --git a/include/mbgl/style/sources/custom_vector_source.hpp b/include/mbgl/style/sources/custom_vector_source.hpp
index 1a3ed12931..77d0a69bd3 100644
--- a/include/mbgl/style/sources/custom_vector_source.hpp
+++ b/include/mbgl/style/sources/custom_vector_source.hpp
@@ -4,7 +4,7 @@
#include <mbgl/util/geojson.hpp>
#include <mbgl/util/range.hpp>
#include <mbgl/util/constants.hpp>
-#include <mbgl/actor/actor_ref.hpp>
+#include <mbgl/actor/mailbox.hpp>
namespace mbgl {
@@ -13,24 +13,8 @@ class CanonicalTileID;
namespace style {
-using SetTileDataFunction = std::function<void(const mapbox::geojson::geojson&)>;
using TileFunction = std::function<void(const CanonicalTileID&)>;
-
-class CustomTileLoader : private util::noncopyable {
-public:
- CustomTileLoader(TileFunction fetchTileFn, TileFunction cancelTileFn);
- ~CustomTileLoader();
-
- void fetchTile(const OverscaledTileID& tileID, ActorRef<SetTileDataFunction> callbackRef);
- void cancelTile(const OverscaledTileID& tileID);
- void removeTile(const OverscaledTileID& tileID);
-
- void setTileData(const CanonicalTileID& tileID, const mapbox::geojson::geojson& data);
-
-private:
- class Impl;
- Impl* impl = nullptr;
-};
+class CustomTileLoader;
class CustomVectorSource : public Source {
public:
@@ -48,7 +32,7 @@ public:
};
public:
CustomVectorSource(std::string id, CustomVectorSource::Options options);
-
+ ~CustomVectorSource() final;
void loadDescription(FileSource&) final;
void setTileData(const CanonicalTileID&, const mapbox::geojson::geojson&);
@@ -56,8 +40,8 @@ public:
class Impl;
const Impl& impl() const;
private:
- std::shared_ptr<Mailbox> mailbox;
- CustomTileLoader loader;
+ std::shared_ptr<Mailbox> mailbox;
+ std::unique_ptr<CustomTileLoader> loader;
};