#endif //WX_PRECOMP
#include "wx/os2/private.h"
-#include "wx/timer.h"
#include "wx/intl.h"
#include "wx/apptrait.h"
#include <netbios.h>
#endif
-static const wxChar WX_SECTION[] = _T("wxWindows");
+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");
if ((zSysname = wxGetenv(_T("SYSTEM_NAME"))) == NULL)
{
- ULONG n = ::PrfQueryProfileString( HINI_PROFILE
- ,(PSZ)WX_SECTION
- ,(PSZ)eHOSTNAME
- ,(PSZ)zDefaultHost
- ,(void*)zBuf
- ,(ULONG)nMaxSize - 1
- );
+ ::PrfQueryProfileString( HINI_PROFILE
+ ,(PSZ)WX_SECTION
+ ,(PSZ)eHOSTNAME
+ ,(PSZ)zDefaultHost
+ ,(void*)zBuf
+ ,(ULONG)nMaxSize - 1
+ );
}
else
wxStrncpy(zBuf, zSysname, nMaxSize - 1);
zBuf[nMaxSize] = _T('\0');
#endif
- return *zBuf ? TRUE : FALSE;
+ return *zBuf ? true : false;
}
// Get user ID e.g. jacs
long lrc;
// UPM procs return 0 on success
lrc = U32ELOCU((unsigned char*)zBuf, (unsigned long *)&nType);
- if (lrc == 0) return TRUE;
+ if (lrc == 0) return true;
#endif
- return FALSE;
+ return false;
}
bool wxGetUserName(
#else
wxStrncpy(zBuf, _T("Unknown User"), nMaxSize);
#endif
- return TRUE;
+ return true;
}
int wxKill(
long lPid
, wxSignal eSig
, wxKillError* peError
+, int flags
)
{
return((int)::DosKillProcess(0, (PID)lPid));
{
wxChar* zShell = _T("CMD.EXE");
wxString sInputs;
- wxChar zTmp[255];
STARTDATA SData = {0};
PSZ PgmTitle = "Command Shell";
APIRET rc;
bool wxShutdown(wxShutdownFlags wFlags)
{
// TODO
- return FALSE;
+ return false;
+}
+
+wxPowerType wxGetPowerType()
+{
+ // TODO
+ 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();
}
// ----------------------------------------------------------------------------
// 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)
return putenv(buf) == 0;
#else // no way to set an env var
- return FALSE;
+ return false;
#endif
}
-void wxUsleep(
+void wxMilliSleep(
unsigned long ulMilliseconds
)
{
::DosSleep(ulMilliseconds);
}
+void wxMicroSleep(
+ unsigned long ulMicroseconds
+)
+{
+ ::DosSleep(ulMicroseconds/1000);
+}
+
void wxSleep(
int nSecs
)
, const wxString& rTitle
)
{
- wxBuffer = new wxChar[256];
+ wxChar *wxBuffer = new wxChar[256];
wxSprintf(wxBuffer, "%s\nContinue?", WXSTRINGCAST rMsg);
if (::WinMessageBox( HWND_DESKTOP
,NULL
{
DosBeep(1000,1000); // 1kHz during 1 sec.
}
-#if 0
-int wxGUIAppTraits::GetOSVersion(
- int* pMajorVsn
-, int* pMinorVsn
-)
+
+
+void wxAppTraits::InitializeGui(unsigned long &ulHab)
{
- ULONG ulSysInfo[QSV_MAX] = {0};
- APIRET ulrc;
+}
+void wxAppTraits::TerminateGui(unsigned long ulHab)
+{
+}
+
+wxToolkitInfo & wxConsoleAppTraits::GetToolkitInfo()
+{
+ static wxToolkitInfo vInfo;
+ ULONG ulSysInfo[QSV_MAX] = {0};
+ APIRET ulrc;
+
+ vInfo.name = _T("wxBase");
ulrc = ::DosQuerySysInfo( 1L
,QSV_MAX
,(PVOID)ulSysInfo
);
if (ulrc == 0L)
{
- *pMajorVsn = ulSysInfo[QSV_VERSION_MAJOR];
- *pMajorVsn = *pMajorVsn/10;
- *pMinorVsn = ulSysInfo[QSV_VERSION_MINOR];
- return wxWINDOWS_OS2;
+ vInfo.versionMajor = ulSysInfo[QSV_VERSION_MAJOR] / 10;
+ vInfo.versionMinor = ulSysInfo[QSV_VERSION_MINOR];
}
- return wxWINDOWS; // error if we get here, return generic value
+ vInfo.os = wxOS2_PM;
+ return vInfo;
}
-#endif
+
// ---------------------------------------------------------------------------
const wxChar* wxGetHomeDir(
wxString* pStr
wxString& rStrDir = *pStr;
// OS/2 has no idea about home,
- // so use the working directory instead?
+ // so use the working directory instead.
+ // However, we might have a valid HOME directory,
+ // as is used on many machines that have unix utilities
+ // on them, so we should use that, if available.
// 256 was taken from os2def.h
#ifndef MAX_PATH
# define MAX_PATH 256
#endif
- char zDirName[256];
- ULONG ulDirLen;
+ const wxChar *szHome = wxGetenv("HOME");
+ if ( szHome == NULL ) {
+ // we're homeless, use current directory.
+ rStrDir = wxT(".");
+ }
+ else
+ rStrDir = szHome;
- ::DosQueryCurrentDir(0, zDirName, &ulDirLen);
- rStrDir = zDirName;
return rStrDir.c_str();
}
wxChar* zHome;
wxString sUser1(rUser);
- wxBuffer = new wxChar[256];
+ char *wxBuffer = new wxChar[256];
#ifndef __EMX__
- if (sUser1 != _T(""))
+ if (!sUser1.empty())
{
wxChar zTmp[64];
}
}
#endif
- if (sUser1 == _T(""))
+ if (sUser1.empty())
{
if ((zHome = wxGetenv(_T("HOME"))) != NULL)
{
return NULL; // No home known!
}
-bool wxDirExists(
- const wxString& rDir
-)
-{
- return (::DosSetCurrentDir(WXSTRINGCAST rDir));
-}
-
wxString WXDLLEXPORT wxPMErrorToStr(
ERRORID vError
)
}
return(sError);
} // end of wxPMErrorToStr
+
+// replacement for implementation in unix/utilsunx.cpp,
+// to be used by all X11 based ports.
+struct wxEndProcessData;
+
+void wxHandleProcessTermination(wxEndProcessData *proc_data)
+{
+ // For now, just do nothing. To be filled in as needed.
+}