#pragma once #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Wshadow" #include #pragma GCC diagnostic pop #include #include namespace node_mbgl { class NodeMap; class NodeRequest : public Nan::ObjectWrap, public Nan::AsyncWorker { public: struct NodeAsyncRequest : public mbgl::AsyncRequest { NodeAsyncRequest(NodeRequest*); ~NodeAsyncRequest() override; NodeRequest* request; }; NodeRequest(NodeMap*, mbgl::FileSource::Callback); ~NodeRequest(); static Nan::Persistent constructor; static void Init(); static void New(const Nan::FunctionCallbackInfo&); static void HandleCallback(const Nan::FunctionCallbackInfo&); void Execute(); private: NodeMap* target; mbgl::FileSource::Callback callback; NodeAsyncRequest* asyncRequest = nullptr; }; }