Projekt

Obecné

Profil

Stáhnout (3.02 KB) Statistiky
| Větev: | Revize:
1
/*********************************************************************
2
 * NAN - Native Abstractions for Node.js
3
 *
4
 * Copyright (c) 2018 NAN contributors
5
 *
6
 * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
7
 ********************************************************************/
8

    
9
#ifndef NAN_CALLBACKS_H_
10
#define NAN_CALLBACKS_H_
11

    
12
template<typename T> class FunctionCallbackInfo;
13
template<typename T> class PropertyCallbackInfo;
14
template<typename T> class Global;
15

    
16
typedef void(*FunctionCallback)(const FunctionCallbackInfo<v8::Value>&);
17
typedef void(*GetterCallback)
18
    (v8::Local<v8::String>, const PropertyCallbackInfo<v8::Value>&);
19
typedef void(*SetterCallback)(
20
    v8::Local<v8::String>,
21
    v8::Local<v8::Value>,
22
    const PropertyCallbackInfo<void>&);
23
typedef void(*PropertyGetterCallback)(
24
    v8::Local<v8::String>,
25
    const PropertyCallbackInfo<v8::Value>&);
26
typedef void(*PropertySetterCallback)(
27
    v8::Local<v8::String>,
28
    v8::Local<v8::Value>,
29
    const PropertyCallbackInfo<v8::Value>&);
30
typedef void(*PropertyEnumeratorCallback)
31
    (const PropertyCallbackInfo<v8::Array>&);
32
typedef void(*PropertyDeleterCallback)(
33
    v8::Local<v8::String>,
34
    const PropertyCallbackInfo<v8::Boolean>&);
35
typedef void(*PropertyQueryCallback)(
36
    v8::Local<v8::String>,
37
    const PropertyCallbackInfo<v8::Integer>&);
38
typedef void(*IndexGetterCallback)(
39
    uint32_t,
40
    const PropertyCallbackInfo<v8::Value>&);
41
typedef void(*IndexSetterCallback)(
42
    uint32_t,
43
    v8::Local<v8::Value>,
44
    const PropertyCallbackInfo<v8::Value>&);
45
typedef void(*IndexEnumeratorCallback)
46
    (const PropertyCallbackInfo<v8::Array>&);
47
typedef void(*IndexDeleterCallback)(
48
    uint32_t,
49
    const PropertyCallbackInfo<v8::Boolean>&);
50
typedef void(*IndexQueryCallback)(
51
    uint32_t,
52
    const PropertyCallbackInfo<v8::Integer>&);
53

    
54
namespace imp {
55
typedef v8::Local<v8::AccessorSignature> Sig;
56

    
57
static const int kDataIndex =                    0;
58

    
59
static const int kFunctionIndex =                1;
60
static const int kFunctionFieldCount =           2;
61

    
62
static const int kGetterIndex =                  1;
63
static const int kSetterIndex =                  2;
64
static const int kAccessorFieldCount =           3;
65

    
66
static const int kPropertyGetterIndex =          1;
67
static const int kPropertySetterIndex =          2;
68
static const int kPropertyEnumeratorIndex =      3;
69
static const int kPropertyDeleterIndex =         4;
70
static const int kPropertyQueryIndex =           5;
71
static const int kPropertyFieldCount =           6;
72

    
73
static const int kIndexPropertyGetterIndex =     1;
74
static const int kIndexPropertySetterIndex =     2;
75
static const int kIndexPropertyEnumeratorIndex = 3;
76
static const int kIndexPropertyDeleterIndex =    4;
77
static const int kIndexPropertyQueryIndex =      5;
78
static const int kIndexPropertyFieldCount =      6;
79

    
80
}  // end of namespace imp
81

    
82
#if NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION
83
# include "nan_callbacks_12_inl.h"  // NOLINT(build/include)
84
#else
85
# include "nan_callbacks_pre_12_inl.h"  // NOLINT(build/include)
86
#endif
87

    
88
#endif  // NAN_CALLBACKS_H_
(6-6/26)