]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/apptbase.h
Increase version to 2.9.5.
[wxWidgets.git] / include / wx / msw / apptbase.h
index 34101ac4ba20bf2b4f3bab6671d2e79c6ee93569..9e38a61d1178f6bf7099f9bafd5f84fb710f5302 100644 (file)
@@ -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_