summaryrefslogtreecommitdiff
path: root/src/node_main_instance.h
diff options
context:
space:
mode:
authorGauthamBanasandra <gautham.bangalore@gmail.com>2019-07-06 19:24:26 +0530
committerRich Trott <rtrott@gmail.com>2019-07-12 21:59:36 -0700
commitcf929c04b082f0d1d980772d343f056ea4fd7359 (patch)
tree974445741cfeb0fec793bf4694841f5428985914 /src/node_main_instance.h
parent9c4bdfe9b27aae59ca5a9c9e9e9bf0460d284571 (diff)
downloadandroid-node-v8-cf929c04b082f0d1d980772d343f056ea4fd7359.tar.gz
android-node-v8-cf929c04b082f0d1d980772d343f056ea4fd7359.tar.bz2
android-node-v8-cf929c04b082f0d1d980772d343f056ea4fd7359.zip
src, tools: replace raw ptr with smart ptr
NodeMainInstance::Create will now returrn an instance of NodeMainInstance in a unique_ptr. PR-URL: https://github.com/nodejs/node/pull/28577 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'src/node_main_instance.h')
-rw-r--r--src/node_main_instance.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/node_main_instance.h b/src/node_main_instance.h
index a971c899b8..5bc18cb3de 100644
--- a/src/node_main_instance.h
+++ b/src/node_main_instance.h
@@ -4,6 +4,8 @@
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
#include <cstddef>
+#include <memory>
+
#include "node.h"
#include "util.h"
#include "uv.h"
@@ -22,7 +24,7 @@ class NodeMainInstance {
// platform->RegisterIsolate(isolate, loop);
// isolate->Initialize(...);
// isolate->Enter();
- // NodeMainInstance* main_instance =
+ // std::unique_ptr<NodeMainInstance> main_instance =
// NodeMainInstance::Create(isolate, loop, args, exec_args);
//
// When tearing it down:
@@ -33,11 +35,13 @@ class NodeMainInstance {
// platform->UnregisterIsolate(isolate);
//
// After calling Dispose() the main_instance is no longer accessible.
- static NodeMainInstance* Create(v8::Isolate* isolate,
- uv_loop_t* event_loop,
- MultiIsolatePlatform* platform,
- const std::vector<std::string>& args,
- const std::vector<std::string>& exec_args);
+ static std::unique_ptr<NodeMainInstance> Create(
+ v8::Isolate* isolate,
+ uv_loop_t* event_loop,
+ MultiIsolatePlatform* platform,
+ const std::vector<std::string>& args,
+ const std::vector<std::string>& exec_args);
+
void Dispose();
// Create a main instance that owns the isolate