using System; namespace AuroraDesk.Core.Entities; /// /// 表示 Plink 会话的当前状态 /// public enum PlinkSessionStatus { Disconnected = 0, Connecting = 1, Connected = 2, Error = 3 } /// /// 表示 Plink 消息的方向 /// public enum PlinkMessageDirection { Outgoing, Incoming, System } /// /// Plink 消息模型,包含消息内容与元数据 /// public sealed record PlinkMessage( Guid SessionId, PlinkMessageDirection Direction, string Content, DateTime Timestamp, bool IsError = false); /// /// 创建 Plink 会话所需的参数 /// public sealed record PlinkSessionOptions( string Host, int Port, string UserName, string? Password = null, string? PrivateKeyPath = null, string? DisplayName = null, string? AdditionalArguments = null, string? PlinkExecutablePath = null, bool AllowAnyHostKey = true); /// /// Plink 会话的简要信息 /// public sealed record PlinkSessionInfo( Guid SessionId, string DisplayName, string Host, int Port, string UserName, PlinkSessionStatus Status, DateTime CreatedAtUtc);