| #ifndef SRC_NODE_REPORT_H_ |
| #define SRC_NODE_REPORT_H_ |
| |
| #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS |
| |
| #include "node.h" |
| #include "node_buffer.h" |
| #include "uv.h" |
| #include "util.h" |
| |
| #ifndef _WIN32 |
| #include <sys/types.h> |
| #include <unistd.h> |
| #endif |
| |
| #include <iomanip> |
| |
| namespace node { |
| namespace report { |
| |
| // Function declarations - functions in src/node_report.cc |
| std::string TriggerNodeReport(v8::Isolate* isolate, |
| Environment* env, |
| const char* message, |
| const char* trigger, |
| const std::string& name, |
| v8::Local<v8::Value> error); |
| void GetNodeReport(v8::Isolate* isolate, |
| Environment* env, |
| const char* message, |
| const char* trigger, |
| v8::Local<v8::Value> error, |
| std::ostream& out); |
| |
| // Function declarations - utility functions in src/node_report_utils.cc |
| void WalkHandle(uv_handle_t* h, void* arg); |
| |
| template <typename T> |
| std::string ValueToHexString(T value) { |
| std::stringstream hex; |
| |
| hex << "0x" << std::setfill('0') << std::setw(sizeof(T) * 2) << std::hex << |
| value; |
| return hex.str(); |
| } |
| |
| // Function declarations - export functions in src/node_report_module.cc |
| void WriteReport(const v8::FunctionCallbackInfo<v8::Value>& info); |
| void GetReport(const v8::FunctionCallbackInfo<v8::Value>& info); |
| |
| } // namespace report |
| } // namespace node |
| |
| #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS |
| |
| #endif // SRC_NODE_REPORT_H_ |