refactor: 枚举移入Models目录,命名空间更新为Rainbow.Entity.Models
大石头 authored at 2026-07-02 12:54:58
1.41 KiB
RainbowBridge
using System;

namespace Rainbow.Services;

/// <summary>操作系统适配器接口。各平台实现系统信息采集和功能支持检测</summary>
public interface IOSAdapter
{
    /// <summary>平台名称</summary>
    String Platform { get; }

    /// <summary>获取系统信息</summary>
    SystemInfo GetSystemInfo();

    /// <summary>获取功能支持度字典。key=功能名,value=是否支持</summary>
    Dictionary<String, Boolean> GetCapabilities();

    /// <summary>获取 CPU 使用率(0-100)</summary>
    Double GetCpuUsage();

    /// <summary>获取内存使用率(0-100)</summary>
    Double GetMemoryUsage();

    /// <summary>获取磁盘使用率(0-100)</summary>
    Double GetDiskUsage();

    /// <summary>获取系统运行时间(秒)</summary>
    Int64 GetUptimeSeconds();

    /// <summary>获取网络连接数</summary>
    Int32 GetConnectionCount();
}

/// <summary>系统信息 DTO</summary>
public class SystemInfo
{
    /// <summary>CPU 使用率</summary>
    public Double CpuUsage { get; set; }
    /// <summary>系统运行时间(秒)</summary>
    public Int64 UptimeSeconds { get; set; }
    /// <summary>内存总量(字节)</summary>
    public Int64 MemoryTotal { get; set; }
    /// <summary>已用内存(字节)</summary>
    public Int64 MemoryUsed { get; set; }
    /// <summary>网络连接数</summary>
    public Int32 ConnectionCount { get; set; }
}