00001 /* 00002 * BEEN: Benchmarking Environment 00003 * ============================== 00004 * 00005 * File author: Branislav Repcek 00006 * 00007 * GNU Lesser General Public License Version 2.1 00008 * --------------------------------------------- 00009 * Copyright (C) 2004-2006 Distributed Systems Research Group, 00010 * Faculty of Mathematics and Physics, Charles University in Prague 00011 * 00012 * This library is free software; you can redistribute it and/or 00013 * modify it under the terms of the GNU Lesser General Public 00014 * License version 2.1, as published by the Free Software Foundation. 00015 * 00016 * This library is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00019 * Lesser General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU Lesser General Public 00022 * License along with this library; if not, write to the Free Software 00023 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 00024 * MA 02111-1307 USA 00025 */ 00026 00034 #ifndef WINDOWS_ADVANCED_FEATURES_INCLUDED 00035 #define WINDOWS_ADVANCED_FEATURES_INCLUDED 00036 00037 #include "../Common/UnicodeString.h" 00038 #include "../Common/AdvancedFeatures.h" 00039 #include "../Common/XMLFileOutput.h" 00040 00041 namespace hwdet 00042 { 00043 00046 class WindowsAdvancedFeatures : public AdvancedFeatures 00047 { 00048 public: 00050 WindowsAdvancedFeatures(const String &os_version, const String &build_type, const String &service_pack, 00051 const String &windows_dir, const String &system_dir, unsigned int encryption_level); 00052 00054 String GetVersion(void) const; 00055 00057 String GetBuildType(void) const; 00058 00060 String GetServicePackVersion(void) const; 00061 00063 String GetWindowDirectory(void) const; 00064 00066 String GetSystemDirectory(void) const; 00067 00069 unsigned int GetEncryptionLevel(void) const; 00070 00071 private: 00072 00074 XMLValueElement< String > *version; 00075 00077 XMLValueElement< String > *build; 00078 00080 XMLValueElement< String > *sp_version; 00081 00083 XMLValueElement< String > *win_dir; 00084 00086 XMLValueElement< String > *sys_dir; 00087 00089 XMLValueElement< unsigned int > *encryption; 00090 }; 00091 } 00092 00093 #endif