24 lines
836 B
Zig
24 lines
836 B
Zig
const std = @import("std");
|
|
const readInt = @import("./readInt.zig").readInt;
|
|
const readByte = @import("./readByte.zig").readByte;
|
|
const QDateTime = @import("../types/QVariant.zig").QDateTime;
|
|
|
|
pub fn readQDateTime(reader: anytype) !QDateTime {
|
|
//std.debug.print("read: readQDateTime\n", .{});
|
|
return QDateTime{
|
|
.JulianDay = try readInt(reader),
|
|
.MillisOfDay = try readInt(reader),
|
|
.Zone = try readByte(reader),
|
|
};
|
|
}
|
|
|
|
test "deserialize QDateTime" {
|
|
var bytes = &[_]u8{ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x02 };
|
|
var fBS = std.io.fixedBufferStream(bytes);
|
|
|
|
var qdatetime = try readQDateTime(fBS.reader());
|
|
try std.testing.expect(qdatetime.JulianDay == 0x01);
|
|
try std.testing.expect(qdatetime.MillisOfDay == 0x01);
|
|
try std.testing.expect(qdatetime.Zone == 0x02);
|
|
}
|