mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 09:57:35 +00:00
LibIPC: Add a built-in encoder/decoder for AK::Time
This commit is contained in:
parent
8eeedce805
commit
1858163d3c
4 changed files with 20 additions and 0 deletions
|
@ -62,6 +62,13 @@ ErrorOr<JsonValue> decode(Decoder& decoder)
|
|||
return JsonValue::from_string(json);
|
||||
}
|
||||
|
||||
template<>
|
||||
ErrorOr<Time> decode(Decoder& decoder)
|
||||
{
|
||||
auto nanoseconds = TRY(decoder.decode<i64>());
|
||||
return AK::Time::from_nanoseconds(nanoseconds);
|
||||
}
|
||||
|
||||
template<>
|
||||
ErrorOr<URL> decode(Decoder& decoder)
|
||||
{
|
||||
|
|
|
@ -87,6 +87,9 @@ ErrorOr<ByteBuffer> decode(Decoder&);
|
|||
template<>
|
||||
ErrorOr<JsonValue> decode(Decoder&);
|
||||
|
||||
template<>
|
||||
ErrorOr<Time> decode(Decoder&);
|
||||
|
||||
template<>
|
||||
ErrorOr<URL> decode(Decoder&);
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <AK/JsonObject.h>
|
||||
#include <AK/JsonValue.h>
|
||||
#include <AK/NumericLimits.h>
|
||||
#include <AK/Time.h>
|
||||
#include <AK/URL.h>
|
||||
#include <LibCore/AnonymousBuffer.h>
|
||||
#include <LibCore/DateTime.h>
|
||||
|
@ -73,6 +74,12 @@ ErrorOr<void> encode(Encoder& encoder, JsonValue const& value)
|
|||
return encoder.encode(value.serialized<StringBuilder>());
|
||||
}
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder& encoder, Time const& value)
|
||||
{
|
||||
return encoder.encode(value.to_nanoseconds());
|
||||
}
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder& encoder, URL const& value)
|
||||
{
|
||||
|
|
|
@ -118,6 +118,9 @@ ErrorOr<void> encode(Encoder&, ByteBuffer const&);
|
|||
template<>
|
||||
ErrorOr<void> encode(Encoder&, JsonValue const&);
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder&, Time const&);
|
||||
|
||||
template<>
|
||||
ErrorOr<void> encode(Encoder&, URL const&);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue