X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d3a919bdcef1691d993419fdad6370289d0339b8..6db6bfd1ce8c6c4b06a74e04fad3470ac792a770:/src/os2/utils.cpp diff --git a/src/os2/utils.cpp b/src/os2/utils.cpp index 80f9a04b3c..cbec9f74c1 100644 --- a/src/os2/utils.cpp +++ b/src/os2/utils.cpp @@ -39,16 +39,19 @@ #define PURE_32 -#ifndef __EMX__ -#include -#include -#include +#if defined(__WATCOMC__) +extern "C" +{ + #include +} +#elif !defined(__EMX__) + #include + #include + #include #endif static const wxChar WX_SECTION[] = _T("wxWidgets"); static const wxChar eHOSTNAME[] = _T("HostName"); -static const wxChar eUSERID[] = _T("UserId"); -static const wxChar eUSERNAME[] = _T("UserName"); // For the following functions we SHOULD fill in support // for Windows-NT (which I don't know) as I assume it begin @@ -95,44 +98,34 @@ bool wxGetHostName( wxStrncpy(zBuf, zSysname, nMaxSize - 1); zBuf[nMaxSize] = _T('\0'); #endif - return *zBuf ? TRUE : FALSE; + return *zBuf ? true : false; } // Get user ID e.g. jacs -bool wxGetUserId( - wxChar* zBuf -, int nType -) +bool wxGetUserId(wxChar* zBuf, int nType) { -#if defined(__VISAGECPP__) - long lrc; +#if defined(__VISAGECPP__) || defined(__WATCOMC__) // UPM procs return 0 on success - lrc = U32ELOCU((unsigned char*)zBuf, (unsigned long *)&nType); - if (lrc == 0) return TRUE; + long lrc = U32ELOCU((PUCHAR)zBuf, (PULONG)&nType); + if (lrc == 0) return true; #endif - return FALSE; + return false; } -bool wxGetUserName( - wxChar* zBuf -, int nMaxSize -) +bool wxGetUserName( wxChar* zBuf, int nMaxSize ) { #ifdef USE_NET_API - wxGetUserId( zBuf - ,nMaxSize - ); + wxGetUserId( zBuf, nMaxSize ); #else wxStrncpy(zBuf, _T("Unknown User"), nMaxSize); #endif - return TRUE; + return true; } -int wxKill( - long lPid -, wxSignal eSig -, wxKillError* peError -) +int wxKill(long lPid, + wxSignal WXUNUSED(eSig), + wxKillError* WXUNUSED(peError), + int WXUNUSED(flags)) { return((int)::DosKillProcess(0, (PID)lPid)); } @@ -159,9 +152,9 @@ bool wxShell( SData.FgBg = SSF_FGBG_FORE; SData.TraceOpt = SSF_TRACEOPT_NONE; SData.PgmTitle = PgmTitle; - SData.PgmName = zShell; + SData.PgmName = (char*)zShell; - sInputs = "/C " + rCommand; + sInputs = _T("/C ") + rCommand; SData.PgmInputs = (BYTE*)sInputs.c_str(); SData.TermQ = 0; SData.Environment = 0; @@ -197,25 +190,43 @@ bool wxShell( } // Shutdown or reboot the PC -bool wxShutdown(wxShutdownFlags wFlags) +bool wxShutdown(wxShutdownFlags WXUNUSED(wFlags)) +{ + // TODO + return false; +} + +wxPowerType wxGetPowerType() { // TODO - return FALSE; + return wxPOWER_UNKNOWN; +} + +wxBatteryState wxGetBatteryState() +{ + // TODO + return wxBATTERY_UNKNOWN_STATE; } // Get free memory in bytes, or -1 if cannot determine amount (e.g. on UNIX) -long wxGetFreeMemory() +wxMemorySize wxGetFreeMemory() { void* pMemptr = NULL; - ULONG lSize; + LONG lSize; ULONG lMemFlags; APIRET rc; lMemFlags = PAG_FREE; - rc = ::DosQueryMem(pMemptr, &lSize, &lMemFlags); + rc = ::DosQueryMem(pMemptr, (PULONG)&lSize, &lMemFlags); if (rc != 0) - return -1L; - return (long)lSize; + lSize = -1L; + return (wxMemorySize)lSize; +} + +// Get Process ID +unsigned long wxGetProcessId() +{ + return (unsigned long)getpid(); } // ---------------------------------------------------------------------------- @@ -227,14 +238,14 @@ bool wxGetEnv(const wxString& var, wxString *value) // wxGetenv is defined as getenv() wxChar *p = wxGetenv(var); if ( !p ) - return FALSE; + return false; if ( value ) { *value = p; } - return TRUE; + return true; } bool wxSetEnv(const wxString& variable, const wxChar *value) @@ -256,7 +267,9 @@ bool wxSetEnv(const wxString& variable, const wxChar *value) return putenv(buf) == 0; #else // no way to set an env var - return FALSE; + wxUnusedVar(variable); + wxUnusedVar(value); + return false; #endif } @@ -350,19 +363,19 @@ void wxBell() } -void wxAppTraits::InitializeGui(unsigned long &ulHab) +void wxAppTraits::InitializeGui(unsigned long &WXUNUSED(ulHab)) { } -void wxAppTraits::TerminateGui(unsigned long ulHab) +void wxAppTraits::TerminateGui(unsigned long WXUNUSED(ulHab)) { } wxToolkitInfo & wxConsoleAppTraits::GetToolkitInfo() { - static wxToolkitInfo vInfo; - ULONG ulSysInfo[QSV_MAX] = {0}; - APIRET ulrc; + static wxToolkitInfo vInfo; + ULONG ulSysInfo[QSV_MAX] = {0}; + APIRET ulrc; vInfo.name = _T("wxBase"); ulrc = ::DosQuerySysInfo( 1L @@ -397,7 +410,7 @@ const wxChar* wxGetHomeDir( # define MAX_PATH 256 #endif - const wxChar *szHome = wxGetenv("HOME"); + const wxChar *szHome = wxGetenv((wxChar*)"HOME"); if ( szHome == NULL ) { // we're homeless, use current directory. rStrDir = wxT("."); @@ -409,16 +422,18 @@ const wxChar* wxGetHomeDir( } // Hack for OS/2 -wxChar* wxGetUserHome ( - const wxString& rUser -) +#if wxUSE_UNICODE +const wxMB2WXbuf wxGetUserHome( const wxString &rUser ) +#else // just for binary compatibility -- there is no 'const' here +wxChar* wxGetUserHome ( const wxString &rUser ) +#endif { wxChar* zHome; wxString sUser1(rUser); - char *wxBuffer = new wxChar[256]; + wxChar *wxBuffer = new wxChar[256]; #ifndef __EMX__ - if (sUser1 != _T("")) + if (!sUser1.empty()) { wxChar zTmp[64]; @@ -440,31 +455,28 @@ wxChar* wxGetUserHome ( } } #endif - if (sUser1 == _T("")) + if (sUser1.empty()) { if ((zHome = wxGetenv(_T("HOME"))) != NULL) { wxStrcpy(wxBuffer, zHome); wxUnix2DosFilename(wxBuffer); +#if wxUSE_UNICODE + wxWCharBuffer retBuffer (wxBuffer); + delete[] wxBuffer; + return retBuffer; +#else wxStrcpy(zHome, wxBuffer); delete[] wxBuffer; return zHome; +#endif } } delete[] wxBuffer; - return NULL; // No home known! + return (wxChar*)wxEmptyString; // No home known! } -bool wxDirExists( - const wxString& rDir -) -{ - return (::DosSetCurrentDir(WXSTRINGCAST rDir)); -} - -wxString WXDLLEXPORT wxPMErrorToStr( - ERRORID vError -) +wxString WXDLLEXPORT wxPMErrorToStr(ERRORID vError) { wxString sError; @@ -524,7 +536,7 @@ wxString WXDLLEXPORT wxPMErrorToStr( // to be used by all X11 based ports. struct wxEndProcessData; -void wxHandleProcessTermination(wxEndProcessData *proc_data) +void wxHandleProcessTermination(wxEndProcessData *WXUNUSED(proc_data)) { // For now, just do nothing. To be filled in as needed. }