author | moel.mich |
Thu, 26 Jul 2012 06:50:56 +0000 | |
changeset 376 | df64b56ece65 |
parent 324 | c6ee430d6995 |
permissions | -rw-r--r-- |
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 |
} |