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);