]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/process.h
added wx/defs.h include to correct compilation issues under Mac OS X
[wxWidgets.git] / include / wx / process.h
index 34d54a50cb398eefe5c2a9aff1b2c1abecbc6fdc..571bf65c2947e9762eb535e852ebe50b30c33707 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,12 +85,18 @@ protected:
 #endif // wxUSE_STREAMS
 
     bool m_redirect;
+
+    DECLARE_DYNAMIC_CLASS(wxProcess)
 };
 
 // ----------------------------------------------------------------------------
 // wxProcess events
 // ----------------------------------------------------------------------------
 
+BEGIN_DECLARE_EVENT_TYPES()
+    DECLARE_EVENT_TYPE(wxEVT_END_PROCESS, 440)
+END_DECLARE_EVENT_TYPES()
+
 class WXDLLEXPORT wxProcessEvent : public wxEvent
 {
 public:
@@ -110,10 +120,6 @@ public:
     DECLARE_DYNAMIC_CLASS(wxProcessEvent)
 };
 
-BEGIN_DECLARE_EVENT_TYPES()
-    DECLARE_EVENT_TYPE(wxEVT_END_PROCESS, 440)
-END_DECLARE_EVENT_TYPES()
-
 typedef void (wxObject::*wxProcessEventFunction)(wxProcessEvent&);
 
 #define EVT_END_PROCESS(id, func) \