This commit is contained in:
2023-01-15 15:04:00 +03:00
parent 4649373a3d
commit d3171a1164
20 changed files with 1018 additions and 3 deletions

View File

@@ -0,0 +1,59 @@
using anbs_cp.Enums;
using anbs_cp.Interfaces.OsInfos;
namespace anbs_cp.Classes.OsInfos;
/// <summary>
/// Информация о дисках
/// </summary>
public class OsDriveInfo : IOsDriveInfo
{
/// <summary>
/// Конструктор
/// </summary>
public OsDriveInfo()
{
Type = EDriveType.DtHardDisc;
Caption = null;
Description = null;
DeviceId = null;
Name = null;
Model = null;
TotalSize = 0;
}
/// <summary>
/// Тип диска
/// </summary>
public EDriveType Type { get; set; }
/// <summary>
/// Заголовок
/// </summary>
public string? Caption { get; set; }
/// <summary>
/// Описание
/// </summary>
public string? Description { get; set; }
/// <summary>
/// Идентификатор устройства
/// </summary>
public string? DeviceId { get; set; }
/// <summary>
/// Имя устройства
/// </summary>
public string? Name { get; set; }
/// <summary>
/// Модель
/// </summary>
public string? Model { get; set; }
/// <summary>
/// Общий размер
/// </summary>
public ulong TotalSize { get; set; }
}

View File

@@ -0,0 +1,39 @@
using anbs_cp.Interfaces.OsInfos;
namespace anbs_cp.Classes.OsInfos;
/// <summary>
/// Информация об интернет-соединении
/// </summary>
public sealed class OsNetInfo: IOsNetInfo
{
/// <summary>
/// Заголовок
/// </summary>
public string? Caption { get => Name; set => _ = value; }
/// <summary>
/// Описание
/// </summary>
public string? Description { get; set; }
/// <summary>
/// Идентификатор устройства
/// </summary>
public string? DeviceId { get => Name; set => _ = value; }
/// <summary>
/// Имя устройства
/// </summary>
public string? Name { get; set; }
/// <summary>
/// IP-адрес
/// </summary>
public string? IPAddress { get; set; }
/// <summary>
/// MAC-адрес
/// </summary>
public string? MacAddress { get; set; }
}

View File

@@ -0,0 +1,64 @@
using anbs_cp.Interfaces.OsInfos;
namespace anbs_cp.Classes.OsInfos;
/// <summary>
/// Класс информации о процессоре
/// </summary>
public sealed class OsProcessorInfo : IOsProcessorInfo
{
/// <summary>
/// Конструктор
/// </summary>
public OsProcessorInfo()
{
Caption = null;
Description = null;
DeviceId = null;
Manufacturer = null;
MaxClockSpeed = 0;
Name = null;
NumberOfCores = 0;
NumberOfLogicalProcessors = 0;
}
/// <summary>
/// Заголовок
/// </summary>
public string? Caption { get; set; }
/// <summary>
/// Описание
/// </summary>
public string? Description { get; set; }
/// <summary>
/// Идентификатор процессора в системе
/// </summary>
public string? DeviceId { get; set; }
/// <summary>
/// Производитель
/// </summary>
public string? Manufacturer { get; set; }
/// <summary>
/// Максимальная тактовая частота
/// </summary>
public int MaxClockSpeed { get; set; }
/// <summary>
/// Имя процессора
/// </summary>
public string? Name { get; set; }
/// <summary>
/// Число ядер
/// </summary>
public int NumberOfCores { get; set; }
/// <summary>
/// Число потоков
/// </summary>
public int NumberOfLogicalProcessors { get; set; }
}

View File

@@ -0,0 +1,82 @@
using anbs_cp.Interfaces.OsInfos;
namespace anbs_cp.Classes.OsInfos;
/// <summary>
/// Информация о видеокарте
/// </summary>
internal sealed class OsVideoAdapterInfo : IOsVideoAdapterInfo
{
/// <summary>
/// Конструктор
/// </summary>
public OsVideoAdapterInfo()
{
AdapterRAM = 0;
Caption = null;
CurrentResolution = (0, 0);
Description = null;
DeviceId = null;
DriverDate = null;
DriverVersion = null;
InstalledDisplayDrivers = null;
Name = null;
SystemName = null;
VideoProcessor = null;
}
/// <summary>
/// Память
/// </summary>
public int AdapterRAM { get; set; }
/// <summary>
/// Заголовок
/// </summary>
public string? Caption { get; set; }
/// <summary>
/// Текущее разрешение
/// </summary>
public (int, int) CurrentResolution { get; set; }
/// <summary>
/// Описание
/// </summary>
public string? Description { get; set; }
/// <summary>
/// Идентификатор устройства
/// </summary>
public string? DeviceId { get; set; }
/// <summary>
/// Дата установки драйвера
/// </summary>
public string? DriverDate { get; set; }
/// <summary>
/// Версия драйвера
/// </summary>
public string? DriverVersion { get; set; }
/// <summary>
/// Название драйверов
/// </summary>
public string? InstalledDisplayDrivers { get; set; }
/// <summary>
/// Имя
/// </summary>
public string? Name { get; set; }
/// <summary>
/// Имя в системе
/// </summary>
public string? SystemName { get; set; }
/// <summary>
/// Видео процессор
/// </summary>
public string? VideoProcessor { get; set; }
}

View File

@@ -0,0 +1,62 @@
using anbs_cp.Interfaces.OsInfos;
namespace anbs_cp.Classes.OsInfos;
/// <summary>
/// Информация о Windows
/// </summary>
public sealed class OsWindowsInfo : IOsWindowsInfo
{
/// <summary>
/// Конструктор
///</summary>
public OsWindowsInfo()
{
Version = null;
Is64 = true;
PcName = null;
WindowsFolder = null;
}
/// <summary>
/// Версия
/// </summary>
public string? Version { get; set; }
/// <summary>
/// 64-разрядная ОС
/// </summary>
public bool Is64 { get; set; }
/// <summary>
/// Имя компьютера
/// </summary>
public string? PcName { get; set; }
/// <summary>
/// Путь к папке Windows
/// </summary>
public string? WindowsFolder { get; set; }
#region Реализация интерфейса IBasicInfo
/// <summary>
/// Заголовок
/// </summary>
public string? Caption { get => Version; set => _= value; }
/// <summary>
/// Описание
/// </summary>
public string? Description { get => Version; set => _= value; }
/// <summary>
/// Идентификатор
/// </summary>
public string? DeviceId { get => Version; set => _= value; }
/// <summary>
/// Имя
/// </summary>
public string? Name { get => Version; set => _= value; }
#endregion
}