diff options
author | Jon Moss <me@jonathanmoss.me> | 2018-07-11 13:53:05 -0400 |
---|---|---|
committer | Jon Moss <me@jonathanmoss.me> | 2018-07-13 12:08:20 -0400 |
commit | 45732c7c19672869a7e517e252c83b371a863bee (patch) | |
tree | 14b333f5a45f53bec769cd0b60c2201b1ba46049 /src | |
parent | d2ee7d64aa3afd593ec8c0b14f497244403c5589 (diff) | |
download | android-node-v8-45732c7c19672869a7e517e252c83b371a863bee.tar.gz android-node-v8-45732c7c19672869a7e517e252c83b371a863bee.tar.bz2 android-node-v8-45732c7c19672869a7e517e252c83b371a863bee.zip |
src: add HandleWrap::AddWrapMethods
Extracts common setters to a single location
PR-URL: https://github.com/nodejs/node/pull/21769
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/handle_wrap.cc | 10 | ||||
-rw-r--r-- | src/handle_wrap.h | 3 | ||||
-rw-r--r-- | src/node_messaging.cc | 5 | ||||
-rw-r--r-- | src/node_stat_watcher.cc | 6 | ||||
-rw-r--r-- | src/pipe_wrap.cc | 7 | ||||
-rw-r--r-- | src/process_wrap.cc | 7 | ||||
-rw-r--r-- | src/signal_wrap.cc | 6 | ||||
-rw-r--r-- | src/tcp_wrap.cc | 8 | ||||
-rw-r--r-- | src/timer_wrap.cc | 6 | ||||
-rw-r--r-- | src/tty_wrap.cc | 7 | ||||
-rw-r--r-- | src/udp_wrap.cc | 6 |
11 files changed, 24 insertions, 47 deletions
diff --git a/src/handle_wrap.cc b/src/handle_wrap.cc index 4c2a33aa84..9281300146 100644 --- a/src/handle_wrap.cc +++ b/src/handle_wrap.cc @@ -29,6 +29,7 @@ namespace node { using v8::Context; using v8::FunctionCallbackInfo; +using v8::FunctionTemplate; using v8::HandleScope; using v8::Local; using v8::Object; @@ -130,4 +131,13 @@ void HandleWrap::OnClose(uv_handle_t* handle) { } +void HandleWrap::AddWrapMethods(Environment* env, + Local<FunctionTemplate> t) { + env->SetProtoMethod(t, "close", HandleWrap::Close); + env->SetProtoMethodNoSideEffect(t, "hasRef", HandleWrap::HasRef); + env->SetProtoMethod(t, "ref", HandleWrap::Ref); + env->SetProtoMethod(t, "unref", HandleWrap::Unref); +} + + } // namespace node diff --git a/src/handle_wrap.h b/src/handle_wrap.h index bd7ef4000b..443d28bf52 100644 --- a/src/handle_wrap.h +++ b/src/handle_wrap.h @@ -73,6 +73,9 @@ class HandleWrap : public AsyncWrap { virtual void Close( v8::Local<v8::Value> close_callback = v8::Local<v8::Value>()); + static void AddWrapMethods(Environment* env, + v8::Local<v8::FunctionTemplate> constructor); + protected: HandleWrap(Environment* env, v8::Local<v8::Object> object, diff --git a/src/node_messaging.cc b/src/node_messaging.cc index 712add06d3..24a99c8bc6 100644 --- a/src/node_messaging.cc +++ b/src/node_messaging.cc @@ -718,15 +718,12 @@ MaybeLocal<Function> GetMessagePortConstructor( m->InstanceTemplate()->SetInternalFieldCount(1); AsyncWrap::AddWrapMethods(env, m); + HandleWrap::AddWrapMethods(env, m); env->SetProtoMethod(m, "postMessage", MessagePort::PostMessage); env->SetProtoMethod(m, "start", MessagePort::Start); env->SetProtoMethod(m, "stop", MessagePort::Stop); env->SetProtoMethod(m, "drain", MessagePort::Drain); - env->SetProtoMethod(m, "close", HandleWrap::Close); - env->SetProtoMethod(m, "unref", HandleWrap::Unref); - env->SetProtoMethod(m, "ref", HandleWrap::Ref); - env->SetProtoMethod(m, "hasRef", HandleWrap::HasRef); env->set_message_port_constructor_template(m); } diff --git a/src/node_stat_watcher.cc b/src/node_stat_watcher.cc index 767bc024e4..5e47476fd9 100644 --- a/src/node_stat_watcher.cc +++ b/src/node_stat_watcher.cc @@ -52,11 +52,9 @@ void StatWatcher::Initialize(Environment* env, Local<Object> target) { t->SetClassName(statWatcherString); AsyncWrap::AddWrapMethods(env, t); + HandleWrap::AddWrapMethods(env, t); + env->SetProtoMethod(t, "start", StatWatcher::Start); - env->SetProtoMethod(t, "close", HandleWrap::Close); - env->SetProtoMethod(t, "ref", HandleWrap::Ref); - env->SetProtoMethod(t, "unref", HandleWrap::Unref); - env->SetProtoMethod(t, "hasRef", HandleWrap::HasRef); target->Set(statWatcherString, t->GetFunction()); } diff --git a/src/pipe_wrap.cc b/src/pipe_wrap.cc index e2cc114479..a6044b6b26 100644 --- a/src/pipe_wrap.cc +++ b/src/pipe_wrap.cc @@ -77,12 +77,7 @@ void PipeWrap::Initialize(Local<Object> target, t->InstanceTemplate()->SetInternalFieldCount(1); AsyncWrap::AddWrapMethods(env, t); - - env->SetProtoMethod(t, "close", HandleWrap::Close); - env->SetProtoMethod(t, "unref", HandleWrap::Unref); - env->SetProtoMethod(t, "ref", HandleWrap::Ref); - env->SetProtoMethod(t, "hasRef", HandleWrap::HasRef); - + HandleWrap::AddWrapMethods(env, t); LibuvStreamWrap::AddMethods(env, t); env->SetProtoMethod(t, "bind", Bind); diff --git a/src/process_wrap.cc b/src/process_wrap.cc index 54345b231b..1931e8107f 100644 --- a/src/process_wrap.cc +++ b/src/process_wrap.cc @@ -58,16 +58,11 @@ class ProcessWrap : public HandleWrap { constructor->SetClassName(processString); AsyncWrap::AddWrapMethods(env, constructor); - - env->SetProtoMethod(constructor, "close", HandleWrap::Close); + HandleWrap::AddWrapMethods(env, constructor); env->SetProtoMethod(constructor, "spawn", Spawn); env->SetProtoMethod(constructor, "kill", Kill); - env->SetProtoMethod(constructor, "ref", HandleWrap::Ref); - env->SetProtoMethod(constructor, "unref", HandleWrap::Unref); - env->SetProtoMethod(constructor, "hasRef", HandleWrap::HasRef); - target->Set(processString, constructor->GetFunction()); } diff --git a/src/signal_wrap.cc b/src/signal_wrap.cc index 5117d3ab1d..e245ad924c 100644 --- a/src/signal_wrap.cc +++ b/src/signal_wrap.cc @@ -52,10 +52,8 @@ class SignalWrap : public HandleWrap { constructor->SetClassName(signalString); AsyncWrap::AddWrapMethods(env, constructor); - env->SetProtoMethod(constructor, "close", HandleWrap::Close); - env->SetProtoMethod(constructor, "ref", HandleWrap::Ref); - env->SetProtoMethod(constructor, "unref", HandleWrap::Unref); - env->SetProtoMethod(constructor, "hasRef", HandleWrap::HasRef); + HandleWrap::AddWrapMethods(env, constructor); + env->SetProtoMethod(constructor, "start", Start); env->SetProtoMethod(constructor, "stop", Stop); diff --git a/src/tcp_wrap.cc b/src/tcp_wrap.cc index aa130d22e0..805e566bfa 100644 --- a/src/tcp_wrap.cc +++ b/src/tcp_wrap.cc @@ -86,13 +86,7 @@ void TCPWrap::Initialize(Local<Object> target, t->InstanceTemplate()->Set(env->onconnection_string(), Null(env->isolate())); AsyncWrap::AddWrapMethods(env, t, AsyncWrap::kFlagHasReset); - - env->SetProtoMethod(t, "close", HandleWrap::Close); - - env->SetProtoMethod(t, "ref", HandleWrap::Ref); - env->SetProtoMethod(t, "unref", HandleWrap::Unref); - env->SetProtoMethod(t, "hasRef", HandleWrap::HasRef); - + HandleWrap::AddWrapMethods(env, t); LibuvStreamWrap::AddMethods(env, t); env->SetProtoMethod(t, "open", Open); diff --git a/src/timer_wrap.cc b/src/timer_wrap.cc index b87430dad8..9da209bef4 100644 --- a/src/timer_wrap.cc +++ b/src/timer_wrap.cc @@ -55,11 +55,7 @@ class TimerWrap : public HandleWrap { env->SetTemplateMethod(constructor, "now", Now); AsyncWrap::AddWrapMethods(env, constructor); - - env->SetProtoMethod(constructor, "close", HandleWrap::Close); - env->SetProtoMethod(constructor, "ref", HandleWrap::Ref); - env->SetProtoMethod(constructor, "unref", HandleWrap::Unref); - env->SetProtoMethod(constructor, "hasRef", HandleWrap::HasRef); + HandleWrap::AddWrapMethods(env, constructor); env->SetProtoMethod(constructor, "start", Start); diff --git a/src/tty_wrap.cc b/src/tty_wrap.cc index 83b6e34d63..39d7ca1474 100644 --- a/src/tty_wrap.cc +++ b/src/tty_wrap.cc @@ -54,12 +54,7 @@ void TTYWrap::Initialize(Local<Object> target, t->InstanceTemplate()->SetInternalFieldCount(1); AsyncWrap::AddWrapMethods(env, t); - - env->SetProtoMethod(t, "close", HandleWrap::Close); - env->SetProtoMethod(t, "unref", HandleWrap::Unref); - env->SetProtoMethod(t, "ref", HandleWrap::Ref); - env->SetProtoMethodNoSideEffect(t, "hasRef", HandleWrap::HasRef); - + HandleWrap::AddWrapMethods(env, t); LibuvStreamWrap::AddMethods(env, t); env->SetProtoMethodNoSideEffect(t, "getWindowSize", TTYWrap::GetWindowSize); diff --git a/src/udp_wrap.cc b/src/udp_wrap.cc index 1d1ded449b..2ef6732213 100644 --- a/src/udp_wrap.cc +++ b/src/udp_wrap.cc @@ -115,7 +115,6 @@ void UDPWrap::Initialize(Local<Object> target, env->SetProtoMethod(t, "send", Send); env->SetProtoMethod(t, "bind6", Bind6); env->SetProtoMethod(t, "send6", Send6); - env->SetProtoMethod(t, "close", Close); env->SetProtoMethod(t, "recvStart", RecvStart); env->SetProtoMethod(t, "recvStop", RecvStop); env->SetProtoMethod(t, "getsockname", @@ -129,11 +128,8 @@ void UDPWrap::Initialize(Local<Object> target, env->SetProtoMethod(t, "setTTL", SetTTL); env->SetProtoMethod(t, "bufferSize", BufferSize); - env->SetProtoMethod(t, "ref", HandleWrap::Ref); - env->SetProtoMethod(t, "unref", HandleWrap::Unref); - env->SetProtoMethod(t, "hasRef", HandleWrap::HasRef); - AsyncWrap::AddWrapMethods(env, t); + HandleWrap::AddWrapMethods(env, t); target->Set(udpString, t->GetFunction()); env->set_udp_constructor_function(t->GetFunction()); |