]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt2/io_callback.h
Strip trailing whitespace.
[lyx.git] / src / frontends / qt2 / io_callback.h
index 097af0c1c9dad073eb972834221fac0ceb213e2b..a8d03576cb9e0e4fa4230086faec23ee99c96c0c 100644 (file)
@@ -1,38 +1,45 @@
+// -*- C++ -*-
 /**
  * \file io_callback.h
- * Copyright 2002 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
  * \author unknown
- * \author John Levon <moz@compsoc.man.ac.uk>
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS
  */
 
 #ifndef IO_CALLBACK_H
 #define IO_CALLBACK_H
-#include <config.h>
 
-#include "lyxserver.h"
+
+#include <qobject.h>
 #include <qsocketnotifier.h>
+#include <boost/scoped_ptr.hpp>
+
+class LyXComm;
 
+/**
+ * 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 
+       Q_OBJECT
 public:
-       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()));
-       }
-
+       /// connect a read ready notification for fd to the LyXComm
+       io_callback(int fd, LyXComm * comm);
 public slots:
-       void data_received() {
-               comm_->read_ready();
-       }
-
+       void data_received();
 private:
+       /// our notifier
+       boost::scoped_ptr<QSocketNotifier> sn_;
+
        LyXComm * comm_;
 };
 
-#endif // IO_CALLBACK_H 
+#endif // IO_CALLBACK_H