diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2026-03-13 20:49:22 +0100 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2026-03-13 20:49:22 +0100 |
| commit | 0b7ad07db1be69f75ca9b469fd6210c64ba87dd5 (patch) | |
| tree | fbdd654ce723d60972d8d6a6f7aca668fe921ab9 /lib/CWayland | |
| parent | ad2c02141844d48e9c50a05f5ce872db283751ce (diff) | |
outline proxy api
Diffstat (limited to 'lib/CWayland')
| -rw-r--r-- | lib/CWayland/CWayland.cc | 22 | ||||
| -rw-r--r-- | lib/CWayland/CWayland.h | 44 |
2 files changed, 62 insertions, 4 deletions
diff --git a/lib/CWayland/CWayland.cc b/lib/CWayland/CWayland.cc index 57da46a..cf1687a 100644 --- a/lib/CWayland/CWayland.cc +++ b/lib/CWayland/CWayland.cc @@ -808,4 +808,26 @@ lean_obj_res waylean_type_map_register(b_lean_obj_arg map_obj, b_lean_obj_arg if auto map = static_cast<type_map*>(lean_get_external_data(map_obj)); map->register_iface(iface_desc); return lean_io_result_mk_ok(lean_box(0)); +} + +// -- Proxy + +// Proxy.fromDisplay : (display : @& Display) → IO Proxy +lean_obj_res waylean_proxy_from_display(b_lean_obj_arg display) +{ +} + +// Proxy.new : (factory : @& Proxy) → (typeMap : @& TypeMap) → (ifaceName : @& String) → IO Proxy +lean_obj_res waylean_proxy_new(b_lean_obj_arg factory, b_lean_obj_arg type_map, b_lean_obj_arg iface_name) +{ +} + +// Proxy.send : (proxy : @& Proxy) → (opcode : UInt32) → (argumentWriter : @& ArgumentWriter) → IO Unit +lean_obj_res waylean_proxy_send(b_lean_obj_arg proxy, uint32_t opcode, b_lean_obj_arg argument_writer) +{ +} + +// Proxy.listen : (proxy : @& Proxy) → (handler : @& UInt32 → ArgumentReader → EventLoop M × M) → IO Unit +lean_obj_res waylean_proxy_listen(b_lean_obj_arg proxy, b_lean_obj_arg handler) +{ }
\ No newline at end of file diff --git a/lib/CWayland/CWayland.h b/lib/CWayland/CWayland.h index 6c8e002..e0bcfa2 100644 --- a/lib/CWayland/CWayland.h +++ b/lib/CWayland/CWayland.h @@ -15,8 +15,7 @@ uint32_t waylean_SIGUSR2(void); // -- Display -lean_obj_res waylean_display_new (b_lean_obj_arg name); -lean_obj_res waylean_display_roundtrip(b_lean_obj_arg display); +lean_obj_res waylean_display_new(b_lean_obj_arg name); // -- Event Loop @@ -44,9 +43,46 @@ lean_obj_res waylean_type_map_register(b_lean_obj_arg type_map, // -- Proxy -// -- Argument Marshaller +lean_obj_res waylean_proxy_from_display(b_lean_obj_arg display); +lean_obj_res waylean_proxy_new (b_lean_obj_arg factory, + b_lean_obj_arg type_map, + b_lean_obj_arg iface_name); +lean_obj_res waylean_proxy_send (b_lean_obj_arg proxy, + uint32_t opcode, + b_lean_obj_arg argument_writer); +lean_obj_res waylean_proxy_listen (b_lean_obj_arg proxy, + b_lean_obj_arg handler); -// -- Argument Demarshaller +// -- Argument Writer + +lean_obj_res waylean_argument_writer_new (void); +lean_obj_res waylean_argument_writer_write_int (b_lean_obj_arg writer, + int32_t value); +lean_obj_res waylean_argument_writer_write_uint (b_lean_obj_arg writer, + uint32_t value); +lean_obj_res waylean_argument_writer_write_fixed (b_lean_obj_arg writer, + float value); +lean_obj_res waylean_argument_writer_write_string(b_lean_obj_arg writer, + b_lean_obj_arg value); +lean_obj_res waylean_argument_writer_write_object(b_lean_obj_arg writer, + b_lean_obj_arg value); +lean_obj_res waylean_argument_writer_write_new_id(b_lean_obj_arg writer, + b_lean_obj_arg value); +lean_obj_res waylean_argument_writer_write_array (b_lean_obj_arg writer, + b_lean_obj_arg value); +lean_obj_res waylean_argument_writer_write_fd (b_lean_obj_arg writer, + int32_t value); + +// -- Argument Reader + +lean_obj_res waylean_argument_reader_read_int (b_lean_obj_arg reader); +lean_obj_res waylean_argument_reader_read_uint (b_lean_obj_arg reader); +lean_obj_res waylean_argument_reader_read_fixed (b_lean_obj_arg reader); +lean_obj_res waylean_argument_reader_read_string(b_lean_obj_arg reader); +lean_obj_res waylean_argument_reader_read_object(b_lean_obj_arg reader); +lean_obj_res waylean_argument_reader_read_new_id(b_lean_obj_arg reader); +lean_obj_res waylean_argument_reader_read_array (b_lean_obj_arg reader); +lean_obj_res waylean_argument_reader_read_fd (b_lean_obj_arg reader); #ifdef __cplusplus } |
