Hardware/HDD/HarddriveGroup.cs
author moel.mich
Mon, 23 Jul 2012 21:54:35 +0000
changeset 370 8e4dedc41924
parent 324 c6ee430d6995
permissions -rw-r--r--
Added a RAM hardware and sensor, fixed Issue 115.
     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 }