diff options
author | Trevor Norris <trev.norris@gmail.com> | 2013-06-07 10:31:53 -0700 |
---|---|---|
committer | Trevor Norris <trev.norris@gmail.com> | 2013-06-18 15:41:16 -0700 |
commit | 7373c4ddb7143fb7da75feda39c70788fb1bcfc7 (patch) | |
tree | c1c1995c525021d56e55d9aa330e246674386d3a /src | |
parent | 4b403588416e7928fbda31043d5e7aa56b5d87b0 (diff) | |
download | android-node-v8-7373c4ddb7143fb7da75feda39c70788fb1bcfc7.tar.gz android-node-v8-7373c4ddb7143fb7da75feda39c70788fb1bcfc7.tar.bz2 android-node-v8-7373c4ddb7143fb7da75feda39c70788fb1bcfc7.zip |
buffer: proper API export for Windows
So that Windows users can properly include smalloc and node_buffer,
NODE_EXTERN was added to the headers that export this functionality.
Diffstat (limited to 'src')
-rw-r--r-- | src/node_buffer.h | 29 | ||||
-rw-r--r-- | src/smalloc.h | 27 |
2 files changed, 29 insertions, 27 deletions
diff --git a/src/node_buffer.h b/src/node_buffer.h index b00badb35f..fe2abb9e5e 100644 --- a/src/node_buffer.h +++ b/src/node_buffer.h @@ -19,6 +19,7 @@ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. +#include "node.h" #include "smalloc.h" #include "v8.h" @@ -31,29 +32,29 @@ namespace Buffer { static const unsigned int kMaxLength = smalloc::kMaxLength; -bool HasInstance(v8::Handle<v8::Value> val); -bool HasInstance(v8::Handle<v8::Object> val); -char* Data(v8::Handle<v8::Value> val); -char* Data(v8::Handle<v8::Object> val); -size_t Length(v8::Handle<v8::Value> val); -size_t Length(v8::Handle<v8::Object> val); +NODE_EXTERN bool HasInstance(v8::Handle<v8::Value> val); +NODE_EXTERN bool HasInstance(v8::Handle<v8::Object> val); +NODE_EXTERN char* Data(v8::Handle<v8::Value> val); +NODE_EXTERN char* Data(v8::Handle<v8::Object> val); +NODE_EXTERN size_t Length(v8::Handle<v8::Value> val); +NODE_EXTERN size_t Length(v8::Handle<v8::Object> val); // public constructor -v8::Local<v8::Object> New(size_t length); +NODE_EXTERN v8::Local<v8::Object> New(size_t length); // public constructor from string -v8::Local<v8::Object> New(v8::Handle<v8::String> string); +NODE_EXTERN v8::Local<v8::Object> New(v8::Handle<v8::String> string); // public constructor - data is copied // TODO(trevnorris): should be something like Copy() -v8::Local<v8::Object> New(const char* data, size_t len); +NODE_EXTERN v8::Local<v8::Object> New(const char* data, size_t len); // public constructor - data is used, callback is passed data on object gc -v8::Local<v8::Object> New(char* data, - size_t length, - smalloc::FreeCallback callback, - void* hint); +NODE_EXTERN v8::Local<v8::Object> New(char* data, + size_t length, + smalloc::FreeCallback callback, + void* hint); // public constructor - data is used. // TODO(trevnorris): should be New() for consistency -v8::Local<v8::Object> Use(char* data, uint32_t len); +NODE_EXTERN v8::Local<v8::Object> Use(char* data, uint32_t len); } // namespace Buffer diff --git a/src/smalloc.h b/src/smalloc.h index bfd41cabec..be4515b487 100644 --- a/src/smalloc.h +++ b/src/smalloc.h @@ -22,6 +22,7 @@ #ifndef NODE_SMALLOC_H_ #define NODE_SMALLOC_H_ +#include "node.h" #include "v8.h" namespace node { @@ -38,29 +39,29 @@ namespace smalloc { // mirrors deps/v8/src/objects.h static const unsigned int kMaxLength = 0x3fffffff; -typedef void (*FreeCallback)(char* data, void* hint); +NODE_EXTERN typedef void (*FreeCallback)(char* data, void* hint); /** * Allocate external memory and set to passed object. If data is passed then * will use that instead of allocating new. */ -void Alloc(v8::Handle<v8::Object> obj, size_t length); -void Alloc(v8::Handle<v8::Object> obj, char* data, size_t length); -void Alloc(v8::Handle<v8::Object> obj, - size_t length, - FreeCallback fn, - void* hint); -void Alloc(v8::Handle<v8::Object> obj, - char* data, - size_t length, - FreeCallback fn, - void* hint); +NODE_EXTERN void Alloc(v8::Handle<v8::Object> obj, size_t length); +NODE_EXTERN void Alloc(v8::Handle<v8::Object> obj, char* data, size_t length); +NODE_EXTERN void Alloc(v8::Handle<v8::Object> obj, + size_t length, + FreeCallback fn, + void* hint); +NODE_EXTERN void Alloc(v8::Handle<v8::Object> obj, + char* data, + size_t length, + FreeCallback fn, + void* hint); /** * Free memory associated with an externally allocated object. If no external * memory is allocated to the object then nothing will happen. */ -void AllocDispose(v8::Handle<v8::Object> obj); +NODE_EXTERN void AllocDispose(v8::Handle<v8::Object> obj); } // namespace smalloc |