// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. // If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. // Copyright (C) LibreHardwareMonitor and Contributors. // Partial Copyright (C) Michael Möller and Contributors. // All Rights Reserved. using System.Collections.Generic; namespace LibreHardwareMonitor.Hardware { public delegate void HardwareEventHandler(IHardware hardware); /// /// Basic abstract with methods for the class which can store all hardware and decides which devices are to be checked and updated. /// public interface IComputer : IElement { bool IsCpuEnabled { get; } bool IsControllerEnabled { get; } bool IsGpuEnabled { get; } IList Hardware { get; } bool IsStorageEnabled { get; } bool IsMotherboardEnabled { get; } bool IsNetworkEnabled { get; } bool IsMemoryEnabled { get; } bool IsPsuEnabled { get; } string GetReport(); event HardwareEventHandler HardwareAdded; event HardwareEventHandler HardwareRemoved; } }