1 #pragma once 2 3 #include <mbgl/actor/actor_ref.hpp> 4 #include <mbgl/storage/resource.hpp> 5 6 #include <functional> 7 #include <string> 8 9 namespace mbgl { 10 11 class Mailbox; 12 13 class ResourceTransform { 14 public: 15 using TransformCallback = std::function<std::string(Resource::Kind kind, const std::string&& url)>; 16 using FinishedCallback = std::function<void(const std::string&&)>; 17 18 ResourceTransform(ActorRef<ResourceTransform>, TransformCallback&&); 19 20 void transform(Resource::Kind, const std::string&& url, FinishedCallback&&); 21 22 private: 23 TransformCallback transformCallback; 24 }; 25 26 } // namespace mbgl 27