]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/utils.h
Trying to hide evidence of my negative programming skills...
[wxWidgets.git] / include / wx / utils.h
index 81941fe6f0613ec63e0957f5ad45eb285fdecb21..601f3cedbb358629b4652e6e45687c29def1e6dd 100644 (file)
@@ -42,12 +42,6 @@ class WXDLLEXPORT wxWindow;
 class WXDLLEXPORT wxWindowList;
 class WXDLLEXPORT wxPoint;
 
 class WXDLLEXPORT wxWindowList;
 class WXDLLEXPORT wxPoint;
 
-// FIXME should use wxStricmp() instead
-#if defined(__GNUWIN32__)
-    #define stricmp strcasecmp
-    #define strnicmp strncasecmp
-#endif
-
 // ----------------------------------------------------------------------------
 // Macros
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // Macros
 // ----------------------------------------------------------------------------
@@ -180,8 +174,22 @@ enum wxSignal
     // further signals are different in meaning between different Unix systems
 };
 
     // further signals are different in meaning between different Unix systems
 };
 
-// the argument is ignored under Windows - the process is always killed
-WXDLLEXPORT int wxKill(long pid, wxSignal sig = wxSIGTERM);
+enum wxKillError
+{
+    wxKILL_OK,              // no error
+    wxKILL_BAD_SIGNAL,      // no such signal
+    wxKILL_ACCESS_DENIED,   // permission denied
+    wxKILL_NO_PROCESS,      // no such process
+    wxKILL_ERROR            // another, unspecified error
+};
+
+// send the given signal to the process (only NONE and KILL are supported under
+// Windows, all others mean TERM), return 0 if ok and -1 on error
+//
+// return detailed error in rc if not NULL
+WXDLLEXPORT int wxKill(long pid,
+                       wxSignal sig = wxSIGTERM,
+                       wxKillError *rc = NULL);
 
 // Execute a command in an interactive shell window (always synchronously)
 // If no command then just the shell
 
 // Execute a command in an interactive shell window (always synchronously)
 // If no command then just the shell
@@ -302,6 +310,9 @@ WXDLLEXPORT wxWindow* wxFindWindowAtPoint(const wxPoint& pt);
 // Yield to other apps/messages
 WXDLLEXPORT bool wxYield();
 
 // Yield to other apps/messages
 WXDLLEXPORT bool wxYield();
 
+// Like wxYield, but fails silently if the yield is recursive.
+WXDLLEXPORT bool wxYieldIfNeeded();
+
 // Yield to other apps/messages and disable user input
 WXDLLEXPORT bool wxSafeYield(wxWindow *win = NULL);
 
 // Yield to other apps/messages and disable user input
 WXDLLEXPORT bool wxSafeYield(wxWindow *win = NULL);