#pragma once #include #include #include #include #include namespace mbgl { class Mailbox; class FileSourceRequest : public AsyncRequest { public: FileSourceRequest(FileSource::Callback&& callback); ~FileSourceRequest() final; void onCancel(std::function&& callback); void setResponse(const Response& res); ActorRef actor(); private: FileSource::Callback responseCallback = nullptr; std::function cancelCallback = nullptr; std::shared_ptr mailbox; }; } // namespace mbgl