#pragma once #include #ifdef __cplusplus extern "C" { #endif // -- Constants uint32_t waylean_SIGINT(void); uint32_t waylean_SIGUSR1(void); uint32_t waylean_SIGUSR2(void); // -- Display lean_obj_res waylean_display_new(b_lean_obj_arg name); // -- Event Loop lean_obj_res waylean_event_loop_new (void); lean_obj_res waylean_event_loop_add_display(b_lean_obj_arg event_loop, b_lean_obj_arg display); lean_obj_res waylean_event_loop_add_timer (b_lean_obj_arg event_loop, uint32_t delay_ms, b_lean_obj_arg message); lean_obj_res waylean_event_loop_add_signal (b_lean_obj_arg event_loop, uint32_t signum, b_lean_obj_arg message); lean_obj_res waylean_event_loop_remove (b_lean_obj_arg event_loop, b_lean_obj_arg source); lean_obj_res waylean_event_loop_quit (b_lean_obj_arg event_loop); lean_obj_res waylean_event_loop_poll (b_lean_obj_arg event_loop); // -- Type Map lean_obj_res waylean_type_map_new (void); lean_obj_res waylean_type_map_contains(b_lean_obj_arg type_map, b_lean_obj_arg iface_name); lean_obj_res waylean_type_map_register(b_lean_obj_arg type_map, b_lean_obj_arg iface_desc); // -- Argument Buffer lean_obj_res waylean_argument_buffer_new (void); lean_obj_res waylean_argument_buffer_write_int (b_lean_obj_arg writer, int32_t value); lean_obj_res waylean_argument_buffer_write_uint (b_lean_obj_arg writer, uint32_t value); lean_obj_res waylean_argument_buffer_write_fixed (b_lean_obj_arg writer, float value); lean_obj_res waylean_argument_buffer_write_string(b_lean_obj_arg writer, b_lean_obj_arg value); lean_obj_res waylean_argument_buffer_write_object(b_lean_obj_arg writer, b_lean_obj_arg value); lean_obj_res waylean_argument_buffer_write_new_id(b_lean_obj_arg writer, b_lean_obj_arg value); lean_obj_res waylean_argument_buffer_write_array (b_lean_obj_arg writer, b_lean_obj_arg value); lean_obj_res waylean_argument_buffer_write_fd (b_lean_obj_arg writer, int32_t value); lean_obj_res waylean_argument_buffer_read_int (b_lean_obj_arg reader); lean_obj_res waylean_argument_buffer_read_uint (b_lean_obj_arg reader); lean_obj_res waylean_argument_buffer_read_fixed (b_lean_obj_arg reader); lean_obj_res waylean_argument_buffer_read_string (b_lean_obj_arg reader); lean_obj_res waylean_argument_buffer_read_object (b_lean_obj_arg reader); lean_obj_res waylean_argument_buffer_read_new_id (b_lean_obj_arg reader); lean_obj_res waylean_argument_buffer_read_array (b_lean_obj_arg reader); lean_obj_res waylean_argument_buffer_read_fd (b_lean_obj_arg reader); // -- Proxy lean_obj_res waylean_proxy_from_display(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_buffer); lean_obj_res waylean_proxy_listen (b_lean_obj_arg proxy, lean_obj_arg handler); #ifdef __cplusplus } #endif