moel@370: /*
moel@370:  
moel@370:   This Source Code Form is subject to the terms of the Mozilla Public
moel@370:   License, v. 2.0. If a copy of the MPL was not distributed with this
moel@370:   file, You can obtain one at http://mozilla.org/MPL/2.0/.
moel@370:  
moel@370:   Copyright (C) 2012 Michael Möller <mmoeller@openhardwaremonitor.org>
moel@370: 	
moel@370: */
moel@370: 
moel@370: namespace OpenHardwareMonitor.Hardware.Mainboard {
moel@370:   internal class Identification {
moel@370: 
moel@370:     public static Manufacturer GetManufacturer(string name) {
moel@370:       switch (name) {
moel@370:         case "Alienware":
moel@370:           return Manufacturer.Alienware;
moel@370:         case "Apple Inc.":
moel@370:           return Manufacturer.Apple;
moel@370:         case "ASRock":
moel@370:           return Manufacturer.ASRock;
moel@370:         case "ASUSTeK Computer INC.":
moel@370:         case "ASUSTeK COMPUTER INC.":
moel@370:           return Manufacturer.ASUS;
moel@370:         case "Dell Inc.":
moel@370:           return Manufacturer.Dell;
moel@370:         case "DFI":
moel@370:         case "DFI Inc.":
moel@370:           return Manufacturer.DFI;
moel@370:         case "ECS":
moel@370:           return Manufacturer.ECS;
moel@370:         case "EPoX COMPUTER CO., LTD":
moel@370:           return Manufacturer.EPoX;
moel@370:         case "EVGA":
moel@370:           return Manufacturer.EVGA;
moel@370:         case "First International Computer, Inc.":
moel@370:           return Manufacturer.FIC;
moel@370:         case "FUJITSU":
moel@370:         case "FUJITSU SIEMENS":
moel@370:           return Manufacturer.Fujitsu;
moel@370:         case "Gigabyte Technology Co., Ltd.":
moel@370:           return Manufacturer.Gigabyte;
moel@370:         case "Hewlett-Packard":
moel@370:           return Manufacturer.HP;
moel@370:         case "IBM":
moel@370:           return Manufacturer.IBM;
moel@370:         case "Intel":
moel@370:         case "Intel Corp.":
moel@370:         case "Intel Corporation":
moel@370:         case "INTEL Corporation":
moel@370:           return Manufacturer.Intel;
moel@370:         case "Lenovo":
moel@370:         case "LENOVO":
moel@370:           return Manufacturer.Lenovo;
moel@370:         case "Micro-Star International":
moel@370:         case "MICRO-STAR INTERNATIONAL CO., LTD":
moel@370:         case "MICRO-STAR INTERNATIONAL CO.,LTD":
moel@370:         case "MSI":
moel@370:           return Manufacturer.MSI;
moel@370:         case "Shuttle":
moel@370:           return Manufacturer.Shuttle;
moel@370:         case "Supermicro":
moel@370:           return Manufacturer.Supermicro;
moel@370:         case "TOSHIBA":
moel@370:           return Manufacturer.Toshiba;
moel@370:         case "XFX":
moel@370:           return Manufacturer.XFX;
moel@370:         case "To be filled by O.E.M.":
moel@370:           return Manufacturer.Unknown;
moel@370:         default:
moel@370:           return Manufacturer.Unknown;
moel@370:       }
moel@370:     }
moel@370: 
moel@370:     public static Model GetModel(string name) {
moel@370:       switch (name) {
moel@370:         case "880GMH/USB3":
moel@370:           return Model._880GMH_USB3;
moel@370:         case "ASRock AOD790GX/128M":
moel@370:           return Model.AOD790GX_128M;
moel@370:         case "P55 Deluxe":
moel@370:           return Model.P55_Deluxe;
moel@370:         case "Crosshair III Formula":
moel@370:           return Model.Crosshair_III_Formula;
moel@370:         case "M2N-SLI DELUXE":
moel@370:           return Model.M2N_SLI_DELUXE;
moel@370:         case "M4A79XTD EVO":
moel@370:           return Model.M4A79XTD_EVO;
moel@370:         case "P5W DH Deluxe":
moel@370:           return Model.P5W_DH_Deluxe;
moel@370:         case "P6T":
moel@370:           return Model.P6T;
moel@370:         case "P6X58D-E":
moel@370:           return Model.P6X58D_E;
moel@370:         case "P8P67":
moel@370:           return Model.P8P67;
moel@370:         case "P8P67 EVO":
moel@370:           return Model.P8P67_EVO;
moel@370:         case "P8P67 PRO":
moel@370:           return Model.P8P67_PRO;
moel@370:         case "P8P67-M PRO":
moel@370:           return Model.P8P67_M_PRO;
moel@370:         case "P8Z77-V":
moel@370:           return Model.P8Z77_V;
moel@370:         case "P9X79":
moel@370:           return Model.P9X79;
moel@370:         case "Rampage Extreme":
moel@370:           return Model.Rampage_Extreme;
moel@370:         case "Rampage II GENE":
moel@370:           return Model.Rampage_II_GENE;
moel@370:         case "LP BI P45-T2RS Elite":
moel@370:           return Model.LP_BI_P45_T2RS_Elite;
moel@370:         case "LP DK P55-T3eH9":
moel@370:           return Model.LP_DK_P55_T3eH9;
moel@370:         case "A890GXM-A":
moel@370:           return Model.A890GXM_A;
moel@370:         case "X58 SLI Classified":
moel@370:           return Model.X58_SLI_Classified;
moel@370:         case "965P-S3":
moel@370:           return Model._965P_S3;
moel@370:         case "EP45-DS3R":
moel@370:           return Model.EP45_DS3R;
moel@370:         case "EP45-UD3R":
moel@370:           return Model.EP45_UD3R;
moel@370:         case "EX58-EXTREME":
moel@370:           return Model.EX58_EXTREME;
moel@370:         case "EX58-UD3R":
moel@370:           return Model.EX58_UD3R;
moel@370:         case "G41M-Combo":
moel@370:           return Model.G41M_Combo;
moel@370:         case "G41MT-S2":
moel@370:           return Model.G41MT_S2;
moel@370:         case "G41MT-S2P":
moel@370:           return Model.G41MT_S2P;
moel@382:         case "GA-970A-UD3":
moel@382:           return Model.GA_970A_UD3;
moel@370:         case "GA-MA770T-UD3":
moel@370:           return Model.GA_MA770T_UD3;
moel@370:         case "GA-MA770T-UD3P":
moel@370:           return Model.GA_MA770T_UD3P;
moel@370:         case "GA-MA785GM-US2H":
moel@370:           return Model.GA_MA785GM_US2H;
moel@370:         case "GA-MA785GMT-UD2H":
moel@370:           return Model.GA_MA785GMT_UD2H;
moel@370:         case "GA-MA78LM-S2H":
moel@370:           return Model.GA_MA78LM_S2H;
moel@370:         case "GA-MA790X-UD3P":
moel@370:           return Model.GA_MA790X_UD3P;
moel@370:         case "H55-USB3":
moel@370:           return Model.H55_USB3;
moel@370:         case "H55N-USB3":
moel@370:           return Model.H55N_USB3;
moel@370:         case "H61M-DS2 REV 1.2":
moel@370:           return Model.H61M_DS2_REV_1_2;
moel@370:         case "H61M-USB3-B3 REV 2.0":
moel@370:           return Model.H61M_USB3_B3_REV_2_0;
moel@370:         case "H67A-UD3H-B3":
moel@370:           return Model.H67A_UD3H_B3;
moel@370:         case "H67A-USB3-B3":
moel@370:           return Model.H67A_USB3_B3;
moel@370:         case "P35-DS3":
moel@370:           return Model.P35_DS3;
moel@370:         case "P35-DS3L":
moel@370:           return Model.P35_DS3L;
moel@370:         case "P55-UD4":
moel@370:           return Model.P55_UD4;
moel@370:         case "P55A-UD3":
moel@370:           return Model.P55A_UD3;
moel@370:         case "P55M-UD4":
moel@370:           return Model.P55M_UD4;
moel@370:         case "P67A-UD3-B3":
moel@370:           return Model.P67A_UD3_B3;
moel@370:         case "P67A-UD3R-B3":
moel@370:           return Model.P67A_UD3R_B3;
moel@370:         case "P67A-UD4-B3":
moel@370:           return Model.P67A_UD4_B3;
moel@370:         case "P8Z68-V PRO":
moel@370:           return Model.P8Z68_V_PRO;
moel@370:         case "X38-DS5":
moel@370:           return Model.X38_DS5;
moel@370:         case "X58A-UD3R":
moel@370:           return Model.X58A_UD3R;
moel@370:         case "Z68A-D3H-B3":
moel@370:           return Model.Z68A_D3H_B3;
moel@370:         case "Z68AP-D3":
moel@370:           return Model.Z68AP_D3;
moel@370:         case "Z68X-UD3H-B3":
moel@370:           return Model.Z68X_UD3H_B3;
moel@370:         case "Z68X-UD7-B3":
moel@370:           return Model.Z68X_UD7_B3;
moel@370:         case "FH67":
moel@370:           return Model.FH67;
moel@370:         case "Base Board Product Name":
moel@370:         case "To be filled by O.E.M.":
moel@370:           return Model.Unknown;
moel@370:         default:
moel@370:           return Model.Unknown;
moel@370:       }
moel@370:     }
moel@370: 
moel@370:   }
moel@370: }