// This file is part of BOINC. // http://boinc.berkeley.edu // Copyright (C) 2008 University of California // // BOINC is free software; you can redistribute it and/or modify it // under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation, // either version 3 of the License, or (at your option) any later version. // // BOINC is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with BOINC. If not, see . #ifndef BOINC_STDWX_H #define BOINC_STDWX_H #ifdef _WIN32 // Target Windows 2000 or better with Internet Explorer 5.01 or better #ifndef WINVER #define WINVER 0x0501 #endif #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0501 #endif #ifndef _WIN32_WINDOWS #define _WIN32_WINDOWS 0x0501 #endif #ifndef _WIN32_IE #define _WIN32_IE 0x0501 #endif #endif #ifdef __APPLE__ #include // Use localtime_r and fmtime_r in wxWidgets and eliminate compiler warnings #define HAVE_LOCALTIME_R 1 #define HAVE_GMTIME_R 1 #endif #include #include // configuration support #include // diagnostics support #include #include // logging support #include // accelerator support #include // regular expression support #include // command line support #include // system settings support #include // internationalization support #include // timer support #include // filesystem support #include // bitmap modification support #include // toolbars support #include // list control support #include // messagebox dialog support #include // panel support #include // notebook support #include // static line support #include // static bitmap support #include // static text support #include // clipboard support #include // date/time support #include // taskbar support #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if wxUSE_WEBVIEW #include #include #endif #include #include #include #include #ifdef _WIN32 // Visual Studio 2005 has extended the C Run-Time Library by including "secure" // runtime functions and deprecating the previous function prototypes. Since // we need to use the previous prototypes to maintain compatibility with other // platforms we are going to disable the deprecation warnings if we are compiling // on Visual Studio 2005 #if _MSC_VER >= 1400 #ifndef _CRT_SECURE_NO_DEPRECATE #define _CRT_SECURE_NO_DEPRECATE #endif #endif // Windows Headers // #include #include #if !defined(__CYGWIN32__) && !defined(__MINGW32__) #include #endif #include #include #include #include #include #include #include #include #if wxUSE_ACCESSIBILITY #include #else #pragma message("") #pragma message("wxUSE_ACCESSIBILITY is not defined in setup.h for the wxWidgets library.") #pragma message("***** Accessibility features are disabled *****") #pragma message("") #endif // wxUSE_ACCESSIBILITY #include "wx/msw/ole/oleutils.h" #include "wx/msw/winundef.h" #ifndef OBJID_CLIENT #define OBJID_CLIENT 0xFFFFFFFC #endif #endif // Standard Libraries // // C headers #include #include #include #include #include #include #include #include #include #include #include #include // C++ headers #include #include #include #include #include #include #include #include #include #include #ifdef _WIN32 #define vsnprintf _vsnprintf #define snprintf _snprintf #define stprintf _stprintf #define stricmp _stricmp #define strdup _strdup #define fdopen _fdopen #define dup _dup #define unlink _unlink #define read _read #define stat _stat #define chdir _chdir #define finite _finite #define strdate _strdate #define strtime _strtime #define getcwd _getcwd #endif #ifndef __GNUC__ #define __attribute__(x) #endif // On the Win32 platform include file and line number information for each // memory allocation/deallocation #if (defined(__WIN32__) && defined(__VISUALC__) && !defined(__AFX_H__)) #ifdef _DEBUG #define malloc(s) _malloc_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__) #define calloc(c, s) _calloc_dbg(c, s, _NORMAL_BLOCK, __FILE__, __LINE__) #define realloc(p, s) _realloc_dbg(p, s, _NORMAL_BLOCK, __FILE__, __LINE__) #define _expand(p, s) _expand_dbg(p, s, _NORMAL_BLOCK, __FILE__, __LINE__) #define free(p) _free_dbg(p, _NORMAL_BLOCK) #define _msize(p) _msize_dbg(p, _NORMAL_BLOCK) #define _aligned_malloc(s, a) _aligned_malloc_dbg(s, a, __FILE__, __LINE__) #define _aligned_realloc(p, s, a) _aligned_realloc_dbg(p, s, a, __FILE__, __LINE__) #define _aligned_offset_malloc(s, a, o) _aligned_offset_malloc_dbg(s, a, o, __FILE__, __LINE__) #define _aligned_offset_realloc(p, s, a, o) _aligned_offset_realloc_dbg(p, s, a, o, __FILE__, __LINE__) #define _aligned_free(p) _aligned_free_dbg(p) #define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__) // The following macros set and clear, respectively, given bits // of the C runtime library debug flag, as specified by a bitmask. #define SET_CRT_DEBUG_FIELD(a) _CrtSetDbgFlag((a) | _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG)) #define CLEAR_CRT_DEBUG_FIELD(a) _CrtSetDbgFlag(~(a) & _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG)) #else //_DEBUG #define DEBUG_NEW new #define SET_CRT_DEBUG_FIELD(a) ((void) 0) #define CLEAR_CRT_DEBUG_FIELD(a) ((void) 0) #endif //_DEBUG #define new DEBUG_NEW #endif //__WIN32__ && __VISUALC && !__AFX_H__ #endif