mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 17:00:19 +02:00
LibraryForwarding/wayland: Add more method signatures
This commit is contained in:
1 parent
a691c3cd99
commit
18360d4ccb
2 files changed
+28
No files matched your search
@@ -124,6 +124,8 @@ extern "C" int wl_proxy_add_listener(wl_proxy* proxy, void (**callback)(void), v
|
||||
} else if (signature == "ii") {
|
||||
// E.g. xdg_toplevel::configure_bounds
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'i', 'i'>(callback[i]);
|
||||
} else if (signature == "iu") {
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'i', 'u'>(callback[i]);
|
||||
} else if (signature == "iia") {
|
||||
// E.g. xdg_toplevel::configure
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'i', 'i', 'a'>(callback[i]);
|
||||
@@ -142,6 +144,8 @@ extern "C" int wl_proxy_add_listener(wl_proxy* proxy, void (**callback)(void), v
|
||||
} else if (signature == "uff") {
|
||||
// E.g. wl_pointer_listener::motion
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'f', 'f'>(callback[i]);
|
||||
} else if (signature == "uffff") {
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'f', 'f', 'f', 'f'>(callback[i]);
|
||||
} else if (signature == "uhu") {
|
||||
// E.g. wl_keyboard_listener::keymap
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'h', 'u'>(callback[i]);
|
||||
@@ -154,6 +158,8 @@ extern "C" int wl_proxy_add_listener(wl_proxy* proxy, void (**callback)(void), v
|
||||
} else if (signature == "uiii") {
|
||||
// E.g. wl_output_listener::mode
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'i', 'i', 'i'>(callback[i]);
|
||||
} else if (signature == "uiiii") {
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'i', 'i', 'i', 'i'>(callback[i]);
|
||||
} else if (signature == "uo") {
|
||||
// E.g. wl_pointer_listener::leave
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'o'>(callback[i]);
|
||||
@@ -166,6 +172,10 @@ extern "C" int wl_proxy_add_listener(wl_proxy* proxy, void (**callback)(void), v
|
||||
} else if (signature == "uoffo") {
|
||||
// E.g. wl_data_device_listener::enter
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'o', 'f', 'f', 'o'>(callback[i]);
|
||||
} else if (signature == "us") {
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 's'>(callback[i]);
|
||||
} else if (signature == "uss") {
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 's', 's'>(callback[i]);
|
||||
} else if (signature == "usu") {
|
||||
// E.g. wl_registry::global
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 's', 'u'>(callback[i]);
|
||||
@@ -181,6 +191,8 @@ extern "C" int wl_proxy_add_listener(wl_proxy* proxy, void (**callback)(void), v
|
||||
} else if (signature == "uuoiff") {
|
||||
// E.g. wl_touch_listener::down
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'u', 'o', 'i', 'f', 'f'>(callback[i]);
|
||||
} else if (signature == "uuou") {
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'u', 'o', 'u'>(callback[i]);
|
||||
} else if (signature == "uuu") {
|
||||
// E.g. zwp_linux_dmabuf_v1::modifier
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'u', 'u'>(callback[i]);
|
||||
@@ -193,6 +205,8 @@ extern "C" int wl_proxy_add_listener(wl_proxy* proxy, void (**callback)(void), v
|
||||
} else if (signature == "s") {
|
||||
// E.g. wl_seat::name
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'s'>(callback[i]);
|
||||
} else if (signature == "ss") {
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'s', 's'>(callback[i]);
|
||||
} else if (signature == "sii") {
|
||||
// E.g. zwp_text_input_v3::preedit_string
|
||||
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'s', 'i', 'i'>(callback[i]);
|
||||
|
||||
@@ -352,6 +352,8 @@ fexfn_impl_libwayland_client_wl_proxy_add_listener(struct wl_proxy* proxy, guest
|
||||
} else if (signature == "ii") {
|
||||
// E.g. xdg_toplevel::configure_bounds
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'i', 'i'>(callback);
|
||||
} else if (signature == "iu") {
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'i', 'u'>(callback);
|
||||
} else if (signature == "iia") {
|
||||
// E.g. xdg_toplevel::configure
|
||||
FEX::HLE::FinalizeHostTrampolineForGuestFunction((FEX::HLE::HostToGuestTrampolinePtr*)callback,
|
||||
@@ -371,6 +373,8 @@ fexfn_impl_libwayland_client_wl_proxy_add_listener(struct wl_proxy* proxy, guest
|
||||
} else if (signature == "uff") {
|
||||
// E.g. wl_pointer_listener::motion
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'f', 'f'>(callback);
|
||||
} else if (signature == "uffff") {
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'f', 'f', 'f', 'f'>(callback);
|
||||
} else if (signature == "uhu") {
|
||||
// E.g. wl_keyboard_listener::keymap
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'h', 'u'>(callback);
|
||||
@@ -383,6 +387,8 @@ fexfn_impl_libwayland_client_wl_proxy_add_listener(struct wl_proxy* proxy, guest
|
||||
} else if (signature == "uiii") {
|
||||
// E.g. wl_output_listener::mode
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'i', 'i', 'i'>(callback);
|
||||
} else if (signature == "uiiii") {
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'i', 'i', 'i', 'i'>(callback);
|
||||
} else if (signature == "uo") {
|
||||
// E.g. wl_pointer_listener::leave
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'o'>(callback);
|
||||
@@ -396,6 +402,10 @@ fexfn_impl_libwayland_client_wl_proxy_add_listener(struct wl_proxy* proxy, guest
|
||||
} else if (signature == "uoffo") {
|
||||
// E.g. wl_data_device_listener::enter
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'o', 'f', 'f', 'o'>(callback);
|
||||
} else if (signature == "us") {
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 's'>(callback);
|
||||
} else if (signature == "uss") {
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 's', 's'>(callback);
|
||||
} else if (signature == "usu") {
|
||||
// E.g. wl_registry::global
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 's', 'u'>(callback);
|
||||
@@ -411,6 +421,8 @@ fexfn_impl_libwayland_client_wl_proxy_add_listener(struct wl_proxy* proxy, guest
|
||||
} else if (signature == "uuoiff") {
|
||||
// E.g. wl_touch_listener::down
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'u', 'o', 'i', 'f', 'f'>(callback);
|
||||
} else if (signature == "uuou") {
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'u', 'o', 'u'>(callback);
|
||||
} else if (signature == "uuu") {
|
||||
// E.g. zwp_linux_dmabuf_v1::modifier
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'u', 'u', 'u'>(callback);
|
||||
@@ -426,6 +438,8 @@ fexfn_impl_libwayland_client_wl_proxy_add_listener(struct wl_proxy* proxy, guest
|
||||
} else if (signature == "sii") {
|
||||
// E.g. zwp_text_input_v3::preedit_string
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'s', 'i', 'i'>(callback);
|
||||
} else if (signature == "ss") {
|
||||
WaylandFinalizeHostTrampolineForGuestListener<'s', 's'>(callback);
|
||||
} else {
|
||||
fprintf(stderr, "TODO: Unknown wayland event signature descriptor %s\n", signature.data());
|
||||
std::abort();
|
||||
|
||||
Reference in new issue
Block a user