]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/unix/apptbase.h
add comparison operators for wxPen/BrushStyle and wxSOLID/... constants to avoid...
[wxWidgets.git] / include / wx / unix / apptbase.h
index 50f30040f8e3cd594cdac5e1a6ef6ce261751384..db5604279b83695b64f54f85a29e060313476edd 100644 (file)
@@ -12,6 +12,7 @@
 #ifndef _WX_UNIX_APPTBASE_H_
 #define _WX_UNIX_APPTBASE_H_
 
+struct wxEndProcessData;
 struct wxExecuteData;
 class wxPipe;
 
@@ -30,18 +31,31 @@ public:
     // wxBase
     //
     // if it returns false, we should return from wxExecute() with an error
-    virtual bool CreateEndProcessPipe(wxExecuteData& execData) = 0;
+    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) = 0;
+    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) = 0;
+    virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
 
     // wait for the process termination, return whatever wxExecute() must
     // return
-    virtual int WaitForChild(wxExecuteData& execData) = 0;
+    //
+    // base class implementation handles all cases except wxEXEC_SYNC without
+    // wxEXEC_NOEVENTS one which is implemented at the GUI level
+    virtual int WaitForChild(wxExecuteData& execData);
+
+    // integrate the monitoring of the given fd with the port-specific event
+    // loop: when this fd, which corresponds to a dummy pipe opened between the
+    // parent and child processes, is closed by the child, the parent is
+    // notified about this via a call to wxHandleProcessTermination() function
+    //
+    // the default implementation uses wxFDIODispatcher and so is suitable for
+    // the console applications or ports which don't have any specific event
+    // loop
+    virtual int AddProcessCallback(wxEndProcessData *data, int fd);
 
 
     // wxThread helpers