Hardware/HDD/HarddriveGroup.cs
author sl
Sun, 03 Feb 2013 18:01:50 +0100
changeset 391 ca4c0e7ae75d
parent 324 c6ee430d6995
permissions -rw-r--r--
Converted project to VisualStudio 2012.
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@324
     1
/*
moel@344
     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@344
     6
 
moel@344
     7
  Copyright (C) 2009-2011 Michael Möller <mmoeller@openhardwaremonitor.org>
moel@344
     8
	Copyright (C) 2010 Paul Werelds
moel@344
     9
  Copyright (C) 2011 Roland Reinl <roland-reinl@gmx.de>
moel@324
    10
moel@324
    11
*/
moel@324
    12
moel@324
    13
using System;
moel@324
    14
using System.Collections.Generic;
moel@324
    15
using System.Globalization;
moel@324
    16
using System.Text;
moel@324
    17
moel@324
    18
namespace OpenHardwareMonitor.Hardware.HDD {
moel@324
    19
  internal class HarddriveGroup : IGroup {
moel@324
    20
moel@324
    21
    private const int MAX_DRIVES = 32;
moel@324
    22
moel@324
    23
    private readonly List<AbstractHarddrive> hardware = 
moel@324
    24
      new List<AbstractHarddrive>();
moel@324
    25
moel@324
    26
    public HarddriveGroup(ISettings settings) {
moel@324
    27
      int p = (int)Environment.OSVersion.Platform;
moel@324
    28
      if (p == 4 || p == 128) return;
moel@324
    29
moel@324
    30
      ISmart smart = new WindowsSmart();
moel@324
    31
moel@324
    32
      for (int drive = 0; drive < MAX_DRIVES; drive++) {
moel@324
    33
        AbstractHarddrive instance =
moel@324
    34
          AbstractHarddrive.CreateInstance(smart, drive, settings);
moel@324
    35
        if (instance != null) {
moel@324
    36
          this.hardware.Add(instance);
moel@324
    37
        }
moel@324
    38
      }
moel@324
    39
    }
moel@324
    40
moel@324
    41
    public IHardware[] Hardware {
moel@324
    42
      get {
moel@324
    43
        return hardware.ToArray();
moel@324
    44
      }
moel@324
    45
    }
moel@324
    46
moel@324
    47
    public string GetReport() {
moel@324
    48
      return null;
moel@324
    49
    }
moel@324
    50
moel@324
    51
    public void Close() {
moel@324
    52
      foreach (AbstractHarddrive hdd in hardware) 
moel@324
    53
        hdd.Close();
moel@324
    54
    }
moel@324
    55
  }
moel@324
    56
}