X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2804f77d88eb478f85a281b19d87e38cd96e0d0c..6041f69ca7bbb7c39e4ba64e407bc3ac39e3687f:/include/wx/msw/apptbase.h diff --git a/include/wx/msw/apptbase.h b/include/wx/msw/apptbase.h index 34101ac4ba..9e38a61d11 100644 --- a/include/wx/msw/apptbase.h +++ b/include/wx/msw/apptbase.h @@ -26,14 +26,12 @@ public: // some opaque data which will be passed later to AfterChildWaitLoop() virtual void *BeforeChildWaitLoop() = 0; - // process pending Windows messages, even in console app - virtual void AlwaysYield() = 0; - // called after starting to wait for the child termination, the parameter // is the return value of BeforeChildWaitLoop() virtual void AfterChildWaitLoop(void *data) = 0; +#if wxUSE_THREADS // wxThread helpers // ---------------- @@ -43,34 +41,32 @@ public: // wait for the handle to be signaled, return WAIT_OBJECT_0 if it is or, in // the GUI code, WAIT_OBJECT_0 + 1 if a Windows message arrived - virtual WXDWORD WaitForThread(WXHANDLE hThread) = 0; + virtual WXDWORD WaitForThread(WXHANDLE hThread, int flags) = 0; +#endif // wxUSE_THREADS - // wxSocket support - // ---------------- +#ifndef __WXWINCE__ + // console helpers + // --------------- -#if wxUSE_SOCKETS - // this function is used by wxNet library to set the default socket manager - // to use: doing it like this allows us to keep all socket-related code in - // wxNet instead of having to pull it in wxBase itself as we'd have to do - // if we really implemented GSocketManager here + // this method can be overridden by a derived class to always return true + // or false to force [not] using the console for output to stderr // - // we don't take ownership of this pointer, it should have a lifetime - // greater than that of any socket (e.g. be a pointer to a static object) - static void SetDefaultSocketManager(GSocketManager *manager) - { - ms_manager = manager; - } + // by default console applications always return true from here while the + // GUI ones only return true if they're being run from console and there is + // no other activity happening in this console + virtual bool CanUseStderr() = 0; - virtual GSocketManager *GetSocketManager() { return ms_manager; } -#endif // wxUSE_SOCKETS + // write text to the console, return true if ok or false on error + virtual bool WriteToStderr(const wxString& text) = 0; +#endif // !__WXWINCE__ protected: +#if wxUSE_THREADS // implementation of WaitForThread() for the console applications which is - // also used by the GUI code if it doesn't [yet|already} dispatch events + // also used by the GUI code if it doesn't [yet|already] dispatch events WXDWORD DoSimpleWaitForThread(WXHANDLE hThread); - - static GSocketManager *ms_manager; +#endif // wxUSE_THREADS }; #endif // _WX_MSW_APPTBASE_H_