mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-25 17:25:08 +02:00
Add IPC::TransportHandle as an abstraction for passing IPC transports through .ipc messages. This replaces IPC::File at all sites where a transport (not a generic file) is being transferred between processes. TransportHandle provides from_transport(), clone_from_transport(), and create_transport() methods that encapsulate the fd-to-socket-to-transport conversion in one place. This is preparatory work for Mach port support on macOS -- when that lands, only TransportHandle's internals need to change while all .ipc definitions and call sites remain untouched.
15 lines
536 B
Plaintext
15 lines
536 B
Plaintext
#include <LibCore/AnonymousBuffer.h>
|
|
#include <LibIPC/TransportHandle.h>
|
|
|
|
endpoint ImageDecoderServer
|
|
{
|
|
init_transport(int peer_pid) => (int peer_pid)
|
|
decode_image(Core::AnonymousBuffer data, Optional<Gfx::IntSize> ideal_size, Optional<ByteString> mime_type, i64 request_id) =|
|
|
cancel_decoding(i64 request_id) =|
|
|
|
|
request_animation_frames(i64 session_id, u32 start_frame_index, u32 count) =|
|
|
stop_animation_decode(i64 session_id) =|
|
|
|
|
connect_new_clients(size_t count) => (Vector<IPC::TransportHandle> handles)
|
|
}
|