From 6978e998ee7c08b3dd10e4cecd2a167696b74317 Mon Sep 17 00:00:00 2001 From: Fedor Indutny Date: Tue, 11 Jun 2013 12:52:27 +0200 Subject: process: abstract out HandleToStream Originally contributed by @tjfontaine, but modified to be faster and more generic. --- src/process_wrap.cc | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) (limited to 'src/process_wrap.cc') diff --git a/src/process_wrap.cc b/src/process_wrap.cc index 02984976d2..4b14464a34 100644 --- a/src/process_wrap.cc +++ b/src/process_wrap.cc @@ -21,10 +21,7 @@ #include "node.h" #include "handle_wrap.h" -#include "pipe_wrap.h" -#include "tty_wrap.h" -#include "tcp_wrap.h" -#include "udp_wrap.h" +#include "node_wrap.h" #include #include @@ -116,21 +113,8 @@ class ProcessWrap : public HandleWrap { PipeWrap::Unwrap(stdio ->Get(String::NewSymbol("handle")).As())->UVHandle()); } else if (type->Equals(String::NewSymbol("wrap"))) { - uv_stream_t* stream = NULL; - Local wrapType = stdio->Get(String::NewSymbol("wrapType")); - if (wrapType->Equals(String::NewSymbol("pipe"))) { - stream = reinterpret_cast(PipeWrap::Unwrap(stdio - ->Get(String::NewSymbol("handle")).As())->UVHandle()); - } else if (wrapType->Equals(String::NewSymbol("tty"))) { - stream = reinterpret_cast(TTYWrap::Unwrap(stdio - ->Get(String::NewSymbol("handle")).As())->UVHandle()); - } else if (wrapType->Equals(String::NewSymbol("tcp"))) { - stream = reinterpret_cast(TCPWrap::Unwrap(stdio - ->Get(String::NewSymbol("handle")).As())->UVHandle()); - } else if (wrapType->Equals(String::NewSymbol("udp"))) { - stream = reinterpret_cast(UDPWrap::Unwrap(stdio - ->Get(String::NewSymbol("handle")).As())->UVHandle()); - } + uv_stream_t* stream = HandleToStream( + stdio->Get(String::NewSymbol("handle")).As()); assert(stream != NULL); options->stdio[i].flags = UV_INHERIT_STREAM; -- cgit v1.2.3