]>
git.saurik.com Git - wxWidgets.git/blob - src/unix/baseunix.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: src/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"
33 #include "wx/apptrait.h"
34 #include "wx/unix/execute.h"
35 #include "wx/evtloop.h"
37 #include "wx/unix/private/timer.h"
40 #include <sys/types.h>
43 // ============================================================================
44 // wxConsoleAppTraits implementation
45 // ============================================================================
47 // ----------------------------------------------------------------------------
49 // ----------------------------------------------------------------------------
51 bool wxConsoleAppTraits::CreateEndProcessPipe(wxExecuteData
& WXUNUSED(data
))
53 // nothing to do, so always ok
58 wxConsoleAppTraits::IsWriteFDOfEndProcessPipe(wxExecuteData
& WXUNUSED(data
),
61 // we don't have any pipe
66 wxConsoleAppTraits::DetachWriteFDOfEndProcessPipe(wxExecuteData
& WXUNUSED(data
))
73 wxConsoleAppTraits::WaitForChild(wxExecuteData
& execData
)
75 wxASSERT_MSG( execData
.flags
& wxEXEC_SYNC
,
76 wxT("async execution not supported yet") );
79 if ( waitpid(execData
.pid
, &exitcode
, 0) == -1 || !WIFEXITED(exitcode
) )
81 wxLogSysError(_("Waiting for subprocess termination failed"));
89 wxTimerImpl
*wxConsoleAppTraits::CreateTimerImpl(wxTimer
*timer
)
91 // this doesn't work yet as there is no main loop in console applications
92 // (but it will be added later)
93 return new wxUnixTimerImpl(timer
);
98 #if wxUSE_CONSOLE_EVENTLOOP
100 wxEventLoopBase
*wxConsoleAppTraits::CreateEventLoop()
102 return new wxEventLoop();
105 #endif // wxUSE_CONSOLE_EVENTLOOP