genode/repos/os/include
Norman Feske f98c356efd gui_session: manage view ID at the client side
This patch moves the management of view IDs from the server to the
client side. The former 'create_view' and 'create_child_view'
operations do no longer return a view ID but take a view ID as
argument. While changing those operations, this patch takes the
opportunity to allow for initial view attributes. Combined, those
changes simplify the window manager while accommodating typical
client use cases with less code.

To ease the client-side ID management, the Gui::Connection hosts
a 'view_ids' ID space for optional use. E.g., the new 'Top_level_view'
class uses this ID space for ID allocation. This class accommodates the
most typical use case of opening a single window.

The 'alloc_view_id' RPC function is no longer needed.

Issue #5242
2024-08-27 15:29:38 +02:00
..
audio_in_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
audio_out_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
blit Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
block Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
block_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
capture_session os/include: use C++20 function template syntax 2024-05-29 09:18:12 +02:00
decorator gui_session: rename View_handle to View_id 2024-08-27 15:29:38 +02:00
event_session os/include: use C++20 function template syntax 2024-05-29 09:18:12 +02:00
file_system Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
file_system_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
framebuffer_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
genode_c_api usb: session renewal & new client API 2024-04-12 12:57:30 +02:00
gpio Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
gpio_session Gpio::Connection accept a session label 2024-08-27 15:24:20 +02:00
gpu gpu/intel: GEN12+ 2022-11-17 08:00:36 +01:00
gpu_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
gui_session gui_session: manage view ID at the client side 2024-08-27 15:29:38 +02:00
i2c_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
init Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
input Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
input_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
ldso Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
mixer Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
monitor os/include: use C++20 function template syntax 2024-05-29 09:18:12 +02:00
net nic_router: remove use of exception handling 2024-06-20 12:54:31 +02:00
nic Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
nic_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
nitpicker_gfx Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
os Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
packet_stream_rx Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
packet_stream_tx Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
pci os/include: use C++20 function template syntax 2024-05-29 09:18:12 +02:00
pin_control_session os: define CAP_QUOTA as constexpr (C++20) 2023-05-30 12:03:29 +02:00
pin_state_session pin_session: add missing header 2024-07-02 11:59:16 +02:00
platform_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
play_session os: record-and-play session interfaces and mixer 2024-02-28 16:31:45 +01:00
pointer Make util/geometry.h C++20 friendly 2024-06-20 12:54:30 +02:00
ram_fs Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
record_session os: record-and-play session interfaces and mixer 2024-02-28 16:31:45 +01:00
report_rom Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
report_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
rtc_session os: define CAP_QUOTA as constexpr (C++20) 2023-05-30 12:03:29 +02:00
sandbox monitor: apply affinity to monitored children 2023-09-29 12:17:45 +02:00
smbios os/include: use C++20 function template syntax 2024-05-29 09:18:12 +02:00
spec os: limit backtrace to stack of current thread 2024-02-26 08:31:02 +01:00
terminal Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
terminal_session base/signal.h: remove pointers from API 2024-06-20 12:56:19 +02:00
trace Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
uart_session Remove format strings from connection types 2023-03-13 14:32:37 +01:00
uplink_session Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
usb_session usb: correct order of index, value in Alt_setting 2024-08-27 15:29:37 +02:00
util Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
vfs Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00
virtio Replace use of 'typedef' by 'using' 2024-07-02 12:00:11 +02:00