diff --git a/Userland/Libraries/LibGUI/FileTypeFilter.h b/Userland/Libraries/LibGUI/FileTypeFilter.h index 144ed765a3..2eefa1dc03 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) }; +} + +}