Hardware/RAM/RAMGroup.cs
author moel.mich
Sun, 09 Jun 2013 17:50:45 +0000
changeset 401 c37f2b5ee55b
parent 372 2de3a3e5f0b5
child 410 3e69541ad89a
permissions -rw-r--r--
Fixed an issue in the ram group implementation (sensor values did not get stored to the settings instance).
     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) 2012-2013 Michael Möller <mmoeller@openhardwaremonitor.org>
     8 	
     9 */
    10 
    11 using System;
    12 
    13 namespace OpenHardwareMonitor.Hardware.RAM {
    14   internal class RAMGroup : IGroup {
    15 
    16     private Hardware[] hardware;
    17 
    18     public RAMGroup(SMBIOS smbios, ISettings settings) {
    19 
    20       // No implementation for RAM on Unix systems
    21       int p = (int)Environment.OSVersion.Platform;
    22       if ((p == 4) || (p == 128)) {
    23         hardware = new Hardware[0];
    24         return;
    25       }
    26 
    27       string name;
    28       if (smbios.MemoryDevices.Length > 0) {
    29         name = smbios.MemoryDevices[0].ManufacturerName + " " + 
    30           smbios.MemoryDevices[0].PartNumber;
    31       } else {
    32         name = "Generic Memory";
    33       }
    34 
    35       hardware = new Hardware[] { new GenericRAM(name, settings) };
    36     }
    37 
    38     public string GetReport() {
    39       return null;
    40     }
    41 
    42     public IHardware[] Hardware {
    43       get {
    44         return hardware;
    45       }
    46     }
    47 
    48     public void Close() {
    49       foreach (Hardware ram in hardware)
    50         ram.Close();
    51     }
    52   }
    53 }