]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/unix/apptbase.h
Initial work on virtual file system support for the WebKitGTK+ backend. It now suppor...
[wxWidgets.git] / include / wx / unix / apptbase.h
index db5604279b83695b64f54f85a29e060313476edd..8bf6b4cb97efe82b83880420ab01a666581ad5c6 100644 (file)
@@ -14,7 +14,7 @@
 
 struct wxEndProcessData;
 struct wxExecuteData;
 
 struct wxEndProcessData;
 struct wxExecuteData;
-class wxPipe;
+class wxFDIOManager;
 
 // ----------------------------------------------------------------------------
 // wxAppTraits: the Unix version adds extra hooks needed by Unix code
 
 // ----------------------------------------------------------------------------
 // wxAppTraits: the Unix version adds extra hooks needed by Unix code
@@ -26,20 +26,6 @@ public:
     // wxExecute() support methods
     // ---------------------------
 
     // wxExecute() support methods
     // ---------------------------
 
-    // called before starting the child process and creates the pipe used for
-    // detecting the process termination asynchronously in GUI, does nothing in
-    // wxBase
-    //
-    // if it returns false, we should return from wxExecute() with an error
-    virtual bool CreateEndProcessPipe(wxExecuteData& execData);
-
-    // test if the given descriptor is the end of the pipe create by the
-    // function above
-    virtual bool IsWriteFDOfEndProcessPipe(wxExecuteData& execData, int fd);
-
-    // ensure that the write end of the pipe is not closed by wxPipe dtor
-    virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
-
     // wait for the process termination, return whatever wxExecute() must
     // return
     //
     // wait for the process termination, return whatever wxExecute() must
     // return
     //
@@ -57,18 +43,24 @@ public:
     // loop
     virtual int AddProcessCallback(wxEndProcessData *data, int fd);
 
     // loop
     virtual int AddProcessCallback(wxEndProcessData *data, int fd);
 
-
-    // wxThread helpers
-    // ----------------
-
-    // TODO
-
 #if wxUSE_SOCKETS
 #if wxUSE_SOCKETS
-    // returns the select()-based socket manager for console applications which
-    // is also used by some ports (wxX11, wxDFB) in the GUI build (hence it is
-    // here and not in wxConsoleAppTraits)
-    virtual GSocketManager *GetSocketManager();
-#endif
+    // return a pointer to the object which should be used to integrate
+    // monitoring of the file descriptors to the event loop (currently this is
+    // used for the sockets only but should be used for arbitrary event loop
+    // sources in the future)
+    //
+    // this object may be different for the console and GUI applications
+    //
+    // the pointer is not deleted by the caller as normally it points to a
+    // static variable
+    virtual wxFDIOManager *GetFDIOManager();
+#endif // wxUSE_SOCKETS
+
+protected:
+    // a helper for the implementation of WaitForChild() in wxGUIAppTraits:
+    // checks the streams used for redirected IO in execData and returns true
+    // if there is any activity in them
+    bool CheckForRedirectedIO(wxExecuteData& execData);
 };
 
 #endif // _WX_UNIX_APPTBASE_H_
 };
 
 #endif // _WX_UNIX_APPTBASE_H_