#pragma once #include #include #include #include namespace mbgl { namespace util { template class AsyncQueue; } } namespace node_mbgl { class NodeLogBackend : public mbgl::LogBackend { public: NodeLogBackend(v8::Handle target); ~NodeLogBackend(); void record(mbgl::EventSeverity severity, mbgl::Event event, const std::string &msg); void record(mbgl::EventSeverity severity, mbgl::Event event, const char* format, ...); void record(mbgl::EventSeverity severity, mbgl::Event event, int64_t code); void record(mbgl::EventSeverity severity, mbgl::Event event, int64_t code, const std::string &msg); private: v8::Persistent module; struct Message; using Queue = mbgl::util::AsyncQueue; Queue *queue = nullptr; }; }