12345678910111213141516171819202122232425262728293031 |
- /*
- * Copyright (c) 2023, Bastiaan van der Plaat <bastiaan.v.d.plaat@gmail.com>
- *
- * SPDX-License-Identifier: BSD-2-Clause
- */
- #include "SelectItem.h"
- #include <LibIPC/Decoder.h>
- #include <LibIPC/Encoder.h>
- template<>
- ErrorOr<void> IPC::encode(Encoder& encoder, Web::HTML::SelectItem const& select_item)
- {
- TRY(encoder.encode(select_item.type));
- TRY(encoder.encode(select_item.label));
- TRY(encoder.encode(select_item.value));
- TRY(encoder.encode(select_item.items));
- TRY(encoder.encode(select_item.selected));
- return {};
- }
- template<>
- ErrorOr<Web::HTML::SelectItem> IPC::decode(Decoder& decoder)
- {
- auto type = TRY(decoder.decode<Web::HTML::SelectItem::Type>());
- auto label = TRY(decoder.decode<Optional<String>>());
- auto value = TRY(decoder.decode<Optional<String>>());
- auto items = TRY(decoder.decode<Optional<Vector<Web::HTML::SelectItem>>>());
- auto selected = TRY(decoder.decode<bool>());
- return Web::HTML::SelectItem { type, move(label), move(value), move(items), selected };
- }
|