// -*- C++ -*-
-/* This file is part of
-* ======================================================
-*
-* LyX, The Document Processor
-*
-* Copyright 1995 Matthias Ettrich
-* Copyright 1995-2001 The LyX Team.
-*
-* ====================================================== */
+/**
+ * \file lyxserver.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef LYXSERVER_H
#define LYXSERVER_H
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include "support/std_string.h"
+
+#include <boost/signals/trackable.hpp>
-#include "LString.h"
class LyXFunc;
class LyXServer;
This class encapsulates all the dirty communication and thus provides
a clean string interface.
*/
-class LyXComm {
+class LyXComm : public boost::signals::trackable {
public:
/** When we receive a message, we send it to a client.
This is one of the small things that would have been a lot
/// Send message
void send(string const &);
- /// We receive messages via XForms through this callback
- static void callback(int fd, void *v);
+ /// asynch ready-to-be-read notification
+ void read_ready();
private:
/// the filename of the in pipe
int startPipe(string const &, bool);
/// finish a pipe
- void endPipe(int &, string const &);
+ void endPipe(int &, string const &, bool);
/// This is -1 if not open
int infd;