Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

KProcIO Class Reference

A slightly simpler interface to KProcess. More...

#include <kprocio.h>

Inheritance diagram for KProcIO:

KProcess List of all members.

Signals

void readReady (KProcIO *pio)

Public Methods

bool start (RunMode runmode=NotifyOnExit, bool includeStderr=false)
bool writeStdin (const QString &line, bool appendnewline=TRUE)
bool writeStdin (const QCString &line, bool appendnewline)
bool writeStdin (const QByteArray &data)
bool fputs (const QString &line, bool AppendNewLine=TRUE)
void closeWhenDone ()
int readln (QString &line, bool autoAck=true, bool *partial=0)
int fgets (QString &line, bool autoAck=false)
void resetAll ()
void ackRead ()
void enableReadSignals (bool enable)

Protected Methods

virtual void virtual_hook (int id, void *data)

Detailed Description

A slightly simpler interface to KProcess.

KProcIO

This class provides a slightly simpler interface to the communication functions provided by KProcess. The simplifications are:

Basically, KProcIO 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 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

void KProcIO::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.

void KProcIO::closeWhenDone  
 

closes stdin after all data has been send.

void KProcIO::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

int KProcIO::fgets QString &    line,
bool    autoAck = false
[inline]
 

This function calls readln().

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 '
'. *partial will be set to false if the line contains a '
' and false otherwise.
Returns:
the number of characters read, or -1 if no data is available.
Deprecated:

Definition at line 148 of file kprocio.h.

References readln().

bool KProcIO::fputs const QString &    line,
bool    AppendNewLine = TRUE
[inline]
 

This function just calls writeStdin().

Parameters:
line  Text to write.
AppendNewLine  if true, a newline '
' is appended.
Returns:
true if successful, false otherwise
Deprecated:

Definition at line 107 of file kprocio.h.

References writeStdin().

int KProcIO::readln QString &    line,
bool    autoAck = true,
bool *    partial = 0
 

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.

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 '
'. *partial will be set to false if the line contains a '
' and false otherwise.
Returns:
the number of characters read, or -1 if no data is available.

Referenced by fgets().

void KProcIO::readReady KProcIO *    pio [signal]
 

Emitted when the process is ready for reading.

Parameters:
pio  the process that emitted the signal
See also:
enableReadSignals()

void KProcIO::resetAll  
 

Reset the class. Doesn't kill the process.

bool KProcIO::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 KProcess 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.

bool KProcIO::writeStdin const QByteArray &    data
 

Writes data to stdin of the process.

Parameters:
data  Data to write.
Returns:
true if successful, false otherwise

bool KProcIO::writeStdin const QCString &    line,
bool    appendnewline
 

Writes text to stdin of the process.

Parameters:
line  Text to write.
appendnewline  if true, a newline '
' is appended.
Returns:
true if successful, false otherwise

bool KProcIO::writeStdin const QString &    line,
bool    appendnewline = TRUE
 

Writes text to stdin of the process.

Parameters:
line  Text to write.
appendnewline  if true, a newline '
' is appended.
Returns:
true if successful, false otherwise

Referenced by fputs().


The documentation for this class was generated from the following file:
Generated on Wed Aug 13 23:30:21 2003 for kdelibs by doxygen1.2.18