KProcIO Class Reference
KProcIO A slightly simpler interface to KProcess. More...
#include <kprocio.h>
Inheritance diagram for KProcIO:

Signals | |
void | readReady (KProcIO *pio) |
Emitted when the process is ready for reading. | |
Public Member Functions | |
KProcIO (QTextCodec *codec=0) | |
bool | start (RunMode runmode=NotifyOnExit, bool includeStderr=false) |
Starts the process. | |
bool | writeStdin (const QString &line, bool appendnewline=TRUE) |
Writes text to stdin of the process. | |
bool | writeStdin (const QCString &line, bool appendnewline) |
Writes text to stdin of the process. | |
bool | writeStdin (const QByteArray &data) |
Writes data to stdin of the process. | |
bool | fputs (const QString &line, bool AppendNewLine=TRUE) |
This function just calls writeStdin(). | |
void | closeWhenDone () |
closes stdin after all data has been send. | |
int | readln (QString &line, bool autoAck=true, bool *partial=0) |
Reads a line of text (up to and including ' '). | |
int | fgets (QString &line, bool autoAck=false) |
This function calls readln(). | |
void | resetAll () |
Reset the class. | |
void | ackRead () |
Call this after you have finished processing a readReady() signal. | |
void | enableReadSignals (bool enable) |
Turns readReady() signals on and off. | |
Protected Slots | |
void | received (KProcess *proc, char *buffer, int buflen) |
void | sent (KProcess *) |
Protected Member Functions | |
void | controlledEmission () |
virtual void | virtual_hook (int id, void *data) |
Protected Attributes | |
QPtrList< QByteArray > | outbuffer |
QCString | recvbuffer |
QTextCodec * | codec |
int | rbi |
bool | needreadsignal |
bool | readsignalon |
bool | writeready |
Detailed Description
KProcIO A slightly simpler interface to KProcess.This class provides a slightly simpler interface to the communication functions provided by KProcess. The simplifications are:
- The buffer for a write is copied to an internal KProcIO 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.
Aside from these, and the fact that start() takes different parameters, use this class just like KProcess.
- Version:
- Id
- kprocio.h,v 1.15 2002/09/10 19:17:01 tjansen Exp
- Author:
- David Sweet
Definition at line 50 of file kprocio.h.
Member Function Documentation
|
Starts the process. It will fail in the following cases:
Definition at line 76 of file kprocio.cpp. References QObject::connect(), KProcess::receivedStderr(), KProcess::receivedStdout(), KProcess::start(), and KProcess::wroteStdin(). |
|
Writes text to stdin of the process.
Definition at line 93 of file kprocio.cpp. References QTextCodec::fromUnicode(). Referenced by fputs(). |
|
Writes text to stdin of the process.
Definition at line 98 of file kprocio.cpp. References QPtrList< QByteArray >::append(), QCString::length(), and KProcess::writeStdin(). |
|
Writes data to stdin of the process.
Definition at line 127 of file kprocio.cpp. References QPtrList< QByteArray >::append(), and KProcess::writeStdin(). |
|
This function just calls writeStdin().
Definition at line 107 of file kprocio.h. References writeStdin(). |
|
closes stdin after all data has been send.
Definition at line 142 of file kprocio.cpp. References QPtrList< QByteArray >::append(), and KProcess::closeStdin(). |
|
Reads a line of text (up to and including ' 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 KProcIO that you are ready for another readReady() signal. readln() never blocks. autoAck==TRUE makes these functions call ackRead() for you.
Definition at line 216 of file kprocio.cpp. References QCString::find(), QCString::length(), QCString::mid(), and QTextCodec::toUnicode(). Referenced by fgets(). |
|
This function calls readln().
Definition at line 148 of file kprocio.h. References readln(). |
|
Reset the class. Doesn't kill the process. Definition at line 54 of file kprocio.cpp. References QPtrList< QByteArray >::clear(), KProcess::clearArguments(), QObject::disconnect(), KProcess::isRunning(), KProcess::kill(), KProcess::receivedStderr(), KProcess::receivedStdout(), and KProcess::wroteStdin(). |
|
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 187 of file kprocio.cpp. References QCString::length(). |
|
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...)
Definition at line 208 of file kprocio.cpp. References readReady(). |
|
Emitted when the process is ready for reading.
Referenced by enableReadSignals(). |
The documentation for this class was generated from the following files: