summaryrefslogtreecommitdiff
path: root/src/node_buffer.h
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2010-05-24 12:59:22 -0700
committerRyan Dahl <ry@tinyclouds.org>2010-05-24 13:26:18 -0700
commit3768aaaea406dd32db2f74395f6414bcd26dba74 (patch)
tree9bf407bd4e5ed7c4ceee16d56ccf804cdd490a82 /src/node_buffer.h
parentc4876d01a1b87dbea2e965cef58432eae178fdf1 (diff)
downloadandroid-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.h17
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_;