Add support for CFFI finalizer
This commit is contained in:
@@ -40,6 +40,8 @@
|
||||
#include <utils/LZMA.h>
|
||||
#include <vm/NekoVM.h>
|
||||
|
||||
DEFINE_KIND (k_finalizer);
|
||||
|
||||
|
||||
namespace lime {
|
||||
|
||||
@@ -168,6 +170,22 @@ namespace lime {
|
||||
}
|
||||
|
||||
|
||||
void lime_cffi_finalizer (value abstract) {
|
||||
|
||||
val_call0 ((value)val_data (abstract));
|
||||
|
||||
}
|
||||
|
||||
|
||||
value lime_cffi_set_finalizer (value callback) {
|
||||
|
||||
value abstract = alloc_abstract (k_finalizer, callback);
|
||||
val_gc (abstract, lime_cffi_finalizer);
|
||||
return abstract;
|
||||
|
||||
}
|
||||
|
||||
|
||||
value lime_clipboard_get_text () {
|
||||
|
||||
if (Clipboard::HasText ()) {
|
||||
@@ -1245,6 +1263,7 @@ namespace lime {
|
||||
DEFINE_PRIME2 (lime_bytes_from_data_pointer);
|
||||
DEFINE_PRIME1 (lime_bytes_get_data_pointer);
|
||||
DEFINE_PRIME1 (lime_bytes_read_file);
|
||||
DEFINE_PRIME1 (lime_cffi_set_finalizer);
|
||||
DEFINE_PRIME0 (lime_clipboard_get_text);
|
||||
DEFINE_PRIME1v (lime_clipboard_set_text);
|
||||
DEFINE_PRIME2 (lime_file_dialog_open_file);
|
||||
|
||||
Reference in New Issue
Block a user