/* * Copyright (c) 2026, Shannon Booth * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace IPC { template<> ErrorOr encode(Encoder& encoder, Web::HTML::BroadcastChannelMessage const& message) { TRY(encoder.encode(message.storage_key)); TRY(encoder.encode(message.channel_name)); TRY(encoder.encode(message.source_origin)); TRY(encoder.encode(message.serialized_message)); TRY(encoder.encode(message.source_process_id)); TRY(encoder.encode(message.source_channel_id)); return {}; } template<> ErrorOr decode(Decoder& decoder) { auto storage_key = TRY(decoder.decode()); auto channel_name = TRY(decoder.decode()); auto source_origin = TRY(decoder.decode()); auto serialized_message = TRY(decoder.decode()); auto source_process_id = TRY(decoder.decode()); auto source_channel_id = TRY(decoder.decode()); return Web::HTML::BroadcastChannelMessage { .storage_key = move(storage_key), .channel_name = move(channel_name), .source_origin = move(source_origin), .serialized_message = move(serialized_message), .source_process_id = source_process_id, .source_channel_id = source_channel_id, }; } }