KDE3Support
#include <k3procio.h>
Signals | |
void | readReady (K3ProcIO *pio) |
Signals inherited from K3Process | |
void | processExited (K3Process *proc) |
void | receivedStderr (K3Process *proc, char *buffer, int buflen) |
void | receivedStdout (K3Process *proc, char *buffer, int buflen) |
void | receivedStdout (int fd, int &len) |
void | wroteStdin (K3Process *proc) |
Public Member Functions | |
K3ProcIO (QTextCodec *codec=0) | |
~K3ProcIO () | |
void | ackRead () |
void | closeWhenDone () |
void | enableReadSignals (bool enable) |
int | readln (QString &line, bool autoAck=true, bool *partial=0) |
void | resetAll () |
void | setComm (Communication comm) |
bool | start (RunMode runmode=NotifyOnExit, bool includeStderr=false) |
bool | writeStdin (const QString &line, bool appendnewline=true) |
bool | writeStdin (const QByteArray &line, bool appendnewline) |
bool | writeStdin (const QByteArray &data) |
Public Member Functions inherited from K3Process | |
K3Process (QObject *parent=0L) | |
virtual | ~K3Process () |
const QList< QByteArray > & | args () |
void | clearArguments () |
void | closeAll () |
bool | closePty () |
bool | closeStderr () |
bool | closeStdin () |
bool | closeStdout () |
bool | coreDumped () const |
void | detach () |
int | exitSignal () const |
int | exitStatus () const |
bool | isRunning () const |
virtual bool | kill (int signo=SIGTERM) |
bool | normalExit () const |
K3Process & | operator<< (const QString &arg) |
K3Process & | operator<< (const char *arg) |
K3Process & | operator<< (const QByteArray &arg) |
K3Process & | operator<< (const QStringList &args) |
pid_t | pid () const |
KPty * | pty () const |
void | resume () |
bool | runPrivileged () const |
void | setEnvironment (const QString &name, const QString &value) |
bool | setPriority (int prio) |
void | setRunPrivileged (bool keepPrivileges) |
void | setUsePty (Communication comm, bool addUtmp) |
void | setUseShell (bool useShell, const char *shell=0) |
void | setWorkingDirectory (const QString &dir) |
bool | signalled () const |
virtual bool | start (RunMode runmode=NotifyOnExit, Communication comm=NoCommunication) |
void | suspend () |
bool | wait (int timeout=-1) |
bool | writeStdin (const char *buffer, int buflen) |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QObject (QObject *parent, const char *name) | |
virtual | ~QObject () |
bool | blockSignals (bool block) |
QObject * | child (const char *objName, const char *inheritsClass, bool recursiveSearch) const |
const QObjectList & | children () const |
const char * | className () const |
bool | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const QObject *receiver, const char *method) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) |
void | dumpObjectInfo () |
void | dumpObjectTree () |
QList< QByteArray > | dynamicPropertyNames () const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name) const |
QList< T > | findChildren (const QRegExp ®Exp) const |
QList< T > | findChildren (const QString &name) const |
bool | inherits (const char *className) const |
void | insertChild (QObject *object) |
void | installEventFilter (QObject *filterObj) |
bool | isA (const char *className) const |
bool | isWidgetType () const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const |
void | moveToThread (QThread *targetThread) |
const char * | name () const |
const char * | name (const char *defaultName) const |
QString | objectName () const |
QObject * | parent () const |
QVariant | property (const char *name) const |
void | removeChild (QObject *object) |
void | removeEventFilter (QObject *obj) |
void | setName (const char *name) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | signalsBlocked () const |
int | startTimer (int interval) |
QThread * | thread () const |
Protected Slots | |
void | received (K3Process *proc, char *buffer, int buflen) |
void | sent (K3Process *) |
Protected Slots inherited from K3Process | |
void | slotChildError (int fdno) |
void | slotChildOutput (int fdno) |
void | slotSendData (int dummy) |
Protected Member Functions | |
void | controlledEmission () |
Protected Member Functions inherited from K3Process | |
int | childError (int fdno) |
int | childOutput (int fdno) |
virtual void | commClose () |
virtual int | commSetupDoneC () |
virtual int | commSetupDoneP () |
virtual void | processHasExited (int state) |
void | setBinaryExecutable (const char *filename) |
virtual int | setupCommunication (Communication comm) |
void | setupEnvironment () |
Protected Member Functions inherited from QObject | |
bool | checkConnectArgs (const char *signal, const QObject *object, const char *method) |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const char *signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const char *signal) |
int | receivers (const char *signal) const |
QObject * | sender () const |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *event) |
Additional Inherited Members | |
Public Types inherited from K3Process | |
enum | { PrioLowest = 20, PrioLow = 10, PrioLower = 5, PrioNormal = 0, PrioHigher = -5, PrioHigh = -10, PrioHighest = -19 } |
enum | CommunicationFlag { NoCommunication = 0, Stdin = 1, Stdout = 2, Stderr = 4, AllOutput = 6, All = 7, NoRead = 8, CTtyOnly = NoRead, MergedStderr = 16 } |
enum | RunMode { DontCare, NotifyOnExit, Block, OwnGroup } |
Static Public Member Functions inherited from K3Process | |
static QString | quote (const QString &arg) |
Static Public Member Functions inherited from QObject | |
bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
Static Protected Member Functions inherited from QObject | |
QByteArray | normalizeSignalSlot (const char *signalSlot) |
Protected Attributes inherited from K3Process | |
QList< QByteArray > | arguments |
Communication | communication |
int | err [2] |
QSocketNotifier * | errnot |
int | in [2] |
QSocketNotifier * | innot |
const char * | input_data |
int | input_sent |
int | input_total |
bool | keepPrivs |
int | out [2] |
QSocketNotifier * | outnot |
pid_t | pid_ |
RunMode | run_mode |
bool | runs |
int | status |
Properties inherited from QObject | |
objectName | |
Detailed Description
A slightly simpler interface to K3Process.
- Deprecated:
- Use KProcess and KPtyProcess instead.
This class provides a slightly simpler interface to the communication functions provided by K3Process. The simplifications are:
- The buffer for a write is copied to an internal K3ProcIO 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, K3ProcIO 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 K3Process.
Definition at line 50 of file k3procio.h.
Constructor & Destructor Documentation
|
explicit |
Constructor.
Definition at line 49 of file k3procio.cpp.
K3ProcIO::~K3ProcIO | ( | ) |
Destructor.
Definition at line 60 of file k3procio.cpp.
Member Function Documentation
void K3ProcIO::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 197 of file k3procio.cpp.
void K3ProcIO::closeWhenDone | ( | ) |
Closes stdin after all data has been send.
Definition at line 163 of file k3procio.cpp.
|
protected |
Definition at line 205 of file k3procio.cpp.
void K3ProcIO::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 216 of file k3procio.cpp.
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 K3ProcIO 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 k3procio.cpp.
|
signal |
Emitted when the process is ready for reading.
- Parameters
-
pio the process that emitted the signal
- See also
- enableReadSignals()
|
protectedslot |
Definition at line 190 of file k3procio.cpp.
void K3ProcIO::resetAll | ( | ) |
|
protectedslot |
Definition at line 174 of file k3procio.cpp.
void K3ProcIO::setComm | ( | Communication | comm | ) |
Sets the communication mode to be passed to K3Process::start() by start().
The default communication mode is K3Process::All. You probably want to use this function in conjunction with K3Process::setUsePty().
- Parameters
-
comm the communication mode
Definition at line 91 of file k3procio.cpp.
bool K3ProcIO::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 K3Process 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 96 of file k3procio.cpp.
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 113 of file k3procio.cpp.
bool K3ProcIO::writeStdin | ( | const QByteArray & | 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 118 of file k3procio.cpp.
bool K3ProcIO::writeStdin | ( | const QByteArray & | data | ) |
Writes data to stdin of the process.
- Parameters
-
data Data to write.
- Returns
- true if successful, false otherwise
Definition at line 147 of file k3procio.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:26:48 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.