mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 00:42:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * 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 };
 | |
| }
 | 
