lyx_mirror/src/support/SystemcallPrivate.h
Enrico Forestieri ae3f95b8f0 Fix scons and revert the now not needed r29669.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29692 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-16 15:55:08 +00:00

67 lines
1.3 KiB
C++

// -*- C++ -*-
/**
* \file SystemcallPrivate.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Enrico Forestieri
*
* Full author contact details are available in file CREDITS.
*/
#ifndef SYSTEMCALLPRIVATE_H
#define SYSTEMCALLPRIVATE_H
#include <QObject>
class QProcess;
namespace lyx {
namespace support {
/**
* Outputs to the console terminal the line buffered standard output and
* error of a spawned process when there is a controlling terminal and
* stdout/stderr have not been redirected.
*/
class ConOut : public QObject
{
Q_OBJECT
public:
ConOut(QProcess * proc);
~ConOut();
/// Should the standard output be displayed?
void showout() { showout_ = true; }
/// Should the standard error be displayed?
void showerr() { showerr_ = true; }
private:
/// Pointer to the process to monitor.
QProcess * proc_;
/// Index to the standard output buffer.
size_t outindex_;
/// Index to the standard error buffer.
size_t errindex_;
/// Size of buffers.
static size_t const bufsize_ = 200;
/// Standard output buffer.
char outdata_[bufsize_];
/// Standard error buffer.
char errdata_[bufsize_];
///
bool showout_;
///
bool showerr_;
public Q_SLOTS:
void stdOut();
void stdErr();
};
} // namespace support
} // namespace lyx
#endif // SYSTEMCALLPRIVATE_H