Hardware/HDD/HarddriveGroup.cs
author moel.mich
Mon, 02 Jul 2012 21:14:40 +0000
changeset 357 fb8dc26f65a4
parent 324 c6ee430d6995
permissions -rw-r--r--
Added mainboard specific configurations for the following Gigabyte mainboards: EX58-UD3R, G41M-Combo, G41MT-S2, G41MT-S2P, GA-MA770T-UD3P, GA-MA785GM-US2H, GA-MA78LM-S2H, GA-MA790X-UD3P, H55-USB3, H55N-USB3, H61M-DS2 REV 1.2, H61M-USB3-B3 REV 2.0, H67A-USB3-B3, P55A-UD3, P67A-UD3-B3, P67A-UD3R-B3, Z68A-D3H-B3, Z68AP-D3, Z68X-UD3H-B3.
     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 }