From 106ad6bb13e03636e0e8285f63c0b1cd46b2c57d Mon Sep 17 00:00:00 2001 From: huttongrabiel Date: Fri, 17 Mar 2023 11:49:20 -0700 Subject: [PATCH] LibGUI: Add IPC encode and decode for FileTypeFilter Allows the use of GUI::FileTypeFilter in IPC. --- Userland/Libraries/LibGUI/FileTypeFilter.h | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Userland/Libraries/LibGUI/FileTypeFilter.h b/Userland/Libraries/LibGUI/FileTypeFilter.h index 144ed765a31..2eefa1dc03c 100644 --- a/Userland/Libraries/LibGUI/FileTypeFilter.h +++ b/Userland/Libraries/LibGUI/FileTypeFilter.h @@ -9,6 +9,8 @@ #include #include #include +#include +#include namespace GUI { @@ -28,3 +30,24 @@ struct FileTypeFilter { }; } + +namespace IPC { + +template<> +inline ErrorOr encode(Encoder& encoder, GUI::FileTypeFilter const& response) +{ + TRY(encoder.encode(response.name)); + TRY(encoder.encode(response.extensions)); + return {}; +} + +template<> +inline ErrorOr decode(Decoder& decoder) +{ + auto name = TRY(decoder.decode()); + auto extensions = TRY(decoder.decode>>()); + + return GUI::FileTypeFilter { move(name), move(extensions) }; +} + +}