You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
3.0 KiB
88 lines
3.0 KiB
/********************************************************************* |
|
* NAN - Native Abstractions for Node.js |
|
* |
|
* Copyright (c) 2018 NAN contributors |
|
* |
|
* MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md> |
|
********************************************************************/ |
|
|
|
#ifndef NAN_CALLBACKS_H_ |
|
#define NAN_CALLBACKS_H_ |
|
|
|
template<typename T> class FunctionCallbackInfo; |
|
template<typename T> class PropertyCallbackInfo; |
|
template<typename T> class Global; |
|
|
|
typedef void(*FunctionCallback)(const FunctionCallbackInfo<v8::Value>&); |
|
typedef void(*GetterCallback) |
|
(v8::Local<v8::String>, const PropertyCallbackInfo<v8::Value>&); |
|
typedef void(*SetterCallback)( |
|
v8::Local<v8::String>, |
|
v8::Local<v8::Value>, |
|
const PropertyCallbackInfo<void>&); |
|
typedef void(*PropertyGetterCallback)( |
|
v8::Local<v8::String>, |
|
const PropertyCallbackInfo<v8::Value>&); |
|
typedef void(*PropertySetterCallback)( |
|
v8::Local<v8::String>, |
|
v8::Local<v8::Value>, |
|
const PropertyCallbackInfo<v8::Value>&); |
|
typedef void(*PropertyEnumeratorCallback) |
|
(const PropertyCallbackInfo<v8::Array>&); |
|
typedef void(*PropertyDeleterCallback)( |
|
v8::Local<v8::String>, |
|
const PropertyCallbackInfo<v8::Boolean>&); |
|
typedef void(*PropertyQueryCallback)( |
|
v8::Local<v8::String>, |
|
const PropertyCallbackInfo<v8::Integer>&); |
|
typedef void(*IndexGetterCallback)( |
|
uint32_t, |
|
const PropertyCallbackInfo<v8::Value>&); |
|
typedef void(*IndexSetterCallback)( |
|
uint32_t, |
|
v8::Local<v8::Value>, |
|
const PropertyCallbackInfo<v8::Value>&); |
|
typedef void(*IndexEnumeratorCallback) |
|
(const PropertyCallbackInfo<v8::Array>&); |
|
typedef void(*IndexDeleterCallback)( |
|
uint32_t, |
|
const PropertyCallbackInfo<v8::Boolean>&); |
|
typedef void(*IndexQueryCallback)( |
|
uint32_t, |
|
const PropertyCallbackInfo<v8::Integer>&); |
|
|
|
namespace imp { |
|
typedef v8::Local<v8::AccessorSignature> Sig; |
|
|
|
static const int kDataIndex = 0; |
|
|
|
static const int kFunctionIndex = 1; |
|
static const int kFunctionFieldCount = 2; |
|
|
|
static const int kGetterIndex = 1; |
|
static const int kSetterIndex = 2; |
|
static const int kAccessorFieldCount = 3; |
|
|
|
static const int kPropertyGetterIndex = 1; |
|
static const int kPropertySetterIndex = 2; |
|
static const int kPropertyEnumeratorIndex = 3; |
|
static const int kPropertyDeleterIndex = 4; |
|
static const int kPropertyQueryIndex = 5; |
|
static const int kPropertyFieldCount = 6; |
|
|
|
static const int kIndexPropertyGetterIndex = 1; |
|
static const int kIndexPropertySetterIndex = 2; |
|
static const int kIndexPropertyEnumeratorIndex = 3; |
|
static const int kIndexPropertyDeleterIndex = 4; |
|
static const int kIndexPropertyQueryIndex = 5; |
|
static const int kIndexPropertyFieldCount = 6; |
|
|
|
} // end of namespace imp |
|
|
|
#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION |
|
# include "nan_callbacks_12_inl.h" // NOLINT(build/include) |
|
#else |
|
# include "nan_callbacks_pre_12_inl.h" // NOLINT(build/include) |
|
#endif |
|
|
|
#endif // NAN_CALLBACKS_H_
|
|
|