]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/process.tex
Chnaged includes to work without precompiled headers
[wxWidgets.git] / docs / latex / wx / process.tex
CommitLineData
eafc087e
GL
1\section{\class{wxProcess}}\label{wxprocess}
2
8c517ddd 3The objects of this class are used in conjunction with
7e84f02d
VZ
4\helpref{wxExecute}{wxexecute} function. When a wxProcess object is passed to
5wxExecute(), its \helpref{OnTerminate()}{wxprocessonterminate} virtual method
6is called when the process terminates. This allows the program to be
7(asynchronously) notified about the process termination and also retrieve its
8exit status which is unavailable from wxExecute() in the case of
9asynchronous execution.
10
11Please note that if the process termination notification is processed by the
12parent, it is responsible for deleting the wxProcess object which sent it.
13However, if it is not processed, the object will delete itself and so the
14library users should only delete those objects whose notifications have been
15processed (and call \helpref{Detach()}{wxprocessdetach} for others).
eafc087e
GL
16
17\wxheading{Derived from}
18
19\helpref{wxEvtHandler}{wxevthandler}
20
954b8ae6
JS
21\wxheading{Include files}
22
23<wx/process.h>
24
eafc087e
GL
25\latexignore{\rtfignore{\wxheading{Members}}}
26
27\membersection{wxProcess::wxProcess}\label{wxprocessconstr}
28
e8482f24 29\func{}{wxProcess}{\param{wxEvtHandler *}{ parent = NULL}, \param{int}{ id = -1}}
eafc087e
GL
30
31Constructs a process object. {\it id} is only used in the case you want to
3972fb49
JS
32use wxWindows events. It identifies this object, or another window that will
33receive the event.
eafc087e 34
7e84f02d
VZ
35If the {\it parent} parameter is different from NULL, it will receive
36a wxEVT\_END\_PROCESS notification event (you should insert EVT\_END\_PROCESS
37macro in the event table of the parent to handle it) with the given {\it id}.
38
eafc087e
GL
39\wxheading{Parameters}
40
41\docparam{parent}{The event handler parent.}
42
43\docparam{id}{id of an event.}
44
45\membersection{wxProcess::\destruct{wxProcess}}
46
47\func{}{\destruct{wxProcess}}{\void}
48
49Destroys the wxProcess object.
50
7e84f02d
VZ
51\membersection{wxProcess::Detach}\label{wxprocessdetach}
52
53\func{void}{Detach}{\void}
54
55Normally, a wxProcess object is deleted by its parent when it receives the
56notification about the process termination. However, it might happen that the
57parent object is destroyed before the external process is terminated (e.g. a
58window from which this external process was launched is closed by the user)
59and in this case it {\bf should not delete} the wxProcess object, but
60{\bf should call Detach()} instead. After the wxProcess object is detached
61from its parent, no notification events will be sent to the parent and the
62object will delete itself upon reception of the process termination
63notification.
64
70dc22dc
GL
65\membersection{wxProcess::GetInputStream}\label{wxprocessgetinputstream}
66
67\constfunc{wxInputStream* }{GetInputStream}{\void}
68
66f55ec6 69It returns a output stream corresponding to the input stream of the subprocess.
e8482f24
GL
70If it is NULL, you have not turned on the redirection.
71See \helpref{wxProcess::Redirect}{wxprocessredirect}.
70dc22dc 72
66f55ec6 73\membersection{wxProcess::GetOutputStream}\label{wxprocessgetoutputstream}
70dc22dc 74
66f55ec6 75\constfunc{wxOutputStream* }{GetOutputStream}{\void}
70dc22dc 76
66f55ec6 77It returns an output stream correspoding to the output stream of the subprocess.
e8482f24
GL
78If it is NULL, you have not turned on the redirection.
79See \helpref{wxProcess::Redirect}{wxprocessredirect}.
70dc22dc 80
eafc087e
GL
81\membersection{wxProcess::OnTerminate}\label{wxprocessonterminate}
82
7e84f02d 83\constfunc{void}{OnTerminate}{\param{int}{ pid}, \param{int}{ status}}
eafc087e
GL
84
85It is called when the process with the pid {\it pid} finishes.
86It raises a wxWindows event when it isn't overriden.
87
7e84f02d
VZ
88\docparam{pid}{The pid of the process which has just terminated.}
89
90\docparam{status}{The exit code of the process.}
3972fb49 91
e8482f24
GL
92\membersection{wxProcess::Redirect}\label{wxprocessredirect}
93
94\func{void}{Redirect}{\void}
95
96It turns on the redirection, wxExecute will try to open a couple of pipes
97to catch the subprocess stdio. The caught input stream is returned by
98GetOutputStream() as a non-seekable stream. The caught output stream is returned
99by GetInputStream() as a non-seekable stream.
66f55ec6 100