Hardware/SensorVisitor.cs
author StephaneLenclud
Sun, 03 Feb 2013 18:01:50 +0100
branchMiniDisplay
changeset 433 090259cfd699
parent 195 0ee888c485d5
permissions -rw-r--r--
Adding SoundGraphDisplay and SensorFrontView classes.
They were respectively based on SystemTray and SensorNotifyIcon.
SoundGraphDisplay is now able to load iMONDisplay.dll providing it lives on your PATH.
Adding option to sensor context menu for adding it into FrontView.
moel@161
     1
/*
moel@161
     2
 
moel@344
     3
  This Source Code Form is subject to the terms of the Mozilla Public
moel@344
     4
  License, v. 2.0. If a copy of the MPL was not distributed with this
moel@344
     5
  file, You can obtain one at http://mozilla.org/MPL/2.0/.
moel@161
     6
 
moel@344
     7
  Copyright (C) 2009-2010 Michael Möller <mmoeller@openhardwaremonitor.org>
moel@344
     8
	
moel@161
     9
*/
moel@161
    10
moel@161
    11
using System;
moel@161
    12
using System.Collections.Generic;
moel@161
    13
moel@161
    14
namespace OpenHardwareMonitor.Hardware {
moel@161
    15
moel@161
    16
  public class SensorVisitor : IVisitor {
moel@195
    17
    private readonly SensorEventHandler handler;
moel@161
    18
moel@161
    19
    public SensorVisitor(SensorEventHandler handler) {
moel@167
    20
      if (handler == null)
moel@167
    21
        throw new ArgumentNullException("handler");
moel@161
    22
      this.handler = handler;
moel@161
    23
    }
moel@161
    24
moel@161
    25
    public void VisitComputer(IComputer computer) {
moel@167
    26
      if (computer == null)
moel@167
    27
        throw new ArgumentNullException("computer");
moel@161
    28
      computer.Traverse(this);
moel@161
    29
    }
moel@161
    30
moel@161
    31
    public void VisitHardware(IHardware hardware) {
moel@167
    32
      if (hardware == null)
moel@167
    33
        throw new ArgumentNullException("hardware");
moel@161
    34
      hardware.Traverse(this);
moel@161
    35
    }
moel@161
    36
moel@161
    37
    public void VisitSensor(ISensor sensor) {
moel@161
    38
      handler(sensor);
moel@161
    39
    }
moel@161
    40
moel@161
    41
    public void VisitParameter(IParameter parameter) { }
moel@161
    42
  }
moel@161
    43
}