using System; using System.Collections.Generic; namespace Optimizer { /// /// A full representation of all the computer components with the most usual details /// public sealed class CPU { public string Name { get; set; } public ByteSize L2CacheSize { get; set; } public ByteSize L3CacheSize { get; set; } public UInt32 Cores { get; set; } public UInt32 Threads { get; set; } public UInt32 LogicalCpus { get; set; } public string Virtualization { get; set; } public string DataExecutionPrevention { get; set; } public string Stepping { get; set; } public string Revision { get; set; } } public sealed class RAM { public string BankLabel { get; set; } public ByteSize Capacity { get; set; } public string FormFactor { get; set; } public string Manufacturer { get; set; } public string MemoryType { get; set; } public UInt32 Speed { get; set; } } public sealed class VirtualMemory { public ByteSize TotalVirtualMemory { get; set; } public ByteSize AvailableVirtualMemory { get; set; } public ByteSize UsedVirtualMemory { get; set; } } public sealed class GPU { public string Name { get; set; } public ByteSize Memory { get; set; } public UInt32 ResolutionX { get; set; } public UInt32 ResolutionY { get; set; } public UInt32 RefreshRate { get; set; } public string DACType { get; set; } public string VideoMemoryType { get; set; } } public sealed class Disk { public UInt32 BytesPerSector { get; set; } public string FirmwareRevision { get; set; } public string MediaType { get; set; } public string Model { get; set; } public ByteSize Capacity { get; set; } } public sealed class Volume { public UInt64 BlockSize { get; set; } public ByteSize Capacity { get; set; } public string Compressed { get; set; } public string DriveLetter { get; set; } public string DriveType { get; set; } public string FileSystem { get; set; } public ByteSize FreeSpace { get; set; } public ByteSize UsedSpace { get; set; } public string Indexing { get; set; } public string Label { get; set; } } public sealed class NetworkDevice { public string AdapterType { get; set; } public string Manufacturer { get; set; } public string ProductName { get; set; } public string PhysicalAdapter { get; set; } public string MacAddress { get; set; } public string ServiceName { get; set; } } public sealed class Keyboard { public string Name { get; set; } public string Layout { get; set; } public string Status { get; set; } public UInt16 FunctionKeys { get; set; } public string Locked { get; set; } } public sealed class PointingDevice { public string Name { get; set; } public string Manufacturer { get; set; } public string Status { get; set; } public UInt16 Buttons { get; set; } public string Locked { get; set; } public string HardwareType { get; set; } public string PointingType { get; set; } public string DeviceInterface { get; set; } } public sealed class AudioDevice { public string ProductName { get; set; } public string Manufacturer { get; set; } public string Status { get; set; } } public sealed class Motherboard { public string Model { get; set; } public string Manufacturer { get; set; } public string Chipset { get; set; } public string Product { get; set; } public string Version { get; set; } public string Revision { get; set; } public string SystemModel { get; set; } public string BIOSName { get; set; } public string BIOSManufacturer { get; set; } public string BIOSVersion { get; set; } public string BIOSBuildNumber { get; set; } } public static class HardwareSummary { public static List CPUs = new List(); public static string TotalRAM = string.Empty; public static List Motherboards = new List(); public static List GPUs = new List(); public static List Disks = new List(); public static List NetworkAdapters = new List(); public static List BIOS = new List(); public static List OSInfo = new List(); } }