X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fbf456aa8952c6d2d3edeea1208b0e3159a3cb8d..7e25f59e48c3ee93fcb54aa7fca1fd51628c2fac:/include/wx/utils.h diff --git a/include/wx/utils.h b/include/wx/utils.h index 2306a14cd3..2b984a8d4c 100644 --- a/include/wx/utils.h +++ b/include/wx/utils.h @@ -153,10 +153,19 @@ WXDLLEXPORT wxString wxDecToHex(int dec); enum { - wxEXEC_ASYNC = 0, // execute the process asynchronously - wxEXEC_SYNC = 1, // synchronously - wxEXEC_NOHIDE = 2 // under Windows, don't hide the child even if it's - // IO is redirected (this is done by default) + // execute the process asynchronously + wxEXEC_ASYNC = 0, + + // execute it synchronously, i.e. wait until it finishes + wxEXEC_SYNC = 1, + + // under Windows, don't hide the child even if it's IO is redirected (this + // is done by default) + wxEXEC_NOHIDE = 2, + + // under Unix, if the process is the group leader then killing -pid kills + // all children as well as pid + wxEXEC_MAKE_GROUP_LEADER = 4 }; // Execute another program. @@ -164,7 +173,7 @@ enum // If flags contain wxEXEC_SYNC, return -1 on failure and the exit code of the // process if everything was ok. Otherwise (i.e. if wxEXEC_ASYNC), return 0 on // failure and the PID of the launched process if ok. -WXDLLEXPORT long wxExecute(wxChar **argv, int flags = wxEXEC_ASYNC, +WXDLLEXPORT long wxExecute(char **argv, int flags = wxEXEC_ASYNC, wxProcess *process = (wxProcess *) NULL); WXDLLEXPORT long wxExecute(const wxString& command, int flags = wxEXEC_ASYNC, wxProcess *process = (wxProcess *) NULL); @@ -211,6 +220,15 @@ enum wxKillError wxKILL_ERROR // another, unspecified error }; +enum wxShutdownFlags +{ + wxSHUTDOWN_POWEROFF, // power off the computer + wxSHUTDOWN_REBOOT // shutdown and reboot +}; + +// Shutdown or reboot the PC +WXDLLEXPORT bool wxShutdown(wxShutdownFlags wFlags); + // 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 // @@ -357,6 +375,8 @@ WXDLLEXPORT void wxFlushEvents(); // ctor and enables them back in its dtor class WXDLLEXPORT wxWindowDisabler { + DECLARE_NO_COPY_CLASS(wxWindowDisabler) + public: wxWindowDisabler(wxWindow *winToSkip = (wxWindow *)NULL); ~wxWindowDisabler();