|
7 | 7 |
|
8 | 8 | struct uv_loop_s; // Forward declaration.
|
9 | 9 |
|
| 10 | +#ifndef NAPI_VERSION |
| 11 | +#ifdef NAPI_EXPERIMENTAL |
| 12 | +// Use INT_MAX, this should only be consumed by the pre-processor anyway. |
| 13 | +#define NAPI_VERSION 2147483647 |
| 14 | +#else |
| 15 | +// The baseline version for N-API |
| 16 | +#define NAPI_VERSION 3 |
| 17 | +#endif |
| 18 | +#endif |
| 19 | + |
10 | 20 | #ifdef _WIN32
|
11 | 21 | #ifdef BUILDING_NODE_EXTENSION
|
12 | 22 | #ifdef EXTERNAL_NAPI
|
@@ -99,19 +109,10 @@ EXTERN_C_START
|
99 | 109 |
|
100 | 110 | NAPI_EXTERN void napi_module_register(napi_module* mod);
|
101 | 111 |
|
102 |
| -NAPI_EXTERN napi_status napi_add_env_cleanup_hook(napi_env env, |
103 |
| - void (*fun)(void* arg), |
104 |
| - void* arg); |
105 |
| -NAPI_EXTERN napi_status napi_remove_env_cleanup_hook(napi_env env, |
106 |
| - void (*fun)(void* arg), |
107 |
| - void* arg); |
108 |
| - |
109 | 112 | NAPI_EXTERN napi_status
|
110 | 113 | napi_get_last_error_info(napi_env env,
|
111 | 114 | const napi_extended_error_info** result);
|
112 | 115 |
|
113 |
| -NAPI_EXTERN napi_status napi_fatal_exception(napi_env env, napi_value err); |
114 |
| - |
115 | 116 | NAPI_EXTERN NAPI_NO_RETURN void napi_fatal_error(const char* location,
|
116 | 117 | size_t location_len,
|
117 | 118 | const char* message,
|
@@ -424,14 +425,6 @@ NAPI_EXTERN napi_status napi_escape_handle(napi_env env,
|
424 | 425 | napi_value escapee,
|
425 | 426 | napi_value* result);
|
426 | 427 |
|
427 |
| -NAPI_EXTERN napi_status napi_open_callback_scope(napi_env env, |
428 |
| - napi_value resource_object, |
429 |
| - napi_async_context context, |
430 |
| - napi_callback_scope* result); |
431 |
| - |
432 |
| -NAPI_EXTERN napi_status napi_close_callback_scope(napi_env env, |
433 |
| - napi_callback_scope scope); |
434 |
| - |
435 | 428 | // Methods to support error handling
|
436 | 429 | NAPI_EXTERN napi_status napi_throw(napi_env env, napi_value error);
|
437 | 430 | NAPI_EXTERN napi_status napi_throw_error(napi_env env,
|
@@ -591,11 +584,38 @@ NAPI_EXTERN napi_status napi_run_script(napi_env env,
|
591 | 584 | napi_value script,
|
592 | 585 | napi_value* result);
|
593 | 586 |
|
| 587 | +#if NAPI_VERSION >= 2 |
| 588 | + |
594 | 589 | // Return the current libuv event loop for a given environment
|
595 | 590 | NAPI_EXTERN napi_status napi_get_uv_event_loop(napi_env env,
|
596 | 591 | struct uv_loop_s** loop);
|
597 | 592 |
|
| 593 | +#endif // NAPI_VERSION >= 2 |
| 594 | + |
| 595 | +#if NAPI_VERSION >= 3 |
| 596 | + |
| 597 | +NAPI_EXTERN napi_status napi_open_callback_scope(napi_env env, |
| 598 | + napi_value resource_object, |
| 599 | + napi_async_context context, |
| 600 | + napi_callback_scope* result); |
| 601 | + |
| 602 | +NAPI_EXTERN napi_status napi_close_callback_scope(napi_env env, |
| 603 | + napi_callback_scope scope); |
| 604 | + |
| 605 | +NAPI_EXTERN napi_status napi_fatal_exception(napi_env env, napi_value err); |
| 606 | + |
| 607 | +NAPI_EXTERN napi_status napi_add_env_cleanup_hook(napi_env env, |
| 608 | + void (*fun)(void* arg), |
| 609 | + void* arg); |
| 610 | + |
| 611 | +NAPI_EXTERN napi_status napi_remove_env_cleanup_hook(napi_env env, |
| 612 | + void (*fun)(void* arg), |
| 613 | + void* arg); |
| 614 | + |
| 615 | +#endif // NAPI_VERSION >= 3 |
| 616 | + |
598 | 617 | #ifdef NAPI_EXPERIMENTAL
|
| 618 | + |
599 | 619 | // Calling into JS from other threads
|
600 | 620 | NAPI_EXTERN napi_status
|
601 | 621 | napi_create_threadsafe_function(napi_env env,
|
@@ -633,6 +653,7 @@ NAPI_EXTERN napi_status
|
633 | 653 | napi_ref_threadsafe_function(napi_env env, napi_threadsafe_function func);
|
634 | 654 |
|
635 | 655 | #endif // NAPI_EXPERIMENTAL
|
| 656 | + |
636 | 657 | EXTERN_C_END
|
637 | 658 |
|
638 | 659 | #endif // SRC_NODE_API_H_
|
0 commit comments