#include <tdeprocio.h>

Signals | |
void | readReady (TDEProcIO *pio) |
![]() | |
void | processExited (TDEProcess *proc) |
void | receivedStdout (TDEProcess *proc, char *buffer, int buflen) |
void | receivedStdout (int fd, int &len) |
void | receivedStderr (TDEProcess *proc, char *buffer, int buflen) |
void | wroteStdin (TDEProcess *proc) |
Public Member Functions | |
TDEProcIO (TQTextCodec *codec=0) | |
~TDEProcIO () | |
void | setComm (Communication comm) |
bool | start (RunMode runmode=NotifyOnExit, bool includeStderr=false) |
bool | writeStdin (const TQString &line, bool appendnewline=true) |
bool | writeStdin (const TQCString &line, bool appendnewline) |
bool | writeStdin (const TQByteArray &data) |
TDE_DEPRECATED bool | fputs (const TQString &line, bool AppendNewLine=true) |
void | closeWhenDone () |
int | readln (TQString &line, bool autoAck=true, bool *partial=0) |
TDE_DEPRECATED int | fgets (TQString &line, bool autoAck=false) |
void | resetAll () |
void | ackRead () |
void | enableReadSignals (bool enable) |
![]() | |
TDEProcess (TQObject *parent, const char *name=0) | |
TDEProcess () | |
virtual | ~TDEProcess () |
bool | setExecutable (const TQString &proc) TDE_DEPRECATED |
TDEProcess & | operator<< (const TQString &arg) |
TDEProcess & | operator<< (const char *arg) |
TDEProcess & | operator<< (const TQCString &arg) |
TDEProcess & | operator<< (const TQStringList &args) |
void | clearArguments () |
virtual bool | start (RunMode runmode=NotifyOnExit, Communication comm=NoCommunication) |
virtual bool | kill (int signo=SIGTERM) |
bool | isRunning () const |
pid_t | pid () const |
TDE_DEPRECATED pid_t | getPid () const |
void | suspend () |
void | resume () |
bool | wait (int timeout=-1) |
bool | normalExit () const |
bool | signalled () const |
bool | coreDumped () const |
int | exitStatus () const |
int | exitSignal () const |
bool | writeStdin (const char *buffer, int buflen) |
bool | closeStdin () |
bool | closeStdout () |
bool | closeStderr () |
bool | closePty () |
void | closeAll () |
const TQValueList< TQCString > & | args () |
void | setRunPrivileged (bool keepPrivileges) |
bool | runPrivileged () const |
void | setEnvironment (const TQString &name, const TQString &value) |
void | setWorkingDirectory (const TQString &dir) |
void | setUseShell (bool useShell, const char *shell=0) |
void | detach () |
void | setUsePty (Communication comm, bool addUtmp) |
KPty * | pty () const |
bool | setPriority (int prio) |
Protected Slots | |
void | received (TDEProcess *proc, char *buffer, int buflen) |
void | sent (TDEProcess *) |
![]() | |
void | slotChildOutput (int fdno) |
void | slotChildError (int fdno) |
void | slotSendData (int dummy) |
Protected Member Functions | |
void | controlledEmission () |
virtual void | virtual_hook (int id, void *data) |
![]() | |
void | setupEnvironment () |
virtual int | setupCommunication (Communication comm) |
virtual int | commSetupDoneP () |
virtual int | commSetupDoneC () |
virtual void | processHasExited (int state) |
virtual void | commClose () |
void | setBinaryExecutable (const char *filename) |
int | childOutput (int fdno) |
int | childError (int fdno) |
virtual void | virtual_hook (int id, void *data) |
Protected Attributes | |
TQPtrList< TQByteArray > | outbuffer |
TQCString | recvbuffer |
TQTextCodec * | codec |
int | rbi |
bool | needreadsignal |
bool | readsignalon |
bool | writeready |
![]() | |
TQValueList< TQCString > | arguments |
RunMode | run_mode |
bool | runs |
pid_t | pid_ |
int | status |
bool | keepPrivs |
int | out [2] |
int | in [2] |
int | err [2] |
TQSocketNotifier * | innot |
TQSocketNotifier * | outnot |
TQSocketNotifier * | errnot |
Communication | communication |
const char * | input_data |
int | input_sent |
int | input_total |
Additional Inherited Members | |
![]() | |
enum | Communication { NoCommunication = 0 , Stdin = 1 , Stdout = 2 , Stderr = 4 , AllOutput = 6 , All = 7 , NoRead = 8 , CTtyOnly = NoRead , MergedStderr = 16 } |
enum | RunMode { DontCare , NotifyOnExit , Block , OwnGroup } |
enum | { PrioLowest = 20 , PrioLow = 10 , PrioLower = 5 , PrioNormal = 0 , PrioHigher = -5 , PrioHigh = -10 , PrioHighest = -19 } |
![]() | |
static TQString | quote (const TQString &arg) |
Detailed Description
This class provides a slightly simpler interface to the communication functions provided by TDEProcess. The simplifications are:
- The buffer for a write is copied to an internal TDEProcIO buffer and maintained/freed appropriately. There is no need to be concerned with wroteStdin() signals at_all.
- readln() reads a line of data and buffers any leftovers.
- Conversion from/to unicode.
Basically, TDEProcIO gives you buffered I/O similar to fgets()/fputs().
Aside from these, and the fact that start() takes different parameters, use this class just like TDEProcess.
A slightly simpler interface to TDEProcess
Definition at line 50 of file tdeprocio.h.
Constructor & Destructor Documentation
◆ TDEProcIO()
TDEProcIO::TDEProcIO | ( | TQTextCodec * | codec = 0 | ) |
Constructor.
Definition at line 38 of file tdeprocio.cpp.
◆ ~TDEProcIO()
TDEProcIO::~TDEProcIO | ( | ) |
Destructor.
Definition at line 55 of file tdeprocio.cpp.
Member Function Documentation
◆ ackRead()
void TDEProcIO::ackRead | ( | ) |
Call this after you have finished processing a readReady() signal.
This call need not be made in the slot that was signalled by readReady(). You won't receive any more readReady() signals until you acknowledge with ackRead(). This prevents your slot from being reentered while you are still processing the current data. If this doesn't matter, then call ackRead() right away in your readReady()-processing slot.
Definition at line 196 of file tdeprocio.cpp.
◆ closeWhenDone()
void TDEProcIO::closeWhenDone | ( | ) |
Closes stdin after all data has been send.
Definition at line 154 of file tdeprocio.cpp.
◆ controlledEmission()
|
protected |
Definition at line 203 of file tdeprocio.cpp.
◆ enableReadSignals()
void TDEProcIO::enableReadSignals | ( | bool | enable | ) |
Turns readReady() signals on and off.
You can turn this off at will and not worry about losing any data. (as long as you turn it back on at some point...)
- Parameters
-
enable true to turn the signals on, false to turn them off
Definition at line 217 of file tdeprocio.cpp.
◆ fgets()
|
inline |
This function calls readln().
- Parameters
-
line is used to store the line that was read. autoAck when true, ackRead() is called for you.
- Returns
- the number of characters read, or -1 if no data is available.
- Deprecated:
- use readln. Note that it has an inverted autoAck default, though.
Definition at line 162 of file tdeprocio.h.
◆ fputs()
|
inline |
This function just calls writeStdin().
- Parameters
-
line Text to write. AppendNewLine if true, a newline '\n' is appended.
- Returns
- true if successful, false otherwise
Definition at line 123 of file tdeprocio.h.
◆ readln()
int TDEProcIO::readln | ( | TQString & | line, |
bool | autoAck = true , |
||
bool * | partial = 0 |
||
) |
Reads a line of text (up to and including '\n').
Use readln() in response to a readReady() signal. You may use it multiple times if more than one line of data is available. Be sure to use ackRead() when you have finished processing the readReady() signal. This informs TDEProcIO that you are ready for another readReady() signal.
readln() never blocks.
autoAck==true makes these functions call ackRead() for you.
- Parameters
-
line is used to store the line that was read. autoAck when true, ackRead() is called for you. partial when provided the line is returned even if it does not contain a '\n'. *partial will be set to false if the line contains a '\n' and false otherwise.
- Returns
- the number of characters read, or -1 if no data is available.
Definition at line 225 of file tdeprocio.cpp.
◆ readReady
|
signal |
Emitted when the process is ready for reading.
- Parameters
-
pio the process that emitted the signal
- See also
- enableReadSignals()
◆ received
|
protectedslot |
Definition at line 189 of file tdeprocio.cpp.
◆ resetAll()
void TDEProcIO::resetAll | ( | ) |
◆ sent
|
protectedslot |
Definition at line 166 of file tdeprocio.cpp.
◆ setComm()
void TDEProcIO::setComm | ( | Communication | comm | ) |
Sets the communication mode to be passed to TDEProcess::start() by start().
The default communication mode is TDEProcess::All. You probably want to use this function in conjunction with TDEProcess::setUsePty().
- Parameters
-
comm the communication mode
Definition at line 83 of file tdeprocio.cpp.
◆ start()
bool TDEProcIO::start | ( | RunMode | runmode = NotifyOnExit , |
bool | includeStderr = false |
||
) |
Starts the process.
It will fail in the following cases:
- The process is already running.
- The command line argument list is empty.
- The starting of the process failed (could not fork).
- The executable was not found.
- Parameters
-
runmode For a detailed description of the various run modes, have a look at the general description of the TDEProcess class. includeStderr If true, data from both stdout and stderr is listened to. If false, only stdout is listened to.
- Returns
- true on success, false on error.
Definition at line 88 of file tdeprocio.cpp.
◆ virtual_hook()
|
protectedvirtual |
Reimplemented from TDEProcess.
Definition at line 272 of file tdeprocio.cpp.
◆ writeStdin() [1/3]
bool TDEProcIO::writeStdin | ( | const TQByteArray & | data | ) |
Writes data to stdin of the process.
- Parameters
-
data Data to write.
- Returns
- true if successful, false otherwise
Definition at line 139 of file tdeprocio.cpp.
◆ writeStdin() [2/3]
bool TDEProcIO::writeStdin | ( | const TQCString & | line, |
bool | appendnewline | ||
) |
Writes text to stdin of the process.
- Parameters
-
line Text to write. appendnewline if true, a newline '\n' is appended.
- Returns
- true if successful, false otherwise
Definition at line 110 of file tdeprocio.cpp.
◆ writeStdin() [3/3]
bool TDEProcIO::writeStdin | ( | const TQString & | line, |
bool | appendnewline = true |
||
) |
Writes text to stdin of the process.
- Parameters
-
line Text to write. appendnewline if true, a newline '\n' is appended.
- Returns
- true if successful, false otherwise
Definition at line 105 of file tdeprocio.cpp.
Member Data Documentation
◆ codec
|
protected |
Definition at line 200 of file tdeprocio.h.
◆ needreadsignal
|
protected |
Definition at line 202 of file tdeprocio.h.
◆ outbuffer
|
protected |
Definition at line 198 of file tdeprocio.h.
◆ rbi
|
protected |
Definition at line 201 of file tdeprocio.h.
◆ readsignalon
|
protected |
Definition at line 202 of file tdeprocio.h.
◆ recvbuffer
|
protected |
Definition at line 199 of file tdeprocio.h.
◆ writeready
|
protected |
Definition at line 202 of file tdeprocio.h.
The documentation for this class was generated from the following files: