about summary refs log tree commit diff stats
path: root/src/tools
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-05-28 18:31:05 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-05-28 18:31:05 +0200
commitec9447ad5fbd6a818633e7b347f589a1da973b8b (patch)
tree3194ef2ec6dc38dba2ab74ff0338e7aa3ae24407 /src/tools
parent26b01d56f59bc17f48044ce79fbea41a7e2439cb (diff)
downloadbox64-ec9447ad5fbd6a818633e7b347f589a1da973b8b.tar.gz
box64-ec9447ad5fbd6a818633e7b347f589a1da973b8b.zip
Added GstTaskPoll to gtkclass wrapping
Diffstat (limited to 'src/tools')
-rwxr-xr-xsrc/tools/gtkclass.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/tools/gtkclass.c b/src/tools/gtkclass.c
index e647f7b1..c41674e6 100755
--- a/src/tools/gtkclass.c
+++ b/src/tools/gtkclass.c
@@ -2398,6 +2398,49 @@ static void bridgeGstAllocatorClass(my_GstAllocatorClass_t* class)
 
 #undef SUPERGO
 
+// ----- GstTaskPoolClass ------
+// wrapper x86 -> natives of callbacks
+WRAPPER(GstTaskPool, prepare, void,  (void* pool, void* error), "pp", pool, error);
+WRAPPER(GstTaskPool, cleanup, void,  (void* pool), "p", pool);
+WRAPPER(GstTaskPool, push, void*,    (void* pool, void* func, void* user_data, void* error), "pppp", pool, AddCheckBridge(my_bridge, vFp, func, 0, NULL), user_data, error);
+WRAPPER(GstTaskPool, join, void,     (void* pool, void* id), "pp", pool, id);
+WRAPPER(GstTaskPool, dispose_handle, void, (void* pool, void* id), "pp", pool, id);
+
+#define SUPERGO()               \
+    GO(prepare, vFpp);          \
+    GO(cleanup, vFp);           \
+    GO(push, pFpppp);           \
+    GO(join, vFpp);             \
+    GO(dispose_handle, vFpp);   \
+
+// wrap (so bridge all calls, just in case)
+static void wrapGstTaskPoolClass(my_GstTaskPoolClass_t* class)
+{
+    wrapGstObjectClass(&class->parent_class);
+    #define GO(A, W) class->A = reverse_##A##_GstTaskPool (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+// unwrap (and use callback if not a native call anymore)
+static void unwrapGstTaskPoolClass(my_GstTaskPoolClass_t* class)
+{
+    unwrapGstObjectClass(&class->parent_class);
+    #define GO(A, W)   class->A = find_##A##_GstTaskPool (class->A)
+    SUPERGO()
+    #undef GO
+}
+// autobridge
+static void bridgeGstTaskPoolClass(my_GstTaskPoolClass_t* class)
+{
+    bridgeGstObjectClass(&class->parent_class);
+    #define GO(A, W) autobridge_##A##_GstTaskPool (W, class->A)
+    SUPERGO()
+    #undef GO
+}
+
+#undef SUPERGO
+
+
 // No more wrap/unwrap
 #undef WRAPPER
 #undef FIND