]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/process.h
GCC 4.0 (Apple 4059) is a little bit pickier than 3.3.
[wxWidgets.git] / include / wx / process.h
index 893e1b38741150b2cbd4bbd8462302d87adf92cc..b372d7235fd1300a9a9df1057b30fccad53f4f51 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_PROCESSH__
 #define _WX_PROCESSH__
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "process.h"
 #endif
 
@@ -39,11 +39,11 @@ enum
 // function will be called when the process terminates.
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT_BASE wxProcess : public wxEvtHandler
+class WXDLLIMPEXP_BASE wxProcess : public wxEvtHandler
 {
 public:
     // kill the process with the given PID
-    static wxKillError Kill(int pid, wxSignal sig = wxSIGTERM);
+    static wxKillError Kill(int pid, wxSignal sig = wxSIGTERM, int flags = wxKILL_NOCHILDREN);
 
     // test if the given process exists
     static bool Exists(int pid);
@@ -59,10 +59,10 @@ public:
 
 
     // ctors
-    wxProcess(wxEvtHandler *parent = (wxEvtHandler *) NULL, int id = -1)
-        { Init(parent, id, wxPROCESS_DEFAULT); }
+    wxProcess(wxEvtHandler *parent = (wxEvtHandler *) NULL, int nId = wxID_ANY)
+        { Init(parent, nId, wxPROCESS_DEFAULT); }
 
-    wxProcess(int flags) { Init(NULL, -1, flags); }
+    wxProcess(int flags) { Init(NULL, wxID_ANY, flags); }
 
     virtual ~wxProcess();
 
@@ -72,7 +72,7 @@ public:
     // call this before passing the object to wxExecute() to redirect the
     // launched process stdin/stdout, then use GetInputStream() and
     // GetOutputStream() to get access to them
-    void Redirect() { m_redirect = TRUE; }
+    void Redirect() { m_redirect = true; }
     bool IsRedirected() const { return m_redirect; }
 
     // detach from the parent - should be called by the parent if it's deleted
@@ -88,10 +88,10 @@ public:
     // close the output stream indicating that nothing more will be written
     void CloseOutput() { delete m_outputStream; m_outputStream = NULL; }
 
-    // return TRUE if the child process stdout is not closed
+    // return true if the child process stdout is not closed
     bool IsInputOpened() const;
 
-    // return TRUE if any input is available on the child process stdout/err
+    // return true if any input is available on the child process stdout/err
     bool IsInputAvailable() const;
     bool IsErrorAvailable() const;
 
@@ -107,8 +107,7 @@ public:
 
     // for backwards compatibility only, don't use
 #if WXWIN_COMPATIBILITY_2_2
-    wxProcess(wxEvtHandler *parent, bool redirect)
-        { Init(parent, -1, redirect ? wxPROCESS_REDIRECT : wxPROCESS_DEFAULT); }
+    wxDEPRECATED( wxProcess(wxEvtHandler *parent, bool redirect) );
 #endif // WXWIN_COMPATIBILITY_2_2
 
 protected:
@@ -136,13 +135,13 @@ protected:
 // ----------------------------------------------------------------------------
 
 BEGIN_DECLARE_EVENT_TYPES()
-    DECLARE_EVENT_TYPE(wxEVT_END_PROCESS, 440)
+    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_BASE, wxEVT_END_PROCESS, 440)
 END_DECLARE_EVENT_TYPES()
 
-class WXDLLEXPORT_BASE wxProcessEvent : public wxEvent
+class WXDLLIMPEXP_BASE wxProcessEvent : public wxEvent
 {
 public:
-    wxProcessEvent(int id = 0, int pid = 0, int exitcode = 0) : wxEvent(id)
+    wxProcessEvent(int nId = 0, int pid = 0, int exitcode = 0) : wxEvent(nId)
     {
         m_eventType = wxEVT_END_PROCESS;
         m_pid = pid;
@@ -163,17 +162,15 @@ public:
     int m_pid,
         m_exitcode;
 
-    DECLARE_DYNAMIC_CLASS(wxProcessEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxProcessEvent)
 };
 
 typedef void (wxEvtHandler::*wxProcessEventFunction)(wxProcessEvent&);
 
+#define wxProcessEventHandler(func) \
+    (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxProcessEventFunction, &func)
+
 #define EVT_END_PROCESS(id, func) \
-   DECLARE_EVENT_TABLE_ENTRY( \
-           wxEVT_END_PROCESS, id, -1, \
-           (wxObjectEventFunction) \
-           (wxEventFunction) \
-           (wxProcessEventFunction) & func, NULL),
+   wx__DECLARE_EVT1(wxEVT_END_PROCESS, id, wxProcessEventHandler(func))
 
-#endif
-    // _WX_PROCESSH__
+#endif // _WX_PROCESSH__