12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /*********************************************************************
- * 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_
|