diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-03-04 10:31:34 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-03-04 10:31:34 +0100 |
| commit | 02cad7b5fe6d632738bda1c2610142dccc45ee62 (patch) | |
| tree | fbc8243b8e516e2e4f4d28331e623801de0ed941 /src | |
| parent | 1a85ec5fdb0301b080edb3f7fc4e18785bdfc113 (diff) | |
| download | box64-02cad7b5fe6d632738bda1c2610142dccc45ee62.tar.gz box64-02cad7b5fe6d632738bda1c2610142dccc45ee62.zip | |
Added wrapped libibus and a few other libgtk fixed
Diffstat (limited to 'src')
| -rwxr-xr-x | src/library_list.h | 1 | ||||
| -rwxr-xr-x | src/tools/gtkclass.c | 44 | ||||
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 22 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibibusdefs.h | 8 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibibustypes.h | 33 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibibusundefs.h | 8 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 11 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 5 | ||||
| -rwxr-xr-x | src/wrapped/wrappedglib2.c | 6 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibibus.c | 123 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibibus_private.h | 473 |
11 files changed, 730 insertions, 4 deletions
diff --git a/src/library_list.h b/src/library_list.h index fa492fec..dcc58a2c 100755 --- a/src/library_list.h +++ b/src/library_list.h @@ -145,6 +145,7 @@ GO("libpango-1.0.so", pango) //GO("libnm.so.0", libnm) //GO("libnm-glib.so.4", libnm) //GO("libnm-util.so.2", libnm) +GO("libibus-1.0.so.5", libibus) GO("libfontconfig.so.1", fontconfig) GO("libfreetype.so.6", freetype) GO("libbz2.so.1", bz2) diff --git a/src/tools/gtkclass.c b/src/tools/gtkclass.c index 8359294a..881f5000 100755 --- a/src/tools/gtkclass.c +++ b/src/tools/gtkclass.c @@ -42,6 +42,13 @@ typedef struct sigoffset_array_s { KHASH_MAP_INIT_INT64(sigoffset, sigoffset_array_t) static kh_sigoffset_t *my_sigoffset = NULL; +#define ONCE() \ + static int done = 0;\ + if(done) \ + return; \ + done = 1 + + // ---- Defining the multiple functions now ----- #define SUPER() \ GO(0) \ @@ -171,6 +178,7 @@ static void unwrapGObjectClass(my_GObjectClass_t* class) // autobridge static void bridgeGObjectClass(my_GObjectClass_t* class) { + ONCE(); #define GO(A, W) autobridge_##A##_GObject (W, class->A) SUPERGO() #undef GO @@ -215,6 +223,7 @@ static void unwrapGInitiallyUnownedClass(my_GInitiallyUnownedClass_t* class) // autobridge static void bridgeGInitiallyUnownedClass(my_GInitiallyUnownedClass_t* class) { + ONCE(); #define GO(A, W) autobridge_##A##_GInitiallyUnowned (W, class->A) SUPERGO() #undef GO @@ -250,6 +259,7 @@ static void unwrapGtkObjectClass(my_GtkObjectClass_t* class) // autobridge static void bridgeGtkObjectClass(my_GtkObjectClass_t* class) { + ONCE(); bridgeGObjectClass(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkObject (W, class->A) SUPERGO() @@ -414,6 +424,7 @@ static void unwrapGtkWidget2Class(my_GtkWidget2Class_t* class) // autobridge static void bridgeGtkWidget2Class(my_GtkWidget2Class_t* class) { + ONCE(); bridgeGtkObjectClass(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkWidget2 (W, class->A) SUPERGO() @@ -611,6 +622,7 @@ static void unwrapGtkWidget3Class(my_GtkWidget3Class_t* class) // autobridge static void bridgeGtkWidget3Class(my_GtkWidget3Class_t* class) { + ONCE(); bridgeGInitiallyUnownedClass(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkWidget3 (W, class->A) SUPERGO() @@ -661,6 +673,7 @@ static void unwrapGtkContainer2Class(my_GtkContainer2Class_t* class) // autobridge static void bridgeGtkContainer2Class(my_GtkContainer2Class_t* class) { + ONCE(); bridgeGtkWidget2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkContainer2 (W, class->A) SUPERGO() @@ -713,6 +726,7 @@ static void unwrapGtkContainer3Class(my_GtkContainer3Class_t* class) // autobridge static void bridgeGtkContainer3Class(my_GtkContainer3Class_t* class) { + ONCE(); bridgeGtkWidget3Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkContainer3 (W, class->A) SUPERGO() @@ -757,6 +771,7 @@ static void unwrapGtkActionClass(my_GtkActionClass_t* class) // autobridge static void bridgeGtkActionClass(my_GtkActionClass_t* class) { + ONCE(); bridgeGObjectClass(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkAction (W, class->A) SUPERGO() @@ -779,6 +794,7 @@ static void unwrapGtkMisc2Class(my_GtkMisc2Class_t* class) // autobridge static void bridgeGtkMisc2Class(my_GtkMisc2Class_t* class) { + ONCE(); bridgeGtkWidget2Class(&class->parent_class); } @@ -815,6 +831,7 @@ static void unwrapGtkLabel2Class(my_GtkLabel2Class_t* class) // autobridge static void bridgeGtkLabel2Class(my_GtkLabel2Class_t* class) { + ONCE(); bridgeGtkMisc2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkMisc2 (W, class->A) SUPERGO() @@ -878,6 +895,7 @@ static void unwrapGtkTreeView2Class(my_GtkTreeView2Class_t* class) // autobridge static void bridgeGtkTreeView2Class(my_GtkTreeView2Class_t* class) { + ONCE(); bridgeGtkContainer2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkTreeView2 (W, class->A) SUPERGO() @@ -901,6 +919,7 @@ static void unwrapGtkBin2Class(my_GtkBin2Class_t* class) // autobridge static void bridgeGtkBin2Class(my_GtkBin2Class_t* class) { + ONCE(); bridgeGtkContainer2Class(&class->parent_class); } @@ -941,6 +960,7 @@ static void unwrapGtkWindow2Class(my_GtkWindow2Class_t* class) // autobridge static void bridgeGtkWindow2Class(my_GtkWindow2Class_t* class) { + ONCE(); bridgeGtkBin2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkWindow2 (W, class->A) SUPERGO() @@ -963,6 +983,7 @@ static void unwrapGtkTable2Class(my_GtkTable2Class_t* class) // autobridge static void bridgeGtkTable2Class(my_GtkTable2Class_t* class) { + ONCE(); bridgeGtkContainer2Class(&class->parent_class); } @@ -981,6 +1002,7 @@ static void unwrapGtkFixed2Class(my_GtkFixed2Class_t* class) // autobridge static void bridgeGtkFixed2Class(my_GtkFixed2Class_t* class) { + ONCE(); bridgeGtkContainer2Class(&class->parent_class); } @@ -999,6 +1021,7 @@ static void unwrapMetaFrames2Class(my_MetaFrames2Class_t* class) // autobridge static void bridgeMetaFrames2Class(my_MetaFrames2Class_t* class) { + ONCE(); bridgeGtkWindow2Class(&class->parent_class); } @@ -1031,6 +1054,7 @@ static void unwrapGDBusObjectManagerClientClass(my_GDBusObjectManagerClientClass // autobridge static void bridgeGDBusObjectManagerClientClass(my_GDBusObjectManagerClientClass_t* class) { + ONCE(); bridgeGObjectClass(&class->parent_class); #define GO(A, W) autobridge_##A##_GDBusObjectManagerClient (W, class->A) SUPERGO() @@ -1076,6 +1100,7 @@ static void unwrapGtkButton2Class(my_GtkButton2Class_t* class) // autobridge static void bridgeGtkButton2Class(my_GtkButton2Class_t* class) { + ONCE(); bridgeGtkBin2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkButton2 (W, class->A) SUPERGO() @@ -1113,6 +1138,7 @@ static void unwrapGtkComboBox2Class(my_GtkComboBox2Class_t* class) // autobridge static void bridgeGtkComboBox2Class(my_GtkComboBox2Class_t* class) { + ONCE(); bridgeGtkBin2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkComboBox2 (W, class->A) SUPERGO() @@ -1148,6 +1174,7 @@ static void unwrapGtkToggleButton2Class(my_GtkToggleButton2Class_t* class) // autobridge static void bridgeGtkToggleButton2Class(my_GtkToggleButton2Class_t* class) { + ONCE(); bridgeGtkButton2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkToggleButton2 (W, class->A) SUPERGO() @@ -1183,6 +1210,7 @@ static void unwrapGtkCheckButton2Class(my_GtkCheckButton2Class_t* class) // autobridge static void bridgeGtkCheckButton2Class(my_GtkCheckButton2Class_t* class) { + ONCE(); bridgeGtkToggleButton2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkCheckButton2 (W, class->A) SUPERGO() @@ -1237,6 +1265,7 @@ static void unwrapGtkEntry2Class(my_GtkEntry2Class_t* class) // autobridge static void bridgeGtkEntry2Class(my_GtkEntry2Class_t* class) { + ONCE(); bridgeGtkWidget2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkEntry2 (W, class->A) SUPERGO() @@ -1279,6 +1308,7 @@ static void unwrapGtkSpinButton2Class(my_GtkSpinButton2Class_t* class) // autobridge static void bridgeGtkSpinButton2Class(my_GtkSpinButton2Class_t* class) { + ONCE(); bridgeGtkEntry2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkSpinButton2 (W, class->A) SUPERGO() @@ -1317,6 +1347,7 @@ static void unwrapGtkProgress2Class(my_GtkProgress2Class_t* class) // autobridge static void bridgeGtkProgress2Class(my_GtkProgress2Class_t* class) { + ONCE(); bridgeGtkWidget2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkProgress2 (W, class->A) SUPERGO() @@ -1349,6 +1380,7 @@ static void unwrapGtkProgressBar2Class(my_GtkProgressBar2Class_t* class) // autobridge static void bridgeGtkProgressBar2Class(my_GtkProgressBar2Class_t* class) { + ONCE(); bridgeGtkProgress2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkProgressBar2 (W, class->A) SUPERGO() @@ -1383,6 +1415,7 @@ static void unwrapGtkFrame2Class(my_GtkFrame2Class_t* class) // autobridge static void bridgeGtkFrame2Class(my_GtkFrame2Class_t* class) { + ONCE(); bridgeGtkBin2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkFrame2 (W, class->A) SUPERGO() @@ -1433,6 +1466,7 @@ static void unwrapGtkMenuShell2Class(my_GtkMenuShell2Class_t* class) // autobridge static void bridgeGtkMenuShell2Class(my_GtkMenuShell2Class_t* class) { + ONCE(); bridgeGtkContainer2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkMenuShell2 (W, class->A) SUPERGO() @@ -1465,6 +1499,7 @@ static void unwrapGtkMenuBar2Class(my_GtkMenuBar2Class_t* class) // autobridge static void bridgeGtkMenuBar2Class(my_GtkMenuBar2Class_t* class) { + ONCE(); bridgeGtkMenuShell2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkMenuBar2 (W, class->A) SUPERGO() @@ -1523,6 +1558,7 @@ static void unwrapGtkTextView2Class(my_GtkTextView2Class_t* class) // autobridge static void bridgeGtkTextView2Class(my_GtkTextView2Class_t* class) { + ONCE(); bridgeGtkContainer2Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkTextView2 (W, class->A) SUPERGO() @@ -1583,6 +1619,7 @@ static void unwrapGtkTextView3Class(my_GtkTextView3Class_t* class) // autobridge static void bridgeGtkTextView3Class(my_GtkTextView3Class_t* class) { + ONCE(); bridgeGtkContainer3Class(&class->parent_class); #define GO(A, W) autobridge_##A##_GtkTextView3 (W, class->A) SUPERGO() @@ -1667,6 +1704,7 @@ static void unwrapAtkObjectClass(my_AtkObjectClass_t* class) // autobridge static void bridgeAtkObjectClass(my_AtkObjectClass_t* class) { + ONCE(); bridgeGObjectClass(&class->parent); #define GO(A, W) autobridge_##A##_AtkObject (W, class->A) SUPERGO() @@ -1713,6 +1751,7 @@ static void unwrapAtkUtilClass(my_AtkUtilClass_t* class) // autobridge static void bridgeAtkUtilClass(my_AtkUtilClass_t* class) { + ONCE(); bridgeGObjectClass(&class->parent); #define GO(A, W) autobridge_##A##_AtkUtil (W, class->A) SUPERGO() @@ -1747,6 +1786,7 @@ static void unwrapGstObjectClass(my_GstObjectClass_t* class) // autobridge static void bridgeGstObjectClass(my_GstObjectClass_t* class) { + ONCE(); bridgeGInitiallyUnownedClass(&class->parent); #define GO(A, W) autobridge_##A##_GstObject (W, class->A) SUPERGO() @@ -1783,6 +1823,7 @@ static void unwrapGstAllocatorClass(my_GstAllocatorClass_t* class) // autobridge static void bridgeGstAllocatorClass(my_GstAllocatorClass_t* class) { + ONCE(); bridgeGstObjectClass(&class->parent); #define GO(A, W) autobridge_##A##_GstAllocator (W, class->A) SUPERGO() @@ -1925,7 +1966,8 @@ void* wrapCopyGTKClass(void* klass, size_t type) return klass; } memcpy(newklass, klass, sz); - wrapGTKClass(newklass, type); + //wrapGTKClass(newklass, type); + bridgeGTKClass(newklass, type); return newklass; } diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 631cbec0..0f539550 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -969,6 +969,7 @@ #() pFippi #() pFippu #() pFuiii +#() pFuuii #() pFulli #() pFullu #() pFffff @@ -1710,6 +1711,7 @@ #() vFEpiiipp #() vFEpipppp #() vFEpuipuV +#() vFEppippp #() vFEpppppp #() vFiiiiiip #() vFiiiiuup @@ -1928,6 +1930,7 @@ #() vFEiupippp #() vFEipAippp #() vFEppipppp +#() vFEpppippp #() vFEpppuipV #() vFEpppppuu #() vFiiiiuuip @@ -2061,8 +2064,10 @@ #() vFEpiiiiipp #() vFEpippippV #() vFEpippippA +#() vFEpuuuippp #() vFEppiipppp #() vFEpppiippp +#() vFEppppippp #() vFiiiiiiiii #() vFiiiiiiill #() vFiiiiillli @@ -3403,6 +3408,23 @@ wrappedlibglu: - gluNurbsCallback - gluQuadricCallback - gluTessCallback +wrappedlibibus: +- vFpippp: + - ibus_bus_current_input_context_async + - ibus_bus_get_global_engine_async + - ibus_bus_list_active_engines_async + - ibus_bus_list_engines_async + - ibus_input_context_get_engine_async +- vFppippp: + - ibus_bus_create_input_context_async + - ibus_bus_set_global_engine_async + - ibus_config_get_values_async +- vFpppippp: + - ibus_config_get_value_async +- vFpuuuippp: + - ibus_input_context_process_key_event_async +- vFppppippp: + - ibus_config_set_value_async wrappedlibice: wrappedlibm: - UFV: diff --git a/src/wrapped/generated/wrappedlibibusdefs.h b/src/wrapped/generated/wrappedlibibusdefs.h new file mode 100644 index 00000000..ca32b61d --- /dev/null +++ b/src/wrapped/generated/wrappedlibibusdefs.h @@ -0,0 +1,8 @@ +/******************************************************************* + * File automatically generated by rebuild_wrappers.py (v2.2.0.16) * + *******************************************************************/ +#ifndef __wrappedlibibusDEFS_H_ +#define __wrappedlibibusDEFS_H_ + + +#endif // __wrappedlibibusDEFS_H_ diff --git a/src/wrapped/generated/wrappedlibibustypes.h b/src/wrapped/generated/wrappedlibibustypes.h new file mode 100644 index 00000000..eddf0fd3 --- /dev/null +++ b/src/wrapped/generated/wrappedlibibustypes.h @@ -0,0 +1,33 @@ +/******************************************************************* + * File automatically generated by rebuild_wrappers.py (v2.2.0.16) * + *******************************************************************/ +#ifndef __wrappedlibibusTYPES_H_ +#define __wrappedlibibusTYPES_H_ + +#ifndef LIBNAME +#error You should only #include this file inside a wrapped*.c file +#endif +#ifndef ADDED_FUNCTIONS +#define ADDED_FUNCTIONS() +#endif + +typedef void (*vFpippp_t)(void*, int64_t, void*, void*, void*); +typedef void (*vFppippp_t)(void*, void*, int64_t, void*, void*, void*); +typedef void (*vFpppippp_t)(void*, void*, void*, int64_t, void*, void*, void*); +typedef void (*vFpuuuippp_t)(void*, uint64_t, uint64_t, uint64_t, int64_t, void*, void*, void*); +typedef void (*vFppppippp_t)(void*, void*, void*, void*, int64_t, void*, void*, void*); + +#define SUPER() ADDED_FUNCTIONS() \ + GO(ibus_bus_current_input_context_async, vFpippp_t) \ + GO(ibus_bus_get_global_engine_async, vFpippp_t) \ + GO(ibus_bus_list_active_engines_async, vFpippp_t) \ + GO(ibus_bus_list_engines_async, vFpippp_t) \ + GO(ibus_input_context_get_engine_async, vFpippp_t) \ + GO(ibus_bus_create_input_context_async, vFppippp_t) \ + GO(ibus_bus_set_global_engine_async, vFppippp_t) \ + GO(ibus_config_get_values_async, vFppippp_t) \ + GO(ibus_config_get_value_async, vFpppippp_t) \ + GO(ibus_input_context_process_key_event_async, vFpuuuippp_t) \ + GO(ibus_config_set_value_async, vFppppippp_t) + +#endif // __wrappedlibibusTYPES_H_ diff --git a/src/wrapped/generated/wrappedlibibusundefs.h b/src/wrapped/generated/wrappedlibibusundefs.h new file mode 100644 index 00000000..be0fd236 --- /dev/null +++ b/src/wrapped/generated/wrappedlibibusundefs.h @@ -0,0 +1,8 @@ +/******************************************************************* + * File automatically generated by rebuild_wrappers.py (v2.2.0.16) * + *******************************************************************/ +#ifndef __wrappedlibibusUNDEFS_H_ +#define __wrappedlibibusUNDEFS_H_ + + +#endif // __wrappedlibibusUNDEFS_H_ diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 301a4893..5a3b02d5 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -1003,6 +1003,7 @@ typedef void* (*pFipip_t)(int64_t, void*, int64_t, void*); typedef void* (*pFippi_t)(int64_t, void*, void*, int64_t); typedef void* (*pFippu_t)(int64_t, void*, void*, uint64_t); typedef void* (*pFuiii_t)(uint64_t, int64_t, int64_t, int64_t); +typedef void* (*pFuuii_t)(uint64_t, uint64_t, int64_t, int64_t); typedef void* (*pFulli_t)(uint64_t, intptr_t, intptr_t, int64_t); typedef void* (*pFullu_t)(uint64_t, intptr_t, intptr_t, uint64_t); typedef void* (*pFffff_t)(float, float, float, float); @@ -1744,6 +1745,7 @@ typedef int64_t (*iWpppppu_t)(void*, void*, void*, void*, void*, uint64_t); typedef void (*vFEpiiipp_t)(x64emu_t*, void*, int64_t, int64_t, int64_t, void*, void*); typedef void (*vFEpipppp_t)(x64emu_t*, void*, int64_t, void*, void*, void*, void*); typedef void (*vFEpuipuV_t)(x64emu_t*, void*, uint64_t, int64_t, void*, uint64_t, void*); +typedef void (*vFEppippp_t)(x64emu_t*, void*, void*, int64_t, void*, void*, void*); typedef void (*vFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*); typedef void (*vFiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*); typedef void (*vFiiiiuup_t)(int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*); @@ -1962,6 +1964,7 @@ typedef void (*vFEiippppV_t)(x64emu_t*, int64_t, int64_t, void*, void*, void*, v typedef void (*vFEiupippp_t)(x64emu_t*, int64_t, uint64_t, void*, int64_t, void*, void*, void*); typedef void (*vFEipAippp_t)(x64emu_t*, int64_t, void*, void*, int64_t, void*, void*, void*); typedef void (*vFEppipppp_t)(x64emu_t*, void*, void*, int64_t, void*, void*, void*, void*); +typedef void (*vFEpppippp_t)(x64emu_t*, void*, void*, void*, int64_t, void*, void*, void*); typedef void (*vFEpppuipV_t)(x64emu_t*, void*, void*, void*, uint64_t, int64_t, void*, void*); typedef void (*vFEpppppuu_t)(x64emu_t*, void*, void*, void*, void*, void*, uint64_t, uint64_t); typedef void (*vFiiiiuuip_t)(int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, int64_t, void*); @@ -2095,8 +2098,10 @@ typedef int64_t (*iWpuipuppp_t)(void*, uint64_t, int64_t, void*, uint64_t, void* typedef void (*vFEpiiiiipp_t)(x64emu_t*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, void*, void*); typedef void (*vFEpippippV_t)(x64emu_t*, void*, int64_t, void*, void*, int64_t, void*, void*, void*); typedef void (*vFEpippippA_t)(x64emu_t*, void*, int64_t, void*, void*, int64_t, void*, void*, void*); +typedef void (*vFEpuuuippp_t)(x64emu_t*, void*, uint64_t, uint64_t, uint64_t, int64_t, void*, void*, void*); typedef void (*vFEppiipppp_t)(x64emu_t*, void*, void*, int64_t, int64_t, void*, void*, void*, void*); typedef void (*vFEpppiippp_t)(x64emu_t*, void*, void*, void*, int64_t, int64_t, void*, void*, void*); +typedef void (*vFEppppippp_t)(x64emu_t*, void*, void*, void*, void*, int64_t, void*, void*, void*); typedef void (*vFiiiiiiiii_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t); typedef void (*vFiiiiiiill_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t); typedef void (*vFiiiiillli_t)(int64_t, int64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t, intptr_t, int64_t); @@ -3370,6 +3375,7 @@ void pFipip(x64emu_t *emu, uintptr_t fcn) { pFipip_t fn = (pFipip_t)fcn; R_RAX=( void pFippi(x64emu_t *emu, uintptr_t fcn) { pFippi_t fn = (pFippi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); } void pFippu(x64emu_t *emu, uintptr_t fcn) { pFippu_t fn = (pFippu_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); } void pFuiii(x64emu_t *emu, uintptr_t fcn) { pFuiii_t fn = (pFuiii_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } +void pFuuii(x64emu_t *emu, uintptr_t fcn) { pFuuii_t fn = (pFuuii_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } void pFulli(x64emu_t *emu, uintptr_t fcn) { pFulli_t fn = (pFulli_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (int64_t)R_RCX); } void pFullu(x64emu_t *emu, uintptr_t fcn) { pFullu_t fn = (pFullu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (uint64_t)R_RCX); } void pFffff(x64emu_t *emu, uintptr_t fcn) { pFffff_t fn = (pFffff_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0]); } @@ -4111,6 +4117,7 @@ void iWpppppu(x64emu_t *emu, uintptr_t fcn) { iWpppppu_t fn = (iWpppppu_t)fcn; R void vFEpiiipp(x64emu_t *emu, uintptr_t fcn) { vFEpiiipp_t fn = (vFEpiiipp_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9); } void vFEpipppp(x64emu_t *emu, uintptr_t fcn) { vFEpipppp_t fn = (vFEpipppp_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void vFEpuipuV(x64emu_t *emu, uintptr_t fcn) { vFEpuipuV_t fn = (vFEpuipuV_t)fcn; fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (void*)(R_RSP + 8)); } +void vFEppippp(x64emu_t *emu, uintptr_t fcn) { vFEppippp_t fn = (vFEppippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void vFEpppppp(x64emu_t *emu, uintptr_t fcn) { vFEpppppp_t fn = (vFEpppppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void vFiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } void vFiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFiiiiuup_t fn = (vFiiiiuup_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8)); } @@ -4329,6 +4336,7 @@ void vFEiippppV(x64emu_t *emu, uintptr_t fcn) { vFEiippppV_t fn = (vFEiippppV_t) void vFEiupippp(x64emu_t *emu, uintptr_t fcn) { vFEiupippp_t fn = (vFEiupippp_t)fcn; fn(emu, (int64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void vFEipAippp(x64emu_t *emu, uintptr_t fcn) { vFEipAippp_t fn = (vFEipAippp_t)fcn; fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void vFEppipppp(x64emu_t *emu, uintptr_t fcn) { vFEppipppp_t fn = (vFEppipppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void vFEpppippp(x64emu_t *emu, uintptr_t fcn) { vFEpppippp_t fn = (vFEpppippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void vFEpppuipV(x64emu_t *emu, uintptr_t fcn) { vFEpppuipV_t fn = (vFEpppuipV_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, (void*)(R_RSP + 8)); } void vFEpppppuu(x64emu_t *emu, uintptr_t fcn) { vFEpppppuu_t fn = (vFEpppppuu_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8)); } void vFiiiiuuip(x64emu_t *emu, uintptr_t fcn) { vFiiiiuuip_t fn = (vFiiiiuuip_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } @@ -4462,8 +4470,10 @@ void iWpuipuppp(x64emu_t *emu, uintptr_t fcn) { iWpuipuppp_t fn = (iWpuipuppp_t) void vFEpiiiiipp(x64emu_t *emu, uintptr_t fcn) { vFEpiiiiipp_t fn = (vFEpiiiiipp_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFEpippippV(x64emu_t *emu, uintptr_t fcn) { vFEpippippV_t fn = (vFEpippippV_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), (void*)(R_RSP + 16)); } void vFEpippippA(x64emu_t *emu, uintptr_t fcn) { vFEpippippA_t fn = (vFEpippippA_t)fcn; fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } +void vFEpuuuippp(x64emu_t *emu, uintptr_t fcn) { vFEpuuuippp_t fn = (vFEpuuuippp_t)fcn; fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFEppiipppp(x64emu_t *emu, uintptr_t fcn) { vFEppiipppp_t fn = (vFEppiipppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFEpppiippp(x64emu_t *emu, uintptr_t fcn) { vFEpppiippp_t fn = (vFEpppiippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } +void vFEppppippp(x64emu_t *emu, uintptr_t fcn) { vFEppppippp_t fn = (vFEppppippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiii_t fn = (vFiiiiiiiii_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); } void vFiiiiiiill(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiill_t fn = (vFiiiiiiill_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(intptr_t*)(R_RSP + 24)); } void vFiiiiillli(x64emu_t *emu, uintptr_t fcn) { vFiiiiillli_t fn = (vFiiiiillli_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); } @@ -5576,6 +5586,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFippi) return 1; if (fun == &pFippu) return 1; if (fun == &pFuiii) return 1; + if (fun == &pFuuii) return 1; if (fun == &pFulli) return 1; if (fun == &pFullu) return 1; if (fun == &pFffff) return 5; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index bd0ea250..2b952c25 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -1002,6 +1002,7 @@ void pFipip(x64emu_t *emu, uintptr_t fnc); void pFippi(x64emu_t *emu, uintptr_t fnc); void pFippu(x64emu_t *emu, uintptr_t fnc); void pFuiii(x64emu_t *emu, uintptr_t fnc); +void pFuuii(x64emu_t *emu, uintptr_t fnc); void pFulli(x64emu_t *emu, uintptr_t fnc); void pFullu(x64emu_t *emu, uintptr_t fnc); void pFffff(x64emu_t *emu, uintptr_t fnc); @@ -1743,6 +1744,7 @@ void iWpppppu(x64emu_t *emu, uintptr_t fnc); void vFEpiiipp(x64emu_t *emu, uintptr_t fnc); void vFEpipppp(x64emu_t *emu, uintptr_t fnc); void vFEpuipuV(x64emu_t *emu, uintptr_t fnc); +void vFEppippp(x64emu_t *emu, uintptr_t fnc); void vFEpppppp(x64emu_t *emu, uintptr_t fnc); void vFiiiiiip(x64emu_t *emu, uintptr_t fnc); void vFiiiiuup(x64emu_t *emu, uintptr_t fnc); @@ -1961,6 +1963,7 @@ void vFEiippppV(x64emu_t *emu, uintptr_t fnc); void vFEiupippp(x64emu_t *emu, uintptr_t fnc); void vFEipAippp(x64emu_t *emu, uintptr_t fnc); void vFEppipppp(x64emu_t *emu, uintptr_t fnc); +void vFEpppippp(x64emu_t *emu, uintptr_t fnc); void vFEpppuipV(x64emu_t *emu, uintptr_t fnc); void vFEpppppuu(x64emu_t *emu, uintptr_t fnc); void vFiiiiuuip(x64emu_t *emu, uintptr_t fnc); @@ -2094,8 +2097,10 @@ void iWpuipuppp(x64emu_t *emu, uintptr_t fnc); void vFEpiiiiipp(x64emu_t *emu, uintptr_t fnc); void vFEpippippV(x64emu_t *emu, uintptr_t fnc); void vFEpippippA(x64emu_t *emu, uintptr_t fnc); +void vFEpuuuippp(x64emu_t *emu, uintptr_t fnc); void vFEppiipppp(x64emu_t *emu, uintptr_t fnc); void vFEpppiippp(x64emu_t *emu, uintptr_t fnc); +void vFEppppippp(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiiii(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiill(x64emu_t *emu, uintptr_t fnc); void vFiiiiillli(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedglib2.c b/src/wrapped/wrappedglib2.c index 7b3cccc2..db4104ec 100755 --- a/src/wrapped/wrappedglib2.c +++ b/src/wrapped/wrappedglib2.c @@ -240,7 +240,7 @@ static void* reversePollFct(void* fct) #define GO(A) if((uintptr_t)fct == my_poll_fct_##A) return (void*)my_poll_fct_##A; SUPER() #undef GO - return NULL; + return (void*)AddCheckBridge(my_lib->w.bridge, iFpui, fct, 0, "GPollFunc"); } // GHashFunc ... @@ -601,7 +601,7 @@ static void* reverseGLogFuncFct(void* fct) #define GO(A) if((uintptr_t)fct == my_GLogFunc_fct_##A) return (void*)my_GLogFunc_fct_##A; SUPER() #undef GO - return NULL; + return (void*)AddCheckBridge(my_lib->w.bridge, vFpipp, fct, 0, "GLogFunc"); } // GPrintFunc ... #define GO(A) \ @@ -661,7 +661,7 @@ static void* reverseGOptionArgFct(void* fct) #define GO(A) if((uintptr_t)fct == my_GOptionArg_fct_##A) return (void*)my_GOptionArg_fct_##A; SUPER() #undef GO - return NULL; + return (void*)AddCheckBridge(my_lib->w.bridge, iFpppp, fct, 0, "GOptionArgFunc"); } // GNodeTraverseFunc ... #define GO(A) \ diff --git a/src/wrapped/wrappedlibibus.c b/src/wrapped/wrappedlibibus.c new file mode 100644 index 00000000..95ea0f81 --- /dev/null +++ b/src/wrapped/wrappedlibibus.c @@ -0,0 +1,123 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#define _GNU_SOURCE /* See feature_test_macros(7) */ +#include <dlfcn.h> + +#include "wrappedlibs.h" + +#include "debug.h" +#include "wrapper.h" +#include "bridge.h" +#include "librarian/library_private.h" +#include "x64emu.h" +#include "emu/x64emu_private.h" +#include "callback.h" +#include "librarian.h" +#include "box64context.h" +#include "emu/x64emu_private.h" +#include "myalign.h" + +const char* libibusName = "libibus-1.0.so.5"; +#define LIBNAME libibus + +#define ADDED_FUNCTIONS() \ + +#include "wrappedlibibustypes.h" + +#include "wrappercallback.h" + +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) + +// GAsyncReadyCallback +#define GO(A) \ +static uintptr_t my_GAsyncReadyCallback_fct_##A = 0; \ +static void my_GAsyncReadyCallback_##A(void* source, void* res, void* data) \ +{ \ + RunFunction(my_context, my_GAsyncReadyCallback_fct_##A, 3, source, res, data);\ +} +SUPER() +#undef GO +static void* findGAsyncReadyCallbackFct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_GAsyncReadyCallback_fct_##A == (uintptr_t)fct) return my_GAsyncReadyCallback_##A; + SUPER() + #undef GO + #define GO(A) if(my_GAsyncReadyCallback_fct_##A == 0) {my_GAsyncReadyCallback_fct_##A = (uintptr_t)fct; return my_GAsyncReadyCallback_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libibus GAsyncReadyCallback callback\n"); + return NULL; +} + +#undef SUPER + +EXPORT void my_ibus_bus_create_input_context_async(x64emu_t* emu, void* bus, void* name, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_bus_create_input_context_async(bus, name, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_bus_current_input_context_async(x64emu_t* emu, void* bus, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_bus_current_input_context_async(bus, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_bus_get_global_engine_async(x64emu_t* emu, void* bus, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_bus_get_global_engine_async(bus, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_bus_list_active_engines_async(x64emu_t* emu, void* bus, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_bus_list_active_engines_async(bus, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_bus_list_engines_async(x64emu_t* emu, void* bus, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_bus_list_engines_async(bus, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_bus_set_global_engine_async(x64emu_t* emu, void* bus, void* engine, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_bus_set_global_engine_async(bus, engine, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_config_get_value_async(x64emu_t* emu, void* bus, void* section, void* name, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_config_get_value_async(bus, section, name, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_config_get_values_async(x64emu_t* emu, void* bus, void* section, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_config_get_values_async(bus, section, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_config_set_value_async(x64emu_t* emu, void* bus, void* section, void* name, void* value, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_config_set_value_async(bus, section, name, value, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_input_context_get_engine_async(x64emu_t* emu, void* bus, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_input_context_get_engine_async(bus, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +EXPORT void my_ibus_input_context_process_key_event_async(x64emu_t* emu, void* bus, uint32_t keyval, uint32_t keycode, uint32_t state, int timeout, void* cancel, void* f, void* data) +{ + my->ibus_input_context_process_key_event_async(bus, keyval, keycode, state, timeout, cancel, findGAsyncReadyCallbackFct(f), data); +} + +#define PRE_INIT \ + if(box64_nogtk) \ + return -1; + +#define CUSTOM_INIT \ + setNeededLibs(lib, 3, "libgio-2.0.so.0", "libgobject-2.0.so.0", "libglib-2.0.so.0"); + +#include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibibus_private.h b/src/wrapped/wrappedlibibus_private.h new file mode 100644 index 00000000..35a53927 --- /dev/null +++ b/src/wrapped/wrappedlibibus_private.h @@ -0,0 +1,473 @@ +#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) +#error meh! +#endif + +//GO(ibus_accelerator_name, +//GO(ibus_accelerator_parse, +//GO(ibus_accelerator_valid, +//GO(ibus_attr_background_new, +//GO(ibus_attr_foreground_new, +//GO(ibus_attribute_get_attr_type, +//GO(ibus_attribute_get_end_index, +//GO(ibus_attribute_get_start_index, +//GO(ibus_attribute_get_type, +//GO(ibus_attribute_get_value, +//GO(ibus_attribute_new, +//GO(ibus_attr_list_append, +//GO(ibus_attr_list_get, +//GO(ibus_attr_list_get_type, +//GO(ibus_attr_list_new, +GO(ibus_attr_type_get_type, LFv) +GO(ibus_attr_underline_get_type, LFv) +//GO(ibus_attr_underline_new, +//GO(ibus_bus_add_match, +//GO(ibus_bus_add_match_async, +//GO(ibus_bus_add_match_async_finish, +//GO(ibus_bus_create_input_context, +GOM(ibus_bus_create_input_context_async, vFEppippp) +GO(ibus_bus_create_input_context_async_finish, pFppp) +//GO(ibus_bus_current_input_context, +GOM(ibus_bus_current_input_context_async, vFEpippp) +GO(ibus_bus_current_input_context_async_finish, pFppp) +//GO(ibus_bus_exit, +//GO(ibus_bus_exit_async, +//GO(ibus_bus_exit_async_finish, +GO(ibus_bus_get_config, pFp) +//GO(ibus_bus_get_connection, +GO(ibus_bus_get_engines_by_names, pFpp) +//GO(ibus_bus_get_global_engine, +GOM(ibus_bus_get_global_engine_async, vFEpippp) +GO(ibus_bus_get_global_engine_async_finish, pFppp) +//GO(ibus_bus_get_ibus_property, +//GO(ibus_bus_get_ibus_property_async, +//GO(ibus_bus_get_ibus_property_async_finish, +//GO(ibus_bus_get_name_owner, +//GO(ibus_bus_get_name_owner_async, +//GO(ibus_bus_get_name_owner_async_finish, +//GO(ibus_bus_get_service_name, +//GO(ibus_bus_get_type, +//GO(ibus_bus_get_use_global_engine, +//GO(ibus_bus_get_use_global_engine_async, +//GO(ibus_bus_get_use_global_engine_async_finish, +//GO(ibus_bus_get_use_sys_layout, +//GO(ibus_bus_get_use_sys_layout_async, +//GO(ibus_bus_get_use_sys_layout_async_finish, +GO(ibus_bus_hello, pFp) +GO(ibus_bus_is_connected, iFp) +//GO(ibus_bus_is_global_engine_enabled, +//GO(ibus_bus_is_global_engine_enabled_async, +//GO(ibus_bus_is_global_engine_enabled_async_finish, +//GO(ibus_bus_list_active_engines, +GOM(ibus_bus_list_active_engines_async, vFEpippp) +GO(ibus_bus_list_active_engines_async_finish, pFppp) +//GO(ibus_bus_list_engines, +GOM(ibus_bus_list_engines_async, vFEpippp) +GO(ibus_bus_list_engines_async_finish, pFppp) +//GO(ibus_bus_list_names, +//GO(ibus_bus_list_queued_owners, +GO(ibus_bus_name_flag_get_type, LFv) +//GO(ibus_bus_name_has_owner, +//GO(ibus_bus_name_has_owner_async, +//GO(ibus_bus_name_has_owner_async_finish, +GO(ibus_bus_new, pFv) +//GO(ibus_bus_new_async, +//GO(ibus_bus_new_async_client, +//GO(ibus_bus_preload_engines, +//GO(ibus_bus_preload_engines_async, +//GO(ibus_bus_preload_engines_async_finish, +//GO(ibus_bus_register_component, +//GO(ibus_bus_register_component_async, +//GO(ibus_bus_register_component_async_finish, +//GO(ibus_bus_release_name, +//GO(ibus_bus_release_name_async, +//GO(ibus_bus_release_name_async_finish, +//GO(ibus_bus_remove_match, +//GO(ibus_bus_remove_match_async, +//GO(ibus_bus_remove_match_async_finish, +//GO(ibus_bus_request_name, +//GO(ibus_bus_request_name_async, +//GO(ibus_bus_request_name_async_finish, +GO(ibus_bus_request_name_reply_get_type, LFv) +//GO(ibus_bus_set_global_engine, +GOM(ibus_bus_set_global_engine_async, vFEppippp) +GO(ibus_bus_set_global_engine_async_finish, pFppp) +//GO(ibus_bus_set_ibus_property, +//GO(ibus_bus_set_ibus_property_async, +//GO(ibus_bus_set_ibus_property_async_finish, +GO(ibus_bus_set_watch_dbus_signal, vFpi) +GO(ibus_bus_set_watch_ibus_signal, vFpi) +GO(ibus_bus_start_service_by_name_reply_get_type, LFv) +GO(ibus_capabilite_get_type, LFv) +//GO(ibus_check_algorithmically, +//GO(ibus_component_add_engine, +//GO(ibus_component_add_observed_path, +//GO(ibus_component_check_modification, +//GO(ibus_component_get_author, +//GO(ibus_component_get_description, +//GO(ibus_component_get_engines, +//GO(ibus_component_get_exec, +//GO(ibus_component_get_homepage, +//GO(ibus_component_get_license, +//GO(ibus_component_get_name, +//GO(ibus_component_get_observed_paths, +//GO(ibus_component_get_textdomain, +//GO(ibus_component_get_type, +//GO(ibus_component_get_version, +//GO(ibus_component_new, +//GO(ibus_component_new_from_file, +//GO(ibus_component_new_from_xml_node, +//GO(ibus_component_new_varargs, +//GO(ibus_component_output, +//GO(ibus_component_output_engines, +//GO(ibus_compose_table_check, +//DATA(ibus_compose_table_compact, +//DATA(ibus_compose_table_compact_32bit, +//DATA(ibus_compose_table_compact_32bit_priv, +//GO(ibus_compose_table_compact_check, +//GO(ibus_compose_table_list_add_array, +//GO(ibus_compose_table_list_add_file, +//GO(ibus_compose_table_load_cache, +//GO(ibus_compose_table_new_with_file, +//GO(ibus_compose_table_save_cache, +//GO(ibus_config_get_type, +//GO(ibus_config_get_value, +GOM(ibus_config_get_value_async, vFEpppippp) +GO(ibus_config_get_value_async_finish, pFppp) +//GO(ibus_config_get_values, +GOM(ibus_config_get_values_async, vFEppippp) +GO(ibus_config_get_values_async_finish, pFppp) +//GO(ibus_config_new, +//GO(ibus_config_new_async, +//GO(ibus_config_new_async_finish, +//GO(ibus_config_service_get_type, +//GO(ibus_config_service_new, +//GO(ibus_config_service_value_changed, +//GO(ibus_config_set_value, +GOM(ibus_config_set_value_async, vFEppppippp) +GO(ibus_config_set_value_async_finish, pFppp) +GO(ibus_config_unset, iFppp) +GO(ibus_config_unwatch, iFppp) +GO(ibus_config_watch, iFppp) +//GO(ibus_emoji_data_get_annotations, +//GO(ibus_emoji_data_get_category, +//GO(ibus_emoji_data_get_description, +//GO(ibus_emoji_data_get_emoji, +//GO(ibus_emoji_data_get_type, +//GO(ibus_emoji_data_load, +//GO(ibus_emoji_data_new, +//GO(ibus_emoji_data_save, +//GO(ibus_emoji_data_set_annotations, +//GO(ibus_emoji_data_set_description, +//GO(ibus_emoji_dict_load, +//GO(ibus_emoji_dict_lookup, +//GO(ibus_emoji_dict_save, +//GO(ibus_engine_commit_text, +//GO(ibus_engine_delete_surrounding_text, +GO(ibus_engine_desc_get_author, pFp) +GO(ibus_engine_desc_get_description, pFp) +GO(ibus_engine_desc_get_hotkeys, pFp) +GO(ibus_engine_desc_get_icon, pFp) +GO(ibus_engine_desc_get_icon_prop_key, pFp) +GO(ibus_engine_desc_get_language, pFp) +GO(ibus_engine_desc_get_layout, pFp) +GO(ibus_engine_desc_get_layout_option, pFp) +GO(ibus_engine_desc_get_layout_variant, pFp) +GO(ibus_engine_desc_get_license, pFp) +GO(ibus_engine_desc_get_longname, pFp) +GO(ibus_engine_desc_get_name, pFp) +GO(ibus_engine_desc_get_rank, iFp) +GO(ibus_engine_desc_get_setup, pFp) +GO(ibus_engine_desc_get_symbol, pFp) +GO(ibus_engine_desc_get_textdomain, pFp) +GO(ibus_engine_desc_get_type, pFp) +GO(ibus_engine_desc_get_version, pFp) +//GO(ibus_engine_desc_new, +//GO(ibus_engine_desc_new_from_xml_node, +//GO(ibus_engine_desc_new_varargs, +//GO(ibus_engine_desc_output, +//GO(ibus_engine_forward_key_event, +//GO(ibus_engine_get_content_type, +//GO(ibus_engine_get_name, +//GO(ibus_engine_get_surrounding_text, +//GO(ibus_engine_get_type, +//GO(ibus_engine_hide_auxiliary_text, +//GO(ibus_engine_hide_lookup_table, +//GO(ibus_engine_hide_preedit_text, +//GO(ibus_engine_new, +//GO(ibus_engine_new_with_type, +//GO(ibus_engine_register_properties, +//GO(ibus_engine_show_auxiliary_text, +//GO(ibus_engine_show_lookup_table, +//GO(ibus_engine_show_preedit_text, +//GO(ibus_engine_simple_add_compose_file, +//GO(ibus_engine_simple_add_table, +//GO(ibus_engine_simple_add_table_by_locale, +//GO(ibus_engine_simple_get_type, +//GO(ibus_engine_update_auxiliary_text, +//GO(ibus_engine_update_lookup_table, +//GO(ibus_engine_update_lookup_table_fast, +//GO(ibus_engine_update_preedit_text, +//GO(ibus_engine_update_preedit_text_with_mode, +//GO(ibus_engine_update_property, +GO(ibus_error_get_type, LFv) +//GO(ibus_error_quark, +//GO(ibus_extension_event_get_name, +//GO(ibus_extension_event_get_params, +//GO(ibus_extension_event_get_type, +//GO(ibus_extension_event_get_version, +//GO(ibus_extension_event_is_enabled, +//GO(ibus_extension_event_is_extension, +//GO(ibus_extension_event_new, +//GO(ibus_factory_add_engine, +//GO(ibus_factory_create_engine, +//GO(ibus_factory_get_type, +//GO(ibus_factory_new, +//GO(ibus_free_strv, +//GO(ibus_get_address, +//GO(ibus_get_daemon_uid, +//GO(ibus_get_language_name, +//GO(ibus_get_local_machine_id, +//GO(ibus_get_session_id, +//GO(ibus_get_socket_path, +//GO(ibus_get_timeout, +//GO(ibus_get_untranslated_language_name, +//GO(ibus_get_user_name, +//GO(ibus_hotkey_get_type, +//GO(ibus_hotkey_profile_add_hotkey, +//GO(ibus_hotkey_profile_add_hotkey_from_string, +//GO(ibus_hotkey_profile_filter_key_event, +//GO(ibus_hotkey_profile_get_type, +//GO(ibus_hotkey_profile_lookup_hotkey, +//GO(ibus_hotkey_profile_new, +//GO(ibus_hotkey_profile_remove_hotkey, +//GO(ibus_hotkey_profile_remove_hotkey_by_event, +GO(ibus_init, vFv) +//GO(ibus_input_context_cancel_hand_writing, +//GO(ibus_input_context_cursor_down, +//GO(ibus_input_context_cursor_up, +GO(ibus_input_context_focus_in, vFp) +GO(ibus_input_context_focus_out, vFp) +//GO(ibus_input_context_get_engine, +GOM(ibus_input_context_get_engine_async, vFEpippp) +GO(ibus_input_context_get_engine_async_finish, pFppp) +//GO(ibus_input_context_get_input_context, +//GO(ibus_input_context_get_input_context_async, +//GO(ibus_input_context_get_input_context_async_finish, +//GO(ibus_input_context_get_type, +GO(ibus_input_context_needs_surrounding_text, iFp) +//GO(ibus_input_context_new, +//GO(ibus_input_context_new_async, +//GO(ibus_input_context_new_async_finish, +//GO(ibus_input_context_page_down, +//GO(ibus_input_context_page_up, +//GO(ibus_input_context_process_hand_writing_event, +//GO(ibus_input_context_process_key_event, +GOM(ibus_input_context_process_key_event_async, vFEpuuuippp) +GO(ibus_input_context_process_key_event_async_finish, pFppp) +GO(ibus_input_context_property_activate, vFppu) +//GO(ibus_input_context_property_hide, +//GO(ibus_input_context_property_show, +GO(ibus_input_context_reset, vFp) +GO(ibus_input_context_set_capabilities, vFpu) +//GO(ibus_input_context_set_client_commit_preedit, +GO(ibus_input_context_set_content_type, vFpuu) +GO(ibus_input_context_set_cursor_location, vFpuuuu) +//GO(ibus_input_context_set_cursor_location_relative, +GO(ibus_input_context_set_engine, vFpp) +GO(ibus_input_context_set_surrounding_text, vFppuu) +GO(ibus_input_hints_get_type, LFv) +GO(ibus_input_purpose_get_type, LFv) +//GO(ibus_key_event_from_string, +//GO(ibus_key_event_to_string, +//GO(ibus_keymap_fill, +GO(ibus_keymap_get, pFp) +GO(ibus_keymap_get_type, LFv) +GO(ibus_keymap_lookup_keysym, uFpWu) +//GO(ibus_keymap_new, +//GO(ibus_keysym_to_unicode, +//GO(ibus_keyval_convert_case, +GO(ibus_keyval_from_name, uFp) +GO(ibus_keyval_name, pFu) +//GO(ibus_keyval_to_lower, +GO(ibus_keyval_to_unicode, uFu) +//GO(ibus_keyval_to_upper, +GO(ibus_lookup_table_append_candidate, vFpp) +GO(ibus_lookup_table_append_label, vFpp) +GO(ibus_lookup_table_clear, vFp) +//GO(ibus_lookup_table_cursor_down, +//GO(ibus_lookup_table_cursor_up, +GO(ibus_lookup_table_get_candidate, pFpu) +GO(ibus_lookup_table_get_cursor_in_page, uFp) +GO(ibus_lookup_table_get_cursor_pos, uFp) +GO(ibus_lookup_table_get_label, pFpu) +GO(ibus_lookup_table_get_number_of_candidates, uFp) +GO(ibus_lookup_table_get_orientation, iFp) +GO(ibus_lookup_table_get_page_size, uFp) +//GO(ibus_lookup_table_get_type, +GO(ibus_lookup_table_is_cursor_visible, iFp) +GO(ibus_lookup_table_is_round, iFp) +GO(ibus_lookup_table_new, pFuuii) +//GO(ibus_lookup_table_page_down, +//GO(ibus_lookup_table_page_up, +GO(ibus_lookup_table_set_cursor_pos, vFpu) +GO(ibus_lookup_table_set_cursor_visible, vFpi) +GO(ibus_lookup_table_set_label, vFpup) +GO(ibus_lookup_table_set_orientation, vFpi) +GO(ibus_lookup_table_set_page_size, vFpu) +GO(ibus_lookup_table_set_round, vFpi) +//GO(ibus_main, +GO(ibus_modifier_type_get_type, LFv) +//GO(ibus_object_destroy, +GO(ibus_object_flags_get_type, LFv) +GO(ibus_object_get_type, LFv) +//GO(ibus_object_new, +//GO(ibus_observed_path_check_modification, +//GO(ibus_observed_path_get_type, +//GO(ibus_observed_path_new, +//GO(ibus_observed_path_new_from_xml_node, +//GO(ibus_observed_path_output, +//GO(ibus_observed_path_traverse, +GO(ibus_orientation_get_type, LFv) +//GO(ibus_panel_service_candidate_clicked, +//GO(ibus_panel_service_commit_text, +//GO(ibus_panel_service_cursor_down, +//GO(ibus_panel_service_cursor_up, +//GO(ibus_panel_service_get_type, +//GO(ibus_panel_service_new, +//GO(ibus_panel_service_page_down, +//GO(ibus_panel_service_page_up, +//GO(ibus_panel_service_panel_extension, +//GO(ibus_panel_service_panel_extension_register_keys, +//GO(ibus_panel_service_property_activate, +//GO(ibus_panel_service_property_hide, +//GO(ibus_panel_service_property_show, +//GO(ibus_panel_service_update_auxiliary_text_received, +//GO(ibus_panel_service_update_lookup_table_received, +//GO(ibus_panel_service_update_preedit_text_received, +GO(ibus_preedit_focus_mode_get_type, LFv) +GO(ibus_property_get_icon, pFp) +GO(ibus_property_get_key, pFp) +GO(ibus_property_get_label, pFp) +GO(ibus_property_get_prop_type, iFp) +GO(ibus_property_get_sensitive, iFp) +GO(ibus_property_get_state, iFp) +GO(ibus_property_get_sub_props, pFp) +GO(ibus_property_get_symbol, pFp) +GO(ibus_property_get_tooltip, pFp) +GO(ibus_property_get_type, LFv) +GO(ibus_property_get_visible, iFp) +//GO(ibus_property_new, +//GO(ibus_property_new_varargs, +GO(ibus_property_set_icon, vFpp) +GO(ibus_property_set_label, vFpp) +GO(ibus_property_set_sensitive, vFpi) +GO(ibus_property_set_state, vFpi) +//GO(ibus_property_set_sub_props, +GO(ibus_property_set_symbol, vFpp) +GO(ibus_property_set_tooltip, vFpp) +GO(ibus_property_set_visible, vFpi) +//GO(ibus_property_update, +//GO(ibus_prop_list_append, +GO(ibus_prop_list_get, pFpu) +GO(ibus_prop_list_get_type, LFv) +//GO(ibus_prop_list_new, +//GO(ibus_prop_list_update_property, +GO(ibus_prop_state_get_type, LFv) +GO(ibus_prop_type_get_type, LFv) +//GO(ibus_proxy_destroy, +//GO(ibus_proxy_get_type, +//GO(ibus_quit, +//GO(ibus_registry_check_modification, +//GO(ibus_registry_get_components, +//GO(ibus_registry_get_observed_paths, +//GO(ibus_registry_get_type, +//GO(ibus_registry_load, +//GO(ibus_registry_load_cache, +//GO(ibus_registry_load_cache_file, +//GO(ibus_registry_load_in_dir, +//GO(ibus_registry_new, +//GO(ibus_registry_output, +//GO(ibus_registry_save_cache, +//GO(ibus_registry_save_cache_file, +//GO(ibus_registry_start_monitor_changes, +//GO(ibus_serializable_copy, +//GO(ibus_serializable_deserialize_object, +//GO(ibus_serializable_get_qattachment, +//GO(ibus_serializable_get_type, +//GO(ibus_serializable_new, +//GO(ibus_serializable_remove_qattachment, +//GO(ibus_serializable_serialize_object, +//GO(ibus_serializable_set_qattachment, +//GO(ibus_service_class_add_interfaces, +//GO(ibus_service_emit_signal, +//GO(ibus_service_get_connection, +//GO(ibus_service_get_object_path, +//GO(ibus_service_get_type, +//GO(ibus_service_new, +//GO(ibus_service_register, +//GO(ibus_service_unregister, +//GO(ibus_set_display, +//GO(ibus_set_log_handler, +//GO(ibus_text_append_attribute, +//GO(ibus_text_get_attributes, +//GO(ibus_text_get_is_static, +//GO(ibus_text_get_length, +GO(ibus_text_get_text, pFp) +GO(ibus_text_get_type, LFv) +//GO(ibus_text_new_from_printf, +//GO(ibus_text_new_from_static_string, +GO(ibus_text_new_from_string, pFp) +//GO(ibus_text_new_from_ucs4, +//GO(ibus_text_new_from_unichar, +//GO(ibus_text_set_attributes, +//GO(ibus_unicode_block_get_end, +//GO(ibus_unicode_block_get_name, +//GO(ibus_unicode_block_get_start, +//GO(ibus_unicode_block_get_type, +//GO(ibus_unicode_block_load, +//GO(ibus_unicode_block_new, +//GO(ibus_unicode_block_save, +//GO(ibus_unicode_data_get_alias, +//GO(ibus_unicode_data_get_block_name, +//GO(ibus_unicode_data_get_code, +//GO(ibus_unicode_data_get_name, +//GO(ibus_unicode_data_get_type, +//GO(ibus_unicode_data_load, +//GO(ibus_unicode_data_load_async, +//GO(ibus_unicode_data_new, +//GO(ibus_unicode_data_save, +//GO(ibus_unicode_data_set_block_name, +GO(ibus_unicode_to_keyval, uFu) +//GO(ibus_unset_log_handler, +//GO(ibus_write_address, +//GO(ibus_x_event_get_event_type, +//GO(ibus_x_event_get_group, +//GO(ibus_x_event_get_hardware_keycode, +//GO(ibus_x_event_get_is_modifier, +//GO(ibus_x_event_get_keyval, +//GO(ibus_x_event_get_length, +//GO(ibus_x_event_get_purpose, +//GO(ibus_x_event_get_root, +//GO(ibus_x_event_get_same_screen, +//GO(ibus_x_event_get_send_event, +//GO(ibus_x_event_get_serial, +//GO(ibus_x_event_get_state, +//GO(ibus_x_event_get_string, +//GO(ibus_x_event_get_subwindow, +//GO(ibus_x_event_get_time, +//GO(ibus_x_event_get_type, +//GO(ibus_x_event_get_version, +//GO(ibus_x_event_get_window, +//GO(ibus_x_event_get_x, +//GO(ibus_x_event_get_x_root, +//GO(ibus_x_event_get_y, +//GO(ibus_x_event_get_y_root, +//GO(ibus_x_event_new, +//GO(ibus_xevent_type_get_type, +//GO(ibus_xml_copy, +//GO(ibus_xml_free, +//GO(ibus_xml_get_type, +//GO(ibus_xml_output, +//GO(ibus_xml_parse_buffer, +//GO(ibus_xml_parse_file, + |