-
-// ----------------------------------------------------------------------------
-// network and user id functions
-// ----------------------------------------------------------------------------
-
-// Get Full RFC822 style email address
-bool wxGetEmailAddress(wxChar *address, int maxSize)
-{
- wxString email = wxGetEmailAddress();
- if ( !email )
- return FALSE;
-
- wxStrncpy(address, email, maxSize - 1);
- address[maxSize - 1] = wxT('\0');
-
- return TRUE;
-}
-
-wxString wxGetEmailAddress()
-{
- wxString email;
-
- wxString host = wxGetHostName();
- if ( !!host )
- {
- wxString user = wxGetUserId();
- if ( !!user )
- {
- wxString email(user);
- email << wxT('@') << host;
- }
- }
-
- return email;
-}
-
-wxString wxGetUserId()
-{
- static const int maxLoginLen = 256; // FIXME arbitrary number
-
- wxString buf;
- bool ok = wxGetUserId(buf.GetWriteBuf(maxLoginLen), maxLoginLen);
- buf.UngetWriteBuf();
-
- if ( !ok )
- buf.Empty();
-
- return buf;
-}
-
-wxString wxGetUserName()
-{
- static const int maxUserNameLen = 1024; // FIXME arbitrary number
-
- wxString buf;
- bool ok = wxGetUserName(buf.GetWriteBuf(maxUserNameLen), maxUserNameLen);
- buf.UngetWriteBuf();
-
- if ( !ok )
- buf.Empty();
-
- return buf;
-}
-
-wxString wxGetHostName()
-{
- static const size_t hostnameSize = 257;
-
- wxString buf;
- bool ok = wxGetHostName(buf.GetWriteBuf(hostnameSize), hostnameSize);
-
- buf.UngetWriteBuf();
-
- if ( !ok )
- buf.Empty();
-
- return buf;
-}
-
-wxString wxGetFullHostName()
-{
- static const size_t hostnameSize = 257;
-
- wxString buf;
- bool ok = wxGetFullHostName(buf.GetWriteBuf(hostnameSize), hostnameSize);
-
- buf.UngetWriteBuf();
-
- if ( !ok )
- buf.Empty();
-
- return buf;
-}
-
-wxString wxGetHomeDir()
-{
- wxString home;
- wxGetHomeDir(&home);
-
- return home;
-}
-
-#if 0
-
-wxString wxGetCurrentDir()
-{
- wxString dir;
- size_t len = 1024;
- bool ok;
- do
- {
- ok = getcwd(dir.GetWriteBuf(len + 1), len) != NULL;
- dir.UngetWriteBuf();
-
- if ( !ok )
- {
- if ( errno != ERANGE )
- {
- wxLogSysError(_T("Failed to get current directory"));
-
- return wxEmptyString;
- }
- else
- {
- // buffer was too small, retry with a larger one
- len *= 2;
- }
- }
- //else: ok
- } while ( !ok );
-
- return dir;
-}
-
-#endif // 0
-
-// ----------------------------------------------------------------------------
-// wxExecute
-// ----------------------------------------------------------------------------
-
-long wxExecute(const wxString& command, wxArrayString& output)
-{
-#ifdef __WIN16__
- wxFAIL_MSG("Sorry, this version of wxExecute not implemented on WIN16.");
- return 0;
-#else
- // create a wxProcess which will capture the output
- wxProcess *process = new wxProcess;
- process->Redirect();
-
- long rc = wxExecute(command, TRUE /* sync */, process);
- if ( rc != -1 )
- {
- wxInputStream& is = *process->GetInputStream();
- wxTextInputStream tis(is);
- while ( !is.Eof() && is.IsOk() )
- {
- wxString line = tis.ReadLine();
- if ( is.LastError() )
- break;
-
- output.Add(line);
- }
- }
-
- return rc;
-#endif
-}