From: Ryan Date: Wed, 20 May 2009 08:02:02 +0000 (+0200) Subject: Change encoding setter/getter to setEncoding function. X-Git-Tag: v0.0.1~28 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1b54e3d87d9cf9a3ef53bd95d69d49534b8cd077;p=platform%2Fupstream%2Fnodejs.git Change encoding setter/getter to setEncoding function. --- diff --git a/src/net.cc b/src/net.cc index e8bfffc..b2695e9 100644 --- a/src/net.cc +++ b/src/net.cc @@ -66,11 +66,7 @@ Connection::Initialize (v8::Handle target) NODE_SET_PROTOTYPE_METHOD(constructor_template, "close", Close); NODE_SET_PROTOTYPE_METHOD(constructor_template, "fullClose", FullClose); NODE_SET_PROTOTYPE_METHOD(constructor_template, "forceClose", ForceClose); - - constructor_template->PrototypeTemplate()->SetAccessor( - ENCODING_SYMBOL, - EncodingGetter, - EncodingSetter); + NODE_SET_PROTOTYPE_METHOD(constructor_template, "setEncoding", SetEncoding); constructor_template->PrototypeTemplate()->SetAccessor( READY_STATE_SYMBOL, @@ -98,41 +94,6 @@ Connection::ReadyStateGetter (Local _, const AccessorInfo& info) return ThrowException(String::New("This shouldn't happen.")); } -Handle -Connection::EncodingGetter (Local _, const AccessorInfo& info) -{ - Connection *connection = NODE_UNWRAP(Connection, info.This()); - if (!connection) return Handle(); - - HandleScope scope; - - if (connection->encoding_ == UTF8) - return scope.Close(UTF8_SYMBOL); - else - return scope.Close(RAW_SYMBOL); -} - -void -Connection::EncodingSetter (Local _, Local value, const AccessorInfo& info) -{ - Connection *connection = NODE_UNWRAP(Connection, info.This()); - if (!connection) return; - - if (!value->IsString()) { - connection->encoding_ = RAW; - return; - } - HandleScope scope; - Local encoding = value->ToString(); - char buf[5]; // need enough room for "utf8" or "raw" - encoding->WriteAscii(buf, 0, 4); - buf[4] = '\0'; - if(strcasecmp(buf, "utf8") == 0) - connection->encoding_ = UTF8; - else - connection->encoding_ = RAW; -} - Connection::Connection (Handle handle) : ObjectWrap(handle) { @@ -234,6 +195,33 @@ Connection::Connect (const Arguments& args) return Undefined(); } +Handle +Connection::SetEncoding (const Arguments& args) +{ + HandleScope scope; + + Connection *connection = NODE_UNWRAP(Connection, args.This()); + if (!connection) return Handle(); + + if (!args[0]->IsString()) { + connection->encoding_ = RAW; + return scope.Close(RAW_SYMBOL); + } + Local encoding = args[0]->ToString(); + + char buf[5]; // need enough room for "utf8" or "raw" + encoding->WriteAscii(buf, 0, 4); + buf[4] = '\0'; + + if(strcasecmp(buf, "utf8") == 0) { + connection->encoding_ = UTF8; + return scope.Close(UTF8_SYMBOL); + } else { + connection->encoding_ = RAW; + return scope.Close(RAW_SYMBOL); + } +} + int Connection::Resolve (eio_req *req) { diff --git a/src/net.h b/src/net.h index 3dec42a..a0f7980 100644 --- a/src/net.h +++ b/src/net.h @@ -25,11 +25,7 @@ protected: static v8::Handle Close (const v8::Arguments& args); static v8::Handle FullClose (const v8::Arguments& args); static v8::Handle ForceClose (const v8::Arguments& args); - - static v8::Handle EncodingGetter (v8::Local _, - const v8::AccessorInfo& info); - static void EncodingSetter (v8::Local _, - v8::Local value, const v8::AccessorInfo& info); + static v8::Handle SetEncoding (const v8::Arguments& args); static v8::Handle ReadyStateGetter (v8::Local _, const v8::AccessorInfo& info); diff --git a/test/test-pingpong.js b/test/test-pingpong.js index 5395b59..8d02afd 100644 --- a/test/test-pingpong.js +++ b/test/test-pingpong.js @@ -5,7 +5,7 @@ var N = 1000; var count = 0; function Ponger (socket) { - socket.encoding = "UTF8"; + socket.setEncoding("utf8"); socket.timeout = 0; puts("got socket."); @@ -40,7 +40,7 @@ function onLoad() { var client = new node.tcp.Connection(); assertEquals("closed", client.readyState); - client.encoding = "UTF8"; + client.setEncoding("utf8"); client.onConnect = function () { assertEquals("open", client.readyState); diff --git a/test/test-reconnecting-socket.js b/test/test-reconnecting-socket.js index 307afb7..a06070f 100644 --- a/test/test-reconnecting-socket.js +++ b/test/test-reconnecting-socket.js @@ -21,7 +21,7 @@ function onLoad () { var count = 0; var client = new node.tcp.Connection(); - client.encoding = "UTF8"; + client.setEncoding("UTF8"); client.onConnect = function () { puts("client connected"); };