Hardware/HDD/HarddriveGroup.cs
author StephaneLenclud
Sun, 03 Feb 2013 18:01:50 +0100
branchMiniDisplay
changeset 433 090259cfd699
parent 324 c6ee430d6995
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.
     1 /*
     2  
     3   This Source Code Form is subject to the terms of the Mozilla Public
     4   License, v. 2.0. If a copy of the MPL was not distributed with this
     5   file, You can obtain one at http://mozilla.org/MPL/2.0/.
     6  
     7   Copyright (C) 2009-2011 Michael Möller <mmoeller@openhardwaremonitor.org>
     8 	Copyright (C) 2010 Paul Werelds
     9   Copyright (C) 2011 Roland Reinl <roland-reinl@gmx.de>
    10 
    11 */
    12 
    13 using System;
    14 using System.Collections.Generic;
    15 using System.Globalization;
    16 using System.Text;
    17 
    18 namespace OpenHardwareMonitor.Hardware.HDD {
    19   internal class HarddriveGroup : IGroup {
    20 
    21     private const int MAX_DRIVES = 32;
    22 
    23     private readonly List<AbstractHarddrive> hardware = 
    24       new List<AbstractHarddrive>();
    25 
    26     public HarddriveGroup(ISettings settings) {
    27       int p = (int)Environment.OSVersion.Platform;
    28       if (p == 4 || p == 128) return;
    29 
    30       ISmart smart = new WindowsSmart();
    31 
    32       for (int drive = 0; drive < MAX_DRIVES; drive++) {
    33         AbstractHarddrive instance =
    34           AbstractHarddrive.CreateInstance(smart, drive, settings);
    35         if (instance != null) {
    36           this.hardware.Add(instance);
    37         }
    38       }
    39     }
    40 
    41     public IHardware[] Hardware {
    42       get {
    43         return hardware.ToArray();
    44       }
    45     }
    46 
    47     public string GetReport() {
    48       return null;
    49     }
    50 
    51     public void Close() {
    52       foreach (AbstractHarddrive hdd in hardware) 
    53         hdd.Close();
    54     }
    55   }
    56 }