%}
-%name(Process)class wxPyProcess : public wxEvtHandler {
+%rename(Process) wxPyProcess;
+class wxPyProcess : public wxEvtHandler {
public:
// kill the process with the given PID
static wxKillError Kill(int pid,
void _setCallbackInfo(PyObject* self, PyObject* _class);
- void base_OnTerminate(int pid, int status);
-
+ void OnTerminate(int pid, int status);
+ %MAKE_BASE_FUNC(Process, OnTerminate);
+
// call Redirect before passing the object to wxExecute() to redirect the
// launched process stdin/stdout, then use GetInputStream() and
// GetOutputStream() to get access to them
// return True if any input is available on the child process stdout/err
bool IsInputAvailable() const;
bool IsErrorAvailable() const;
+
+ %property(ErrorStream, GetErrorStream, doc="See `GetErrorStream`");
+ %property(InputStream, GetInputStream, doc="See `GetInputStream`");
+ %property(OutputStream, GetOutputStream, doc="See `GetOutputStream`");
+
+ %property(InputOpened, IsInputOpened);
+ %property(InputAvailable, IsInputAvailable);
+ %property(ErrorAvailable, IsErrorAvailable);
};
//---------------------------------------------------------------------------
int GetPid();
int GetExitCode();
int m_pid, m_exitcode;
+
+ %property(ExitCode, GetExitCode, doc="See `GetExitCode`");
+ %property(Pid, GetPid, doc="See `GetPid`");
};
// under Unix, if the process is the group leader then killing -pid kills
// all children as well as pid
- wxEXEC_MAKE_GROUP_LEADER = 4
+ wxEXEC_MAKE_GROUP_LEADER = 4,
+
+ // by default synchronous execution disables all program windows to avoid
+ // that the user interacts with the program while the child process is
+ // running, you can use this flag to prevent this from happening
+ wxEXEC_NODISABLE = 8
};
{
PyObject* o;
o = PyInt_FromLong((long) (*$1));
+#if SWIG_VERSION < 0x010328
$result = t_output_helper($result, o);
+#else
+ $result = SWIG_Python_AppendOutput($result, o);
+#endif
}
int wxKill(long pid, wxSignal sig = wxSIGTERM, wxKillError* rc, int flags = wxKILL_NOCHILDREN);