]>
git.saurik.com Git - wxWidgets.git/blob - src/unix/baseunix.cpp
   1 /////////////////////////////////////////////////////////////////////////////// 
   2 // Name:        unix/baseunix.cpp 
   3 // Purpose:     misc stuff only used in console applications under Unix 
   4 // Author:      Vadim Zeitlin 
   8 // Copyright:   (c) 2003 Vadim Zeitlin <vadim@wxwindows.org> 
   9 // License:     wxWindows licence 
  10 /////////////////////////////////////////////////////////////////////////////// 
  12 // ============================================================================ 
  14 // ============================================================================ 
  16 // ---------------------------------------------------------------------------- 
  18 // ---------------------------------------------------------------------------- 
  20 // for compilers that support precompilation, includes "wx.h". 
  21 #include "wx/wxprec.h" 
  32 #include "wx/apptrait.h" 
  34 #include "wx/unix/execute.h" 
  37 #include <sys/types.h> 
  40 // ============================================================================ 
  41 // wxConsoleAppTraits implementation 
  42 // ============================================================================ 
  44 // ---------------------------------------------------------------------------- 
  46 // ---------------------------------------------------------------------------- 
  48 bool wxConsoleAppTraits::CreateEndProcessPipe(wxExecuteData
& WXUNUSED(data
)) 
  50     // nothing to do, so always ok 
  55 wxConsoleAppTraits::IsWriteFDOfEndProcessPipe(wxExecuteData
& WXUNUSED(data
), 
  58     // we don't have any pipe 
  63 wxConsoleAppTraits::DetachWriteFDOfEndProcessPipe(wxExecuteData
& WXUNUSED(data
)) 
  70 wxConsoleAppTraits::WaitForChild(wxExecuteData
& execData
) 
  72     wxASSERT_MSG( execData
.flags 
& wxEXEC_SYNC
, 
  73                   wxT("async execution not supported yet") ); 
  76     if ( waitpid(execData
.pid
, &exitcode
, 0) == -1 || !WIFEXITED(exitcode
) ) 
  78         wxLogSysError(_("Waiting for subprocess termination failed")); 
  84 // ---------------------------------------------------------------------------- 
  86 // ---------------------------------------------------------------------------- 
  88 // this is in mac/utils.cpp under Mac 
  89 #if !defined(__WXMAC__) 
  91 wxToolkitInfo
& wxConsoleAppTraits::GetToolkitInfo() 
  93     static wxToolkitInfo info
; 
  96     FILE *f 
= popen("uname -r", "r"); 
 100         size_t c 
= fread(buf
, 1, sizeof(buf
) - 1, f
); 
 103         if ( sscanf(buf
, "%d.%d", &major
, &minor
) != 2 ) 
 105             // unrecognized uname string format 
 112         // failed to run uname 
 117     info
.versionMajor 
= major
; 
 118     info
.versionMinor 
= minor
; 
 119     info
.name 
= _T("wxBase");