]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/process.h
simplified WXDLLEXPORT/IMPORT defines, added WXEXPORT/IMPORT
[wxWidgets.git] / include / wx / process.h
index ddf87b3a0409fdd2a9a527ee16645301fee4e95e..cfc4ca9627d806b3fb65d85ebdb1c5696734d7f7 100644 (file)
     #pragma interface "process.h"
 #endif
 
-#include "wx/defs.h"
-#include "wx/object.h"
 #include "wx/event.h"
 
 #if wxUSE_STREAMS
     #include "wx/stream.h"
 #endif
 
+#include "wx/utils.h"       // for wxSignal
+
 // ----------------------------------------------------------------------------
 // A wxProcess object should be passed to wxExecute - than its OnTerminate()
 // function will be called when the process terminates.
@@ -31,8 +31,6 @@
 
 class WXDLLEXPORT wxProcess : public wxEvtHandler
 {
-DECLARE_DYNAMIC_CLASS(wxProcess)
-
 public:
     wxProcess(wxEvtHandler *parent = (wxEvtHandler *) NULL, int id = -1)
         { Init(parent, id, FALSE); }
@@ -69,6 +67,12 @@ public:
                         wxInputStream *errStream);
 #endif // wxUSE_STREAMS
 
+    // kill the process with the given PID
+    static wxKillError Kill(int pid, wxSignal sig = wxSIGTERM);
+
+    // test if the given process exists
+    static bool Exists(int pid);
+
 protected:
     void Init(wxEvtHandler *parent, int id, bool redirect);
 
@@ -81,6 +85,8 @@ protected:
 #endif // wxUSE_STREAMS
 
     bool m_redirect;
+
+    DECLARE_DYNAMIC_CLASS(wxProcess)
 };
 
 // ----------------------------------------------------------------------------
@@ -114,10 +120,14 @@ public:
     DECLARE_DYNAMIC_CLASS(wxProcessEvent)
 };
 
-typedef void (wxObject::*wxProcessEventFunction)(wxProcessEvent&);
+typedef void (wxEvtHandler::*wxProcessEventFunction)(wxProcessEvent&);
 
 #define EVT_END_PROCESS(id, func) \
-   DECLARE_EVENT_TABLE_ENTRY( wxEVT_END_PROCESS, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxProcessEventFunction) & func, NULL),
+   DECLARE_EVENT_TABLE_ENTRY( \
+           wxEVT_END_PROCESS, id, -1, \
+           (wxObjectEventFunction) \
+           (wxEventFunction) \
+           (wxProcessEventFunction) & func, NULL),
 
 #endif
     // _WX_PROCESSH__