Hardware/Mainboard/Identification.cs
author moel.mich
Sun, 23 Sep 2012 18:37:43 +0000
changeset 380 573f1fff48b2
child 382 ba6abd47a80c
permissions -rw-r--r--
Fixed Issue 387. The new implementation does not try to start a ring 0 driver that already exists, but could not be opened. It tries to delete the driver and install it new. The driver is now stored temporarily in the application folder. The driver is not correctly removed on system shutdown.
     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 Michael Möller <mmoeller@openhardwaremonitor.org>
     8 	
     9 */
    10 
    11 namespace OpenHardwareMonitor.Hardware.Mainboard {
    12   internal class Identification {
    13 
    14     public static Manufacturer GetManufacturer(string name) {
    15       switch (name) {
    16         case "Alienware":
    17           return Manufacturer.Alienware;
    18         case "Apple Inc.":
    19           return Manufacturer.Apple;
    20         case "ASRock":
    21           return Manufacturer.ASRock;
    22         case "ASUSTeK Computer INC.":
    23         case "ASUSTeK COMPUTER INC.":
    24           return Manufacturer.ASUS;
    25         case "Dell Inc.":
    26           return Manufacturer.Dell;
    27         case "DFI":
    28         case "DFI Inc.":
    29           return Manufacturer.DFI;
    30         case "ECS":
    31           return Manufacturer.ECS;
    32         case "EPoX COMPUTER CO., LTD":
    33           return Manufacturer.EPoX;
    34         case "EVGA":
    35           return Manufacturer.EVGA;
    36         case "First International Computer, Inc.":
    37           return Manufacturer.FIC;
    38         case "FUJITSU":
    39         case "FUJITSU SIEMENS":
    40           return Manufacturer.Fujitsu;
    41         case "Gigabyte Technology Co., Ltd.":
    42           return Manufacturer.Gigabyte;
    43         case "Hewlett-Packard":
    44           return Manufacturer.HP;
    45         case "IBM":
    46           return Manufacturer.IBM;
    47         case "Intel":
    48         case "Intel Corp.":
    49         case "Intel Corporation":
    50         case "INTEL Corporation":
    51           return Manufacturer.Intel;
    52         case "Lenovo":
    53         case "LENOVO":
    54           return Manufacturer.Lenovo;
    55         case "Micro-Star International":
    56         case "MICRO-STAR INTERNATIONAL CO., LTD":
    57         case "MICRO-STAR INTERNATIONAL CO.,LTD":
    58         case "MSI":
    59           return Manufacturer.MSI;
    60         case "Shuttle":
    61           return Manufacturer.Shuttle;
    62         case "Supermicro":
    63           return Manufacturer.Supermicro;
    64         case "TOSHIBA":
    65           return Manufacturer.Toshiba;
    66         case "XFX":
    67           return Manufacturer.XFX;
    68         case "To be filled by O.E.M.":
    69           return Manufacturer.Unknown;
    70         default:
    71           return Manufacturer.Unknown;
    72       }
    73     }
    74 
    75     public static Model GetModel(string name) {
    76       switch (name) {
    77         case "880GMH/USB3":
    78           return Model._880GMH_USB3;
    79         case "ASRock AOD790GX/128M":
    80           return Model.AOD790GX_128M;
    81         case "P55 Deluxe":
    82           return Model.P55_Deluxe;
    83         case "Crosshair III Formula":
    84           return Model.Crosshair_III_Formula;
    85         case "M2N-SLI DELUXE":
    86           return Model.M2N_SLI_DELUXE;
    87         case "M4A79XTD EVO":
    88           return Model.M4A79XTD_EVO;
    89         case "P5W DH Deluxe":
    90           return Model.P5W_DH_Deluxe;
    91         case "P6T":
    92           return Model.P6T;
    93         case "P6X58D-E":
    94           return Model.P6X58D_E;
    95         case "P8P67":
    96           return Model.P8P67;
    97         case "P8P67 EVO":
    98           return Model.P8P67_EVO;
    99         case "P8P67 PRO":
   100           return Model.P8P67_PRO;
   101         case "P8P67-M PRO":
   102           return Model.P8P67_M_PRO;
   103         case "P8Z77-V":
   104           return Model.P8Z77_V;
   105         case "P9X79":
   106           return Model.P9X79;
   107         case "Rampage Extreme":
   108           return Model.Rampage_Extreme;
   109         case "Rampage II GENE":
   110           return Model.Rampage_II_GENE;
   111         case "LP BI P45-T2RS Elite":
   112           return Model.LP_BI_P45_T2RS_Elite;
   113         case "LP DK P55-T3eH9":
   114           return Model.LP_DK_P55_T3eH9;
   115         case "A890GXM-A":
   116           return Model.A890GXM_A;
   117         case "X58 SLI Classified":
   118           return Model.X58_SLI_Classified;
   119         case "965P-S3":
   120           return Model._965P_S3;
   121         case "EP45-DS3R":
   122           return Model.EP45_DS3R;
   123         case "EP45-UD3R":
   124           return Model.EP45_UD3R;
   125         case "EX58-EXTREME":
   126           return Model.EX58_EXTREME;
   127         case "EX58-UD3R":
   128           return Model.EX58_UD3R;
   129         case "G41M-Combo":
   130           return Model.G41M_Combo;
   131         case "G41MT-S2":
   132           return Model.G41MT_S2;
   133         case "G41MT-S2P":
   134           return Model.G41MT_S2P;
   135         case "GA-MA770T-UD3":
   136           return Model.GA_MA770T_UD3;
   137         case "GA-MA770T-UD3P":
   138           return Model.GA_MA770T_UD3P;
   139         case "GA-MA785GM-US2H":
   140           return Model.GA_MA785GM_US2H;
   141         case "GA-MA785GMT-UD2H":
   142           return Model.GA_MA785GMT_UD2H;
   143         case "GA-MA78LM-S2H":
   144           return Model.GA_MA78LM_S2H;
   145         case "GA-MA790X-UD3P":
   146           return Model.GA_MA790X_UD3P;
   147         case "H55-USB3":
   148           return Model.H55_USB3;
   149         case "H55N-USB3":
   150           return Model.H55N_USB3;
   151         case "H61M-DS2 REV 1.2":
   152           return Model.H61M_DS2_REV_1_2;
   153         case "H61M-USB3-B3 REV 2.0":
   154           return Model.H61M_USB3_B3_REV_2_0;
   155         case "H67A-UD3H-B3":
   156           return Model.H67A_UD3H_B3;
   157         case "H67A-USB3-B3":
   158           return Model.H67A_USB3_B3;
   159         case "P35-DS3":
   160           return Model.P35_DS3;
   161         case "P35-DS3L":
   162           return Model.P35_DS3L;
   163         case "P55-UD4":
   164           return Model.P55_UD4;
   165         case "P55A-UD3":
   166           return Model.P55A_UD3;
   167         case "P55M-UD4":
   168           return Model.P55M_UD4;
   169         case "P67A-UD3-B3":
   170           return Model.P67A_UD3_B3;
   171         case "P67A-UD3R-B3":
   172           return Model.P67A_UD3R_B3;
   173         case "P67A-UD4-B3":
   174           return Model.P67A_UD4_B3;
   175         case "P8Z68-V PRO":
   176           return Model.P8Z68_V_PRO;
   177         case "X38-DS5":
   178           return Model.X38_DS5;
   179         case "X58A-UD3R":
   180           return Model.X58A_UD3R;
   181         case "Z68A-D3H-B3":
   182           return Model.Z68A_D3H_B3;
   183         case "Z68AP-D3":
   184           return Model.Z68AP_D3;
   185         case "Z68X-UD3H-B3":
   186           return Model.Z68X_UD3H_B3;
   187         case "Z68X-UD7-B3":
   188           return Model.Z68X_UD7_B3;
   189         case "FH67":
   190           return Model.FH67;
   191         case "Base Board Product Name":
   192         case "To be filled by O.E.M.":
   193           return Model.Unknown;
   194         default:
   195           return Model.Unknown;
   196       }
   197     }
   198 
   199   }
   200 }