Files
ladybird/Services/ImageDecoder/ImageDecoderServer.ipc
Aliaksandr Kalenik 3bea3908b2 LibIPC+LibWeb+LibWebView+Services: Add IPC::TransportHandle
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.
2026-03-12 20:32:55 +01:00

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)
}