mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 06:57:45 +00:00
LibCore+LibIPC: Add IPC coder for Core::DateTime
Since LibCore cannot depend on LibIPC, the coders are defined in LibIPC just like they are for Core::AnonymousBuffer.
This commit is contained in:
parent
99e1d8a359
commit
6e10c2cdb7
3 changed files with 27 additions and 0 deletions
|
@ -27,6 +27,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <AK/String.h>
|
#include <AK/String.h>
|
||||||
|
#include <LibIPC/Forward.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
namespace Core {
|
namespace Core {
|
||||||
|
@ -70,3 +71,10 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace IPC {
|
||||||
|
|
||||||
|
bool encode(IPC::Encoder&, const Core::DateTime&);
|
||||||
|
bool decode(IPC::Decoder&, Core::DateTime&);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <AK/MemoryStream.h>
|
#include <AK/MemoryStream.h>
|
||||||
#include <AK/URL.h>
|
#include <AK/URL.h>
|
||||||
#include <LibCore/AnonymousBuffer.h>
|
#include <LibCore/AnonymousBuffer.h>
|
||||||
|
#include <LibCore/DateTime.h>
|
||||||
#include <LibIPC/Decoder.h>
|
#include <LibIPC/Decoder.h>
|
||||||
#include <LibIPC/Dictionary.h>
|
#include <LibIPC/Dictionary.h>
|
||||||
#include <LibIPC/File.h>
|
#include <LibIPC/File.h>
|
||||||
|
@ -205,4 +206,14 @@ bool decode(Decoder& decoder, Core::AnonymousBuffer& buffer)
|
||||||
return buffer.is_valid();
|
return buffer.is_valid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool decode(Decoder& decoder, Core::DateTime& datetime)
|
||||||
|
{
|
||||||
|
i64 timestamp = -1;
|
||||||
|
if (!decoder.decode(timestamp))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
datetime = Core::DateTime::from_timestamp(static_cast<time_t>(timestamp));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include <AK/String.h>
|
#include <AK/String.h>
|
||||||
#include <AK/URL.h>
|
#include <AK/URL.h>
|
||||||
#include <LibCore/AnonymousBuffer.h>
|
#include <LibCore/AnonymousBuffer.h>
|
||||||
|
#include <LibCore/DateTime.h>
|
||||||
#include <LibIPC/Dictionary.h>
|
#include <LibIPC/Dictionary.h>
|
||||||
#include <LibIPC/Encoder.h>
|
#include <LibIPC/Encoder.h>
|
||||||
#include <LibIPC/File.h>
|
#include <LibIPC/File.h>
|
||||||
|
@ -180,4 +181,11 @@ bool encode(Encoder& encoder, const Core::AnonymousBuffer& buffer)
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool encode(Encoder& encoder, const Core::DateTime& datetime)
|
||||||
|
{
|
||||||
|
encoder << static_cast<i64>(datetime.timestamp());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue