diff options
Diffstat (limited to 'platform/node/src/node_logging.hpp')
-rw-r--r-- | platform/node/src/node_logging.hpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/platform/node/src/node_logging.hpp b/platform/node/src/node_logging.hpp new file mode 100644 index 0000000000..a12603ba6e --- /dev/null +++ b/platform/node/src/node_logging.hpp @@ -0,0 +1,32 @@ +#pragma once + +#include "util/async_queue.hpp" + +#include <mbgl/util/logging.hpp> + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wshadow" +#include <nan.h> +#pragma GCC diagnostic pop + +namespace node_mbgl { + +namespace util { template <typename T> class AsyncQueue; } + +class NodeLogObserver : public mbgl::Log::Observer { +public: + NodeLogObserver(v8::Local<v8::Object> target); + ~NodeLogObserver(); + + // Log::Observer implementation + virtual bool onRecord(mbgl::EventSeverity severity, mbgl::Event event, int64_t code, const std::string &msg) override; + +private: + Nan::Persistent<v8::Object> module; + + struct LogMessage; + util::AsyncQueue<LogMessage>* queue; +}; + +} |