about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2023-12-28 20:26:17 +0800
committerGitHub <noreply@github.com>2023-12-28 13:26:17 +0100
commitee0b86c0c2102c26d0ba66bffde1da0585c85f7e (patch)
tree74a7f5148864eb011ce3dc877f4cea214633492b /src
parent7ea2e1bf51d14b5d426f4050b2fd1afa190281f4 (diff)
downloadbox64-ee0b86c0c2102c26d0ba66bffde1da0585c85f7e.tar.gz
box64-ee0b86c0c2102c26d0ba66bffde1da0585c85f7e.zip
[WRAPPER] Added 4 more wrapped glib2 functions (for #1175) (#1176)
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt3
-rw-r--r--src/wrapped/generated/wrappedgobject2types.h3
-rw-r--r--src/wrapped/wrappedgobject2.c15
-rw-r--r--src/wrapped/wrappedgobject2_private.h8
4 files changed, 25 insertions, 4 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index f8a5b667..2d64d4d7 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -3589,6 +3589,7 @@ wrappedgobject2:
   - g_object_class_install_properties
 - vFppp:
   - g_closure_add_finalize_notifier
+  - g_closure_remove_finalize_notifier
   - g_object_weak_ref
   - g_signal_override_class_handler
 - vFppV:
@@ -3604,6 +3605,8 @@ wrappedgobject2:
 - pFLpA:
   - g_object_new_valist
 - pFppp:
+  - g_cclosure_new
+  - g_cclosure_new_swap
   - g_value_array_sort_with_data
 - pFppV:
   - g_object_connect
diff --git a/src/wrapped/generated/wrappedgobject2types.h b/src/wrapped/generated/wrappedgobject2types.h
index 2f4b66ce..6132c6d1 100644
--- a/src/wrapped/generated/wrappedgobject2types.h
+++ b/src/wrapped/generated/wrappedgobject2types.h
@@ -53,6 +53,7 @@ typedef uint32_t (*uFpLippppLuA_t)(void*, uintptr_t, int32_t, void*, void*, void
 	GO(g_type_add_interface_static, vFLLp_t) \
 	GO(g_object_class_install_properties, vFpup_t) \
 	GO(g_closure_add_finalize_notifier, vFppp_t) \
+	GO(g_closure_remove_finalize_notifier, vFppp_t) \
 	GO(g_object_weak_ref, vFppp_t) \
 	GO(g_signal_override_class_handler, vFppp_t) \
 	GO(g_object_get, vFppV_t) \
@@ -62,6 +63,8 @@ typedef uint32_t (*uFpLippppLuA_t)(void*, uintptr_t, int32_t, void*, void*, void
 	GO(g_boxed_type_register_static, LFppp_t) \
 	GO(g_object_new, pFLpV_t) \
 	GO(g_object_new_valist, pFLpA_t) \
+	GO(g_cclosure_new, pFppp_t) \
+	GO(g_cclosure_new_swap, pFppp_t) \
 	GO(g_value_array_sort_with_data, pFppp_t) \
 	GO(g_object_connect, pFppV_t) \
 	GO(g_signal_emit, vFpuuV_t) \
diff --git a/src/wrapped/wrappedgobject2.c b/src/wrapped/wrappedgobject2.c
index 6a30df4c..a6ff1a51 100644
--- a/src/wrapped/wrappedgobject2.c
+++ b/src/wrapped/wrappedgobject2.c
@@ -890,11 +890,26 @@ EXPORT void my_g_closure_set_marshal(x64emu_t* emu, void* closure, void* marshal
     my->g_closure_set_marshal(closure, findMarshalFct(marshal));
 }
 
+EXPORT void* my_g_cclosure_new(x64emu_t* emu, void* callback, void* data, void* destroy)
+{
+    my->g_cclosure_new(findGCallbackFct(callback), data, findGClosureNotify_Fct(destroy));
+}
+
+EXPORT void* my_g_cclosure_new_swap(x64emu_t* emu, void* callback, void* data, void* destroy)
+{
+    my->g_cclosure_new_swap(findGCallbackFct(callback), data, findGClosureNotify_Fct(destroy));
+}
+
 EXPORT void my_g_closure_add_finalize_notifier(x64emu_t* emu, void* closure, void* data, void* f)
 {
     my->g_closure_add_finalize_notifier(closure, data, findGClosureNotify_Fct(f));
 }
 
+EXPORT void my_g_closure_remove_finalize_notifier(x64emu_t* emu, void* closure, void* data, void* f)
+{
+    my->g_closure_remove_finalize_notifier(closure, data, findGClosureNotify_Fct(f));
+}
+
 EXPORT void* my_g_type_value_table_peek(x64emu_t* emu, size_t type)
 {
     return findFreeGTypeValueTable(my->g_type_value_table_peek(type));
diff --git a/src/wrapped/wrappedgobject2_private.h b/src/wrapped/wrappedgobject2_private.h
index 3eb648b6..fcf4c5ca 100644
--- a/src/wrapped/wrappedgobject2_private.h
+++ b/src/wrapped/wrappedgobject2_private.h
@@ -66,10 +66,10 @@ DATA(g_cclosure_marshal_VOID__VARIANT, sizeof(void*))
 DATA(g_cclosure_marshal_VOID__VARIANTv, sizeof(void*))
 DATA(g_cclosure_marshal_VOID__VOID, sizeof(void*))
 DATA(g_cclosure_marshal_VOID__VOIDv, sizeof(void*))
-//GO(g_cclosure_new, 
+GOM(g_cclosure_new, pFEppp)
 //GO(g_cclosure_new_object, 
 //GO(g_cclosure_new_object_swap, 
-//GO(g_cclosure_new_swap, 
+GOM(g_cclosure_new_swap, pFEppp)
 //GO(g_checksum_get_type, 
 GO(g_clear_object, vFp)
 GOM(g_closure_add_finalize_notifier, vFEppp)
@@ -81,12 +81,12 @@ GOM(g_closure_add_finalize_notifier, vFEppp)
 //GO(g_closure_new_object, 
 GO(g_closure_new_simple, pFup)
 //GO(g_closure_ref, 
-//GO(g_closure_remove_finalize_notifier, 
+GOM(g_closure_remove_finalize_notifier, vFEppp)
 //GO(g_closure_remove_invalidate_notifier, 
 GOM(g_closure_set_marshal, vFEpp)
 //GO(g_closure_set_meta_marshal, 
 //GO(g_closure_sink, 
-//GO(g_closure_unref, 
+GO(g_closure_unref, pFp)
 GO(g_date_get_type, LFv)
 GO(g_date_time_get_type, LFv)
 GO(g_enum_complete_type_info, vFLpp)