mirror of
https://github.com/Ylianst/MeshAgent
synced 2025-12-10 13:23:41 +00:00
Added CreateFinalizerEx, where you can specify 'singleton' which clears any previously defined finalizers
This commit is contained in:
@@ -574,9 +574,10 @@ duk_ret_t ILibDuktape_IndependentFinalizer_Dispatch(duk_context *ctx)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ILibDuktape_CreateFinalizer(duk_context *ctx, duk_c_function func)
|
||||
void ILibDuktape_CreateFinalizerEx(duk_context *ctx, duk_c_function func, int singleton)
|
||||
{
|
||||
ILibDuktape_EventEmitter_Create(ctx);
|
||||
ILibDuktape_EventEmitter *e = ILibDuktape_EventEmitter_Create(ctx);
|
||||
if (singleton != 0) { ILibDuktape_EventEmitter_RemoveAllListeners(e, "~"); }
|
||||
ILibDuktape_EventEmitter_PrependOnce(ctx, -1, "~", func);
|
||||
}
|
||||
duk_ret_t ILibDuktape_CreateProperty_InstanceMethod_Sink(duk_context *ctx)
|
||||
|
||||
@@ -107,7 +107,8 @@ void ILibDuktape_CreateProperty_InstanceMethod(duk_context *ctx, char *methodNam
|
||||
void ILibDuktape_CreateProperty_InstanceMethodEx(duk_context *ctx, char *methodName, void *funcHeapPtr);
|
||||
void ILibDuktape_CreateReadonlyProperty(duk_context *ctx, char *propName);
|
||||
#define ILibDuktape_CreateReadonlyProperty_int(ctx, propName, propValue) duk_push_int(ctx, propValue);ILibDuktape_CreateReadonlyProperty(ctx, propName)
|
||||
void ILibDuktape_CreateFinalizer(duk_context *ctx, duk_c_function func);
|
||||
void ILibDuktape_CreateFinalizerEx(duk_context *ctx, duk_c_function func, int singleton);
|
||||
#define ILibDuktape_CreateFinalizer(ctx, func) ILibDuktape_CreateFinalizerEx(ctx, func, 0)
|
||||
|
||||
void *ILibDuktape_Memory_Alloc(duk_context *ctx, duk_size_t size);
|
||||
void *ILibDuktape_Memory_AllocEx(duk_context *ctx, duk_idx_t index, duk_size_t size);
|
||||
|
||||
Reference in New Issue
Block a user