1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 06:17:34 +00:00

SpiceAgent: Implement ClipboardRequest messages

This commit is contained in:
Caoimhe 2023-05-13 13:44:10 +01:00 committed by Andreas Kling
parent 8202f13169
commit 9c4538a9a8
3 changed files with 50 additions and 0 deletions

View file

@ -85,4 +85,30 @@ ErrorOr<String> ClipboardGrabMessage::debug_description()
return builder.to_string();
}
ErrorOr<ClipboardRequestMessage> ClipboardRequestMessage::read_from_stream(AK::Stream& stream)
{
auto value = TRY(stream.read_value<u32>());
if (value >= to_underlying(ClipboardDataType::__End)) {
return Error::from_string_literal("Unsupported clipboard type");
}
auto type = static_cast<ClipboardDataType>(value);
return ClipboardRequestMessage(type);
}
ErrorOr<void> ClipboardRequestMessage::write_to_stream(AK::Stream& stream)
{
TRY(stream.write_value(data_type()));
return {};
}
ErrorOr<String> ClipboardRequestMessage::debug_description()
{
StringBuilder builder;
TRY(builder.try_append("ClipboardRequest { "sv));
TRY(builder.try_appendff("data_type = {}", data_type()));
TRY(builder.try_append(" }"sv));
return builder.to_string();
}
}