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