2014-10-31 18:17:05 +00:00
|
|
|
// Copyright (c) 2013 GitHub, Inc.
|
2014-04-25 09:49:37 +00:00
|
|
|
// Use of this source code is governed by the MIT license that can be
|
2013-12-11 07:48:19 +00:00
|
|
|
// found in the LICENSE file.
|
|
|
|
|
2014-04-17 05:45:14 +00:00
|
|
|
#ifndef ATOM_COMMON_NODE_INCLUDES_H_
|
|
|
|
#define ATOM_COMMON_NODE_INCLUDES_H_
|
2013-12-11 07:48:19 +00:00
|
|
|
|
2015-09-07 08:29:54 +00:00
|
|
|
#include "base/logging.h"
|
|
|
|
|
2013-12-15 06:20:28 +00:00
|
|
|
// Include common headers for using node APIs.
|
2013-12-11 07:48:19 +00:00
|
|
|
|
2018-07-11 17:43:52 +00:00
|
|
|
#ifdef NODE_SHARED_MODE
|
2015-04-01 13:33:08 +00:00
|
|
|
#define BUILDING_NODE_EXTENSION
|
2018-07-11 17:43:52 +00:00
|
|
|
#endif
|
2015-04-01 13:33:08 +00:00
|
|
|
|
2018-03-12 05:22:34 +00:00
|
|
|
// The following define makes sure that we do not include the macros
|
|
|
|
// again. But we still need the tracing functions, so declaring them.
|
|
|
|
#define SRC_TRACING_TRACE_EVENT_H_
|
|
|
|
|
2019-03-01 18:04:30 +00:00
|
|
|
#pragma push_macro("ASSERT")
|
|
|
|
#pragma push_macro("CHECK")
|
|
|
|
#pragma push_macro("CHECK_EQ")
|
|
|
|
#pragma push_macro("CHECK_GE")
|
|
|
|
#pragma push_macro("CHECK_GT")
|
|
|
|
#pragma push_macro("CHECK_LE")
|
|
|
|
#pragma push_macro("CHECK_LT")
|
|
|
|
#pragma push_macro("CHECK_NE")
|
|
|
|
#pragma push_macro("DISALLOW_COPY_AND_ASSIGN")
|
|
|
|
#pragma push_macro("LIKELY")
|
|
|
|
#pragma push_macro("NO_RETURN")
|
|
|
|
#pragma push_macro("UNLIKELY")
|
|
|
|
|
2015-01-07 04:53:06 +00:00
|
|
|
#undef ASSERT
|
2013-12-11 07:48:19 +00:00
|
|
|
#undef CHECK
|
2014-01-10 10:24:44 +00:00
|
|
|
#undef CHECK_EQ
|
2014-06-28 11:31:23 +00:00
|
|
|
#undef CHECK_GE
|
|
|
|
#undef CHECK_GT
|
|
|
|
#undef CHECK_LE
|
|
|
|
#undef CHECK_LT
|
2019-03-01 18:04:30 +00:00
|
|
|
#undef CHECK_NE
|
2013-12-11 07:48:19 +00:00
|
|
|
#undef DISALLOW_COPY_AND_ASSIGN
|
2017-01-23 06:53:29 +00:00
|
|
|
#undef LIKELY
|
2019-03-01 18:04:30 +00:00
|
|
|
#undef NO_RETURN
|
|
|
|
#undef UNLIKELY
|
|
|
|
|
2019-01-12 01:00:43 +00:00
|
|
|
#undef debug_string // This is defined in macOS SDK in AssertMacros.h.
|
|
|
|
#undef require_string // This is defined in macOS SDK in AssertMacros.h.
|
2018-05-01 23:22:39 +00:00
|
|
|
#include "env-inl.h"
|
|
|
|
#include "env.h"
|
|
|
|
#include "node.h"
|
|
|
|
#include "node_buffer.h"
|
|
|
|
#include "node_internals.h"
|
2018-09-18 00:48:10 +00:00
|
|
|
#include "node_options.h"
|
2018-05-01 23:22:39 +00:00
|
|
|
#include "node_platform.h"
|
2013-12-11 07:48:19 +00:00
|
|
|
|
2019-03-08 18:29:52 +00:00
|
|
|
// Alternative to NODE_MODULE_CONTEXT_AWARE_X.
|
|
|
|
// Allows to explicitly register builtin modules instead of using
|
|
|
|
// __attribute__((constructor)).
|
|
|
|
#define NODE_LINKED_MODULE_CONTEXT_AWARE(modname, regfunc) \
|
|
|
|
NODE_MODULE_CONTEXT_AWARE_CPP(modname, regfunc, nullptr, NM_F_LINKED)
|
|
|
|
|
2019-03-01 18:04:30 +00:00
|
|
|
#pragma pop_macro("ASSERT")
|
|
|
|
#pragma pop_macro("CHECK")
|
|
|
|
#pragma pop_macro("CHECK_EQ")
|
|
|
|
#pragma pop_macro("CHECK_GE")
|
|
|
|
#pragma pop_macro("CHECK_GT")
|
|
|
|
#pragma pop_macro("CHECK_LE")
|
|
|
|
#pragma pop_macro("CHECK_LT")
|
|
|
|
#pragma pop_macro("CHECK_NE")
|
|
|
|
#pragma pop_macro("DISALLOW_COPY_AND_ASSIGN")
|
|
|
|
#pragma pop_macro("LIKELY")
|
|
|
|
#pragma pop_macro("NO_RETURN")
|
|
|
|
#pragma pop_macro("UNLIKELY")
|
|
|
|
|
2018-03-12 07:46:23 +00:00
|
|
|
namespace node {
|
|
|
|
namespace tracing {
|
|
|
|
|
|
|
|
class TraceEventHelper {
|
|
|
|
public:
|
|
|
|
static v8::TracingController* GetTracingController();
|
2018-10-26 05:22:41 +00:00
|
|
|
static node::tracing::Agent* GetAgent();
|
2018-10-26 04:37:50 +00:00
|
|
|
static void SetAgent(node::tracing::Agent* agent);
|
2018-03-12 07:46:23 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace tracing
|
|
|
|
} // namespace node
|
|
|
|
|
2014-04-17 05:45:14 +00:00
|
|
|
#endif // ATOM_COMMON_NODE_INCLUDES_H_
|