#include "support/lyxlib.h"
#include "frontends/lyx_gui.h"
+#include <boost/bind.hpp>
+
#include <cerrno>
#include <sys/stat.h>
#include <fcntl.h>
int LyXComm::startPipe(string const & filename, bool write)
{
- int fd;
-
#ifdef __EMX__
HPIPE os2fd;
APIRET rc;
};
// Imported handles can be used both with OS/2 APIs and emx
// library functions.
- fd = _imphandle(os2fd);
+ int const fd = _imphandle(os2fd);
#else
if (::access(filename.c_str(), F_OK) == 0) {
lyxerr << "LyXComm: Pipe " << filename << " already exists.\n"
<< strerror(errno) << endl;
return -1;
};
- fd = ::open(filename.c_str(), write ? (O_RDWR) : (O_RDONLY|O_NONBLOCK));
+ int const fd = ::open(filename.c_str(),
+ write ? (O_RDWR) : (O_RDONLY|O_NONBLOCK));
#endif
if (fd < 0) {
}
if (!write) {
- lyx_gui::set_read_callback(fd, this);
+ lyx_gui::register_socket_callback(fd, boost::bind(&LyXComm::read_ready, this));
}
return fd;
return;
if (!write) {
- lyx_gui::remove_read_callback(fd);
+ lyx_gui::unregister_socket_callback(fd);
}
#ifdef __EMX__
}
+string const LyXComm::inPipeName() const
+{
+ return pipename + string(".in");
+}
+
+
+string const LyXComm::outPipeName() const
+{
+ return pipename + string(".out");
+}
+
+
// LyXServer class
LyXServer::~LyXServer()