6 #ifndef _INC_cSystemInfo_H
7 #define _INC_cSystemInfo_H
16 #include <sys/utsname.h>
23 #if defined(USE_64BIT)
24 #define GRAY_BUILD_NAME "WinMFC64"
26 #define GRAY_BUILD_NAME "WinMFC"
28 #elif defined(UNDER_CE)
29 #define GRAY_BUILD_NAME "WinCE"
31 #define GRAY_BUILD_NAME "Win64"
33 #define GRAY_BUILD_NAME "Win32"
35 #define GRAY_BUILD_NAME "FreeBSD"
36 #elif defined(__linux__)
38 #define GRAY_BUILD_NAME "Linux64"
40 #define GRAY_BUILD_NAME "Linux32"
56 SYSTEM_INFO m_SystemInfo;
57 OSVERSIONINFOEXW m_OsInfo;
58 #elif defined(__linux__)
60 struct utsname m_utsname;
62 UINT m_nNumberOfProcessors;
75 UINT get_NumberOfProcessors()
const;
76 bool isOS64Bit()
const;
78 UINT get_OSVer()
const;
81 bool isOSNTAble()
const;
82 bool isOSXPAble()
const;
85 bool isVer3_17_plus()
const;
91 static bool GRAYCALL SystemShutdown(
bool bReboot);
#define GRAYCORE_LINK
Definition: GrayCore.h:47
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define CHEAPOBJECT_IMPL
Definition: cHeapObject.h:32
#define UNITTEST_FRIEND(n)
Define this in the class body to be unit tested. Allow the unit test to access private/protected stuf...
Definition: cUnitTestDecl.h:17
Definition: cSingleton.h:127
OS build type name. OS target known at compile time. Actually run environment may vary of course.
Definition: cSystemInfo.h:47
< The main namespace for all Core functions.
Definition: GrayCore.cpp:14
int StrLen_t
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters....
Definition: StrConst.h:32
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22