diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2010-05-24 12:59:22 -0700 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2010-05-24 13:26:18 -0700 |
commit | 3768aaaea406dd32db2f74395f6414bcd26dba74 (patch) | |
tree | 9bf407bd4e5ed7c4ceee16d56ccf804cdd490a82 /src/node_buffer.h | |
parent | c4876d01a1b87dbea2e965cef58432eae178fdf1 (diff) | |
download | android-node-v8-3768aaaea406dd32db2f74395f6414bcd26dba74.tar.gz android-node-v8-3768aaaea406dd32db2f74395f6414bcd26dba74.tar.bz2 android-node-v8-3768aaaea406dd32db2f74395f6414bcd26dba74.zip |
Create a public Buffer constructor for use in addons.
Diffstat (limited to 'src/node_buffer.h')
-rw-r--r-- | src/node_buffer.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/node_buffer.h b/src/node_buffer.h index d7c849a7ba..dd9d0db51c 100644 --- a/src/node_buffer.h +++ b/src/node_buffer.h @@ -30,13 +30,10 @@ struct Blob_; class Buffer : public ObjectWrap { public: - static v8::Persistent<v8::FunctionTemplate> constructor_template; - - Buffer(size_t length); - Buffer(Buffer *parent, size_t start, size_t end); ~Buffer(); static void Initialize(v8::Handle<v8::Object> target); + static Buffer* New(size_t length); // public constructor static inline bool HasInstance(v8::Handle<v8::Value> val) { if (!val->IsObject()) return false; v8::Local<v8::Object> obj = val->ToObject(); @@ -47,7 +44,12 @@ class Buffer : public ObjectWrap { size_t length() const { return length_; } struct Blob_* blob() const { return blob_; } - protected: + int AsciiWrite(char *string, int offset, int length); + int Utf8Write(char *string, int offset, int length); + + private: + static v8::Persistent<v8::FunctionTemplate> constructor_template; + static v8::Handle<v8::Value> New(const v8::Arguments &args); static v8::Handle<v8::Value> Slice(const v8::Arguments &args); static v8::Handle<v8::Value> BinarySlice(const v8::Arguments &args); @@ -60,10 +62,9 @@ class Buffer : public ObjectWrap { static v8::Handle<v8::Value> Unpack(const v8::Arguments &args); static v8::Handle<v8::Value> Copy(const v8::Arguments &args); - int AsciiWrite(char *string, int offset, int length); - int Utf8Write(char *string, int offset, int length); + Buffer(size_t length); + Buffer(Buffer *parent, size_t start, size_t end); - private: size_t off_; // offset inside blob_ size_t length_; // length inside blob_ struct Blob_ *blob_; |