about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/library_list.h3
-rw-r--r--src/wrapped/generated/functions_list.txt7
-rw-r--r--src/wrapped/generated/wrappedayatanaappindicator3defs.h8
-rw-r--r--src/wrapped/generated/wrappedayatanaappindicator3types.h17
-rw-r--r--src/wrapped/generated/wrappedayatanaappindicator3undefs.h8
-rw-r--r--src/wrapped/generated/wrappeddbusmenuglibdefs.h8
-rw-r--r--src/wrapped/generated/wrappeddbusmenuglibtypes.h22
-rw-r--r--src/wrapped/generated/wrappeddbusmenuglibundefs.h8
-rw-r--r--src/wrapped/wrappedayatanaappindicator3.c19
-rw-r--r--src/wrapped/wrappedayatanaappindicator3_private.h45
-rw-r--r--src/wrapped/wrappeddbusmenuglib.c115
-rw-r--r--src/wrapped/wrappeddbusmenuglib_private.h84
12 files changed, 343 insertions, 1 deletions
diff --git a/src/library_list.h b/src/library_list.h
index 5a5d3ec7..c0935775 100644
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -128,10 +128,11 @@ GO("libgthread-2.0.so.0", gthread2)
 //GO("libgstreamer-0.10.so.0", gstreamer010)
 //GO("libgstinterfaces-0.10.so.0", gstinterfaces010)
 //GO("libdbusmenu-gtk.so.4", dbusmenugtk)
-//GO("libdbusmenu-glib.so.4", dbusmenuglib)
+GO("libdbusmenu-glib.so.4", dbusmenuglib)
 GO("libdbus-glib-1.so.2", dbusglib1)
 //GO("libgudev-1.0.so.0", gudev1)
 //GO("libappindicator.so.1", appindicator)
+GO("libayatana-appindicator3.so.1", ayatanaappindicator3)
 GO("libatk-1.0.so.0", atk)
 GO("libatk-bridge-2.0.so.0", atkbridge)
 GO("libatspi.so.0", atspi)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 01b2f668..94d60e02 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -2956,6 +2956,7 @@ wrappedatomic:
 wrappedatspi:
 - pFppp:
   - atspi_event_listener_new
+wrappedayatanaappindicator3:
 wrappedbz2:
 - iFp:
   - BZ2_bzCompressEnd
@@ -3111,6 +3112,12 @@ wrappeddbusglib1:
   - dbus_g_proxy_begin_call
 - pFpppppiiV:
   - dbus_g_proxy_begin_call_with_timeout
+wrappeddbusmenuglib:
+- vFppp:
+  - dbusmenu_menuitem_foreach
+  - dbusmenu_menuitem_send_about_to_show
+- iFppp:
+  - dbusmenu_client_add_type_handler
 wrappedevent21:
 - vFpiwpp:
   - event_set
diff --git a/src/wrapped/generated/wrappedayatanaappindicator3defs.h b/src/wrapped/generated/wrappedayatanaappindicator3defs.h
new file mode 100644
index 00000000..2a648441
--- /dev/null
+++ b/src/wrapped/generated/wrappedayatanaappindicator3defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedayatanaappindicator3DEFS_H_
+#define __wrappedayatanaappindicator3DEFS_H_
+
+
+#endif // __wrappedayatanaappindicator3DEFS_H_
diff --git a/src/wrapped/generated/wrappedayatanaappindicator3types.h b/src/wrapped/generated/wrappedayatanaappindicator3types.h
new file mode 100644
index 00000000..7b6fac00
--- /dev/null
+++ b/src/wrapped/generated/wrappedayatanaappindicator3types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedayatanaappindicator3TYPES_H_
+#define __wrappedayatanaappindicator3TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedayatanaappindicator3TYPES_H_
diff --git a/src/wrapped/generated/wrappedayatanaappindicator3undefs.h b/src/wrapped/generated/wrappedayatanaappindicator3undefs.h
new file mode 100644
index 00000000..2e8c6839
--- /dev/null
+++ b/src/wrapped/generated/wrappedayatanaappindicator3undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappedayatanaappindicator3UNDEFS_H_
+#define __wrappedayatanaappindicator3UNDEFS_H_
+
+
+#endif // __wrappedayatanaappindicator3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappeddbusmenuglibdefs.h b/src/wrapped/generated/wrappeddbusmenuglibdefs.h
new file mode 100644
index 00000000..c595b51b
--- /dev/null
+++ b/src/wrapped/generated/wrappeddbusmenuglibdefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappeddbusmenuglibDEFS_H_
+#define __wrappeddbusmenuglibDEFS_H_
+
+
+#endif // __wrappeddbusmenuglibDEFS_H_
diff --git a/src/wrapped/generated/wrappeddbusmenuglibtypes.h b/src/wrapped/generated/wrappeddbusmenuglibtypes.h
new file mode 100644
index 00000000..9235ed59
--- /dev/null
+++ b/src/wrapped/generated/wrappeddbusmenuglibtypes.h
@@ -0,0 +1,22 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappeddbusmenuglibTYPES_H_
+#define __wrappeddbusmenuglibTYPES_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 (*vFppp_t)(void*, void*, void*);
+typedef int32_t (*iFppp_t)(void*, void*, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(dbusmenu_menuitem_foreach, vFppp_t) \
+	GO(dbusmenu_menuitem_send_about_to_show, vFppp_t) \
+	GO(dbusmenu_client_add_type_handler, iFppp_t)
+
+#endif // __wrappeddbusmenuglibTYPES_H_
diff --git a/src/wrapped/generated/wrappeddbusmenuglibundefs.h b/src/wrapped/generated/wrappeddbusmenuglibundefs.h
new file mode 100644
index 00000000..8e4dbc7b
--- /dev/null
+++ b/src/wrapped/generated/wrappeddbusmenuglibundefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.18) *
+ *******************************************************************/
+#ifndef __wrappeddbusmenuglibUNDEFS_H_
+#define __wrappeddbusmenuglibUNDEFS_H_
+
+
+#endif // __wrappeddbusmenuglibUNDEFS_H_
diff --git a/src/wrapped/wrappedayatanaappindicator3.c b/src/wrapped/wrappedayatanaappindicator3.c
new file mode 100644
index 00000000..82977330
--- /dev/null
+++ b/src/wrapped/wrappedayatanaappindicator3.c
@@ -0,0 +1,19 @@
+#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"
+
+const char* ayatanaappindicator3Name = "libayatana-appindicator3.so.1";
+
+#define LIBNAME ayatanaappindicator3
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedayatanaappindicator3_private.h b/src/wrapped/wrappedayatanaappindicator3_private.h
new file mode 100644
index 00000000..8c76408b
--- /dev/null
+++ b/src/wrapped/wrappedayatanaappindicator3_private.h
@@ -0,0 +1,45 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+GO(app_indicator_build_menu_from_desktop, vFppp)
+GO(app_indicator_category_get_type, pFv)
+GO(app_indicator_get_attention_icon, pFp)
+GO(app_indicator_get_attention_icon_desc, pFp)
+GO(app_indicator_get_category, iFp)
+GO(app_indicator_get_icon, pFp)
+GO(app_indicator_get_icon_desc, pFp)
+GO(app_indicator_get_icon_theme_path, pFp)
+GO(app_indicator_get_id, pFp)
+GO(app_indicator_get_label, pFp)
+GO(app_indicator_get_label_guide, pFp)
+GO(app_indicator_get_menu, pFp)
+GO(app_indicator_get_ordering_index, uFp)
+GO(app_indicator_get_secondary_activate_target, pFp)
+GO(app_indicator_get_status, iFp)
+GO(app_indicator_get_title, pFp)
+GO(app_indicator_get_type, iFv)
+GO(app_indicator_new, pFppi)
+GO(app_indicator_new_with_path, pFppip)
+GO(app_indicator_set_attention_icon, vFpp)
+GO(app_indicator_set_attention_icon_full, vFppp)
+GO(app_indicator_set_icon, vFpp)
+GO(app_indicator_set_icon_full, vFppp)
+GO(app_indicator_set_icon_theme_path, vFpp)
+GO(app_indicator_set_label, vFppp)
+GO(app_indicator_set_menu, vFpp)
+GO(app_indicator_set_ordering_index, vFpu)
+GO(app_indicator_set_secondary_activate_target, vFpp)
+GO(app_indicator_set_status, vFpi)
+GO(app_indicator_set_title, vFpp)
+GO(app_indicator_status_get_type, iFv)
+//GO(_application_service_marshal_VOID__BOOLEAN_STRING_OBJECT, 
+//GO(_application_service_marshal_VOID__INT_INT, 
+//GO(_application_service_marshal_VOID__INT_STRING, 
+//GO(_application_service_marshal_VOID__INT_STRING_STRING, 
+//GO(_application_service_marshal_VOID__INT_UINT, 
+//GO(_application_service_marshal_VOID__STRING_INT_STRING_STRING_STRING_STRING_STRING, 
+//GO(_application_service_marshal_VOID__STRING_STRING, 
+//GO(_generate_id, 
+//DATA(_notification_item, 
+//DATA(_notification_watcher, 
diff --git a/src/wrapped/wrappeddbusmenuglib.c b/src/wrapped/wrappeddbusmenuglib.c
new file mode 100644
index 00000000..dd5f3183
--- /dev/null
+++ b/src/wrapped/wrappeddbusmenuglib.c
@@ -0,0 +1,115 @@
+#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 "callback.h"
+
+#ifdef ANDROID
+    const char* dbusmenuglibName = "libdbusmenu-glib.so";
+#else
+    const char* dbusmenuglibName = "libdbusmenu-glib.so.4";
+#endif
+
+#define LIBNAME dbusmenuglib
+
+#include "generated/wrappeddbusmenuglibtypes.h"
+
+#include "wrappercallback.h"
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)
+
+// DbusmenuClientTypeHandler
+#define GO(A)   \
+static uintptr_t my_DbusmenuClientTypeHandler_fct_##A = 0;                                      \
+static int my_DbusmenuClientTypeHandler_##A(void* a, void* b, void* c, void* d)                 \
+{                                                                                               \
+    return RunFunctionFmt(my_DbusmenuClientTypeHandler_fct_##A, "pppp", a, b, c, d);\
+}
+SUPER()
+#undef GO
+static void* findDbusmenuClientTypeHandlerFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_DbusmenuClientTypeHandler_fct_##A == (uintptr_t)fct) return my_DbusmenuClientTypeHandler_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_DbusmenuClientTypeHandler_fct_##A == 0) {my_DbusmenuClientTypeHandler_fct_##A = (uintptr_t)fct; return my_DbusmenuClientTypeHandler_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for dbusmenuglib DbusmenuClientTypeHandler callback\n");
+    return NULL;
+}
+
+// DbusmenuMenuitem
+#define GO(A)   \
+static uintptr_t my_DbusmenuMenuitem_fct_##A = 0;                       \
+static void my_DbusmenuMenuitem_##A(void* a, void* b)                   \
+{                                                                       \
+    RunFunctionFmt(my_DbusmenuMenuitem_fct_##A, "pp", a, b);\
+}
+SUPER()
+#undef GO
+static void* findDbusmenuMenuitemFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_DbusmenuMenuitem_fct_##A == (uintptr_t)fct) return my_DbusmenuMenuitem_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_DbusmenuMenuitem_fct_##A == 0) {my_DbusmenuMenuitem_fct_##A = (uintptr_t)fct; return my_DbusmenuMenuitem_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for dbusmenuglib DbusmenuMenuitem callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+EXPORT int my_dbusmenu_client_add_type_handler(x64emu_t* emu, void* client, void* type, void* f)
+{
+    (void)emu;
+    return my->dbusmenu_client_add_type_handler(client, type, findDbusmenuClientTypeHandlerFct(f));
+}
+
+EXPORT void my_dbusmenu_menuitem_foreach(x64emu_t* emu, void* mi, void* f, void* data)
+{
+    (void)emu;
+    my->dbusmenu_menuitem_foreach(mi, findDbusmenuMenuitemFct(f), data);
+}
+
+EXPORT void my_dbusmenu_menuitem_send_about_to_show(x64emu_t* emu, void* mi, void* f, void* data)
+{
+    (void)emu;
+    my->dbusmenu_menuitem_send_about_to_show(mi, findDbusmenuMenuitemFct(f), data);
+}
+
+#define PRE_INIT    \
+    if(box64_nogtk) \
+        return -1;
+
+#define CUSTOM_INIT \
+    getMy(lib);     \
+
+#define CUSTOM_FINI \
+    freeMy();
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappeddbusmenuglib_private.h b/src/wrapped/wrappeddbusmenuglib_private.h
new file mode 100644
index 00000000..c7491448
--- /dev/null
+++ b/src/wrapped/wrappeddbusmenuglib_private.h
@@ -0,0 +1,84 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh....
+#endif
+
+//DATA(dbus_menu_clean_xml, 
+GOM(dbusmenu_client_add_type_handler, iFEppp)
+//GO(dbusmenu_client_add_type_handler_full, 
+GO(dbusmenu_client_get_icon_paths, pFp)
+GO(dbusmenu_client_get_root, pFp)
+//GO(dbusmenu_client_get_status, 
+//GO(dbusmenu_client_get_text_direction, 
+GO(dbusmenu_client_get_type, pFv)
+//GO(dbusmenu_client_menuitem_get_type, 
+//GO(dbusmenu_client_menuitem_new, 
+//GO(dbusmenu_client_new, 
+//GO(dbusmenu_client_send_about_to_show, 
+//GO(dbusmenu_client_send_event, 
+//GO(dbusmenu_defaults_default_get, 
+//GO(dbusmenu_defaults_default_get_type, 
+//GO(dbusmenu_defaults_default_set, 
+//GO(dbusmenu_defaults_get_type, 
+//GO(dbusmenu_defaults_ref_default, 
+//GO(dbusmenu_menuitem_build_variant, 
+GO(dbusmenu_menuitem_child_add_position, iFppu)
+GO(dbusmenu_menuitem_child_append, iFpp)
+GO(dbusmenu_menuitem_child_delete, iFpp)
+GO(dbusmenu_menuitem_child_find, pFpi)
+GO(dbusmenu_menuitem_child_prepend, iFpp)
+GO(dbusmenu_menuitem_child_reorder, iFppu)
+//GO(dbusmenu_menuitem_exposed, 
+GO(dbusmenu_menuitem_find_id, pFpi)
+GOM(dbusmenu_menuitem_foreach, vFEppp)
+GO(dbusmenu_menuitem_get_children, pFp)
+GO(dbusmenu_menuitem_get_id, iFp)
+GO(dbusmenu_menuitem_get_parent, pFp)
+GO(dbusmenu_menuitem_get_position, uFpp)
+GO(dbusmenu_menuitem_get_position_realized, uFpp)
+GO(dbusmenu_menuitem_get_root, iFp)
+GO(dbusmenu_menuitem_get_type, iFv)
+GO(dbusmenu_menuitem_handle_event, vFpppu)
+GO(dbusmenu_menuitem_new, pFv)
+GO(dbusmenu_menuitem_new_with_id, pFi)
+GO(dbusmenu_menuitem_properties_copy, pFp)
+GO(dbusmenu_menuitem_properties_list, pFp)
+//GO(dbusmenu_menuitem_properties_variant, 
+GO(dbusmenu_menuitem_property_exist, iFpp)
+GO(dbusmenu_menuitem_property_get, pFpp)
+GO(dbusmenu_menuitem_property_get_bool, iFpp)
+GO(dbusmenu_menuitem_property_get_byte_array, pFppp)
+GO(dbusmenu_menuitem_property_get_int, iFpp)
+GO(dbusmenu_menuitem_property_get_variant, pFpp)
+//GO(dbusmenu_menuitem_property_is_default, 
+GO(dbusmenu_menuitem_property_remove, vFpp)
+GO(dbusmenu_menuitem_property_set, iFppp)
+GO(dbusmenu_menuitem_property_set_bool, iFppi)
+GO(dbusmenu_menuitem_property_set_byte_array, iFpppL)
+GO(dbusmenu_menuitem_property_set_int, iFppi)
+GO(dbusmenu_menuitem_property_set_variant, iFppp)
+GO(dbusmenu_menuitem_proxy_get_type, iFv)
+//GO(dbusmenu_menuitem_proxy_get_wrapped, 
+//GO(dbusmenu_menuitem_proxy_new, 
+//GO(dbusmenu_menuitem_realized, 
+GOM(dbusmenu_menuitem_send_about_to_show, vFEppp)
+//GO(dbusmenu_menuitem_set_parent, 
+//GO(dbusmenu_menuitem_set_realized, 
+GO(dbusmenu_menuitem_set_root, vFpi)
+GO(dbusmenu_menuitem_show_to_user, vFpu)
+GO(dbusmenu_menuitem_take_children, pFp)
+//GO(dbusmenu_menuitem_unparent, 
+GO(dbusmenu_server_get_icon_paths, pFp)
+GO(dbusmenu_server_get_status, iFp)
+GO(dbusmenu_server_get_text_direction, iFp)
+GO(dbusmenu_server_get_type, iFv)
+GO(dbusmenu_server_new, pFp)
+GO(dbusmenu_server_set_icon_paths, vFpp)
+GO(dbusmenu_server_set_root, vFpp)
+GO(dbusmenu_server_set_status, vFpi)
+GO(dbusmenu_server_set_text_direction, vFpi)
+//GO(dbusmenu_status_get_nick, 
+GO(dbusmenu_status_get_type, iFv)
+//GO(dbusmenu_status_get_value_from_nick, 
+//GO(dbusmenu_text_direction_get_nick, 
+//GO(dbusmenu_text_direction_get_type, 
+//GO(dbusmenu_text_direction_get_value_from_nick,