| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /*============================================================================
- KWSys - Kitware System Library
- Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
- Distributed under the OSI-approved BSD License (the "License");
- see accompanying file Copyright.txt for details.
- This software is distributed WITHOUT ANY WARRANTY; without even the
- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License for more information.
- ============================================================================*/
- #ifndef @KWSYS_NAMESPACE@_SystemInformation_h
- #define @KWSYS_NAMESPACE@_SystemInformation_h
- /* Define these macros temporarily to keep the code readable. */
- #if !defined (KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
- # define kwsys_stl @KWSYS_NAMESPACE@_stl
- # define kwsys_ios @KWSYS_NAMESPACE@_ios
- #endif
- #include <@KWSYS_NAMESPACE@/stl/string>
- namespace @KWSYS_NAMESPACE@
- {
- // forward declare the implementation class
- class SystemInformationImplementation;
-
- class @KWSYS_NAMESPACE@_EXPORT SystemInformation
- {
- public:
- SystemInformation ();
- ~SystemInformation ();
- const char * GetVendorString();
- const char * GetVendorID();
- kwsys_stl::string GetTypeID();
- kwsys_stl::string GetFamilyID();
- kwsys_stl::string GetModelID();
- kwsys_stl::string GetSteppingCode();
- const char * GetExtendedProcessorName();
- const char * GetProcessorSerialNumber();
- int GetProcessorCacheSize();
- unsigned int GetLogicalProcessorsPerPhysical();
- float GetProcessorClockFrequency();
- int GetProcessorAPICID();
- int GetProcessorCacheXSize(long int);
- bool DoesCPUSupportFeature(long int);
-
- const char * GetOSName();
- const char * GetHostname();
- const char * GetOSRelease();
- const char * GetOSVersion();
- const char * GetOSPlatform();
- bool Is64Bits();
- unsigned int GetNumberOfLogicalCPU(); // per physical cpu
- unsigned int GetNumberOfPhysicalCPU();
- bool DoesCPUSupportCPUID();
- // Retrieve memory information in megabyte.
- unsigned long GetTotalVirtualMemory();
- unsigned long GetAvailableVirtualMemory();
- unsigned long GetTotalPhysicalMemory();
- unsigned long GetAvailablePhysicalMemory();
- /** Run the different checks */
- void RunCPUCheck();
- void RunOSCheck();
- void RunMemoryCheck();
- private:
- SystemInformationImplementation* Implementation;
- };
- } // namespace @KWSYS_NAMESPACE@
- /* Undefine temporary macros. */
- #if !defined (KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
- # undef kwsys_stl
- # undef kwsys_ios
- #endif
- #endif
|