| author | moel.mich | 
| Sun, 21 Jul 2013 21:02:55 +0000 | |
| changeset 415 | a67db9051d19 | 
| parent 195 | 0ee888c485d5 | 
| permissions | -rw-r--r-- | 
| 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 | } |