using MemoryPack;

namespace Insight.Agent.Messages
{
    [MemoryPackUnion(80, typeof(SystemInfo))]
    public partial interface IAgentMessage { }

    [MemoryPackable]
    public partial class SystemInfo : IAgentMessage
    {
        [MemoryPackOrder(0)]
        public DateTime? LastBootUpTime { get; set; }

        [MemoryPackOrder(1)]
        public DateTime? LocalDateTime { get; set; }

        [MemoryPackOrder(2)]
        public uint? Processes { get; set; }

        [MemoryPackOrder(3)]
        public string? License { get; set; }
    }
}