moel@1: /* moel@1: moel@344: This Source Code Form is subject to the terms of the Mozilla Public moel@344: License, v. 2.0. If a copy of the MPL was not distributed with this moel@344: file, You can obtain one at http://mozilla.org/MPL/2.0/. moel@1: moel@344: Copyright (C) 2009-2011 Michael Möller moel@344: moel@1: */ moel@1: moel@1: namespace OpenHardwareMonitor.Hardware { moel@1: moel@1: public delegate void SensorEventHandler(ISensor sensor); moel@298: moel@176: public enum HardwareType { moel@165: Mainboard, moel@165: SuperIO, moel@176: CPU, moel@370: RAM, moel@176: GpuNvidia, moel@176: GpuAti, moel@176: TBalancer, moel@176: Heatmaster, moel@370: HDD moel@165: } moel@165: moel@110: public interface IHardware : IElement { moel@1: moel@275: string Name { get; set; } moel@109: Identifier Identifier { get; } moel@1: moel@165: HardwareType HardwareType { get; } moel@1: moel@1: string GetReport(); moel@1: moel@1: void Update(); moel@1: moel@64: IHardware[] SubHardware { get; } moel@64: moel@176: IHardware Parent { get; } moel@176: moel@1: ISensor[] Sensors { get; } moel@1: moel@1: event SensorEventHandler SensorAdded; moel@1: event SensorEventHandler SensorRemoved; moel@1: } moel@1: }