xref: /third_party/node/test/node-api/test_instance_data/addon.c (revision 1cb0ef41)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/node/test/node-api/test_instance_data/
1#include <stdio.h>
2#include <stdlib.h>
3#include <node_api.h>
4
5static void addon_free(napi_env env, void* data, void* hint) {
6  napi_ref* ref = data;
7  napi_delete_reference(env, *ref);
8  free(ref);
9  fprintf(stderr, "addon_free");
10}
11
12napi_value addon_new(napi_env env, napi_value exports, bool ref_first) {
13  napi_ref* ref = malloc(sizeof(*ref));
14  if (ref_first) {
15    napi_create_reference(env, exports, 1, ref);
16    napi_set_instance_data(env, ref, addon_free, NULL);
17  } else {
18    napi_set_instance_data(env, ref, addon_free, NULL);
19    napi_create_reference(env, exports, 1, ref);
20  }
21  return exports;
22}
23

Indexes created Thu Nov 07 10:32:03 CST 2024