lyx_mirror/src/frontends/qt2/io_callback.h

48 lines
941 B
C
Raw Normal View History

/**
* \file io_callback.h
* Copyright 2002 the LyX Team
* Read the file COPYING
*
* \author unknown
* \author John Levon <moz@compsoc.man.ac.uk>
*/
#ifndef IO_CALLBACK_H
#define IO_CALLBACK_H
#include <config.h>
#include "lyxserver.h"
#include <qsocketnotifier.h>
/**
* io_callback - a simple wrapper for asynchronous pipe notification
*
* This is used by the lyxserver to notice the pipe is ready to be
* read.
*
* FIXME: this code apparently will not work on Windows.
*/
class io_callback : public QObject {
Q_OBJECT
public:
/// connect a read ready notification for fd to the LyXComm
io_callback(int fd, LyXComm * comm)
: comm_(comm) {
QSocketNotifier * sn = new QSocketNotifier(fd,
QSocketNotifier::Read, this);
connect(sn, SIGNAL(activated(int)), this, SLOT(data_received()));
}
public slots:
void data_received() {
comm_->read_ready();
}
private:
LyXComm * comm_;
};
#endif // IO_CALLBACK_H