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.
// 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);
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
//
// ctor and enables them back in its dtor
class WXDLLEXPORT wxWindowDisabler
{
+ DECLARE_NO_COPY_CLASS(wxWindowDisabler)
+
public:
wxWindowDisabler(wxWindow *winToSkip = (wxWindow *)NULL);
~wxWindowDisabler();