/* * Copyright (c) 2024, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include namespace Web::HTML { void FileFilter::add_filter(FilterType filter) { if (!filters.contains_slow(filter)) filters.append(move(filter)); } } template<> ErrorOr IPC::encode(Encoder& encoder, Web::HTML::FileFilter::MimeType const& mime_type) { TRY(encoder.encode(mime_type.value)); return {}; } template<> ErrorOr IPC::decode(Decoder& decoder) { auto value = TRY(decoder.decode()); return Web::HTML::FileFilter::MimeType { move(value) }; } template<> ErrorOr IPC::encode(Encoder& encoder, Web::HTML::FileFilter::Extension const& extension) { TRY(encoder.encode(extension.value)); return {}; } template<> ErrorOr IPC::decode(Decoder& decoder) { auto value = TRY(decoder.decode()); return Web::HTML::FileFilter::Extension { move(value) }; } template<> ErrorOr IPC::encode(Encoder& encoder, Web::HTML::FileFilter const& filter) { TRY(encoder.encode(filter.filters)); return {}; } template<> ErrorOr IPC::decode(Decoder& decoder) { auto filters = TRY(decoder.decode>()); return Web::HTML::FileFilter { move(filters) }; }