using MemoryPack;

namespace Insight.Domain.Messages.Agent;

[MemoryPackable]
public partial class Videocard : IMessage
{
    [MemoryPackOrder(0)]
    public string? DeviceId { get; set; }

    [MemoryPackOrder(1)]
    public string? Model { get; set; }

    [MemoryPackOrder(2)]
    public ulong Memory { get; set; }

    [MemoryPackOrder(3)]
    public DateTime DriverDate { get; set; }

    [MemoryPackOrder(4)]
    public string? DriverVersion { get; set; }
}

[MemoryPackable(GenerateType.Collection)]
public partial class VideocardList : List<Videocard>, IMessage { }