]> git.lyx.org Git - lyx.git/blobdiff - src/lyxsocket.C
Restore the version number position on the splash screen
[lyx.git] / src / lyxsocket.C
index 0de947676401945c424931c139dfea79178b6e3b..c40feba2597b1e5b1cb5ab1f33baf45f91467c2d 100644 (file)
@@ -24,6 +24,7 @@
 #include "frontends/Application.h"
 
 #include "support/environment.h"
+#include "support/filename.h"
 #include "support/lyxlib.h"
 #include "support/socktools.h"
 
@@ -47,7 +48,7 @@ namespace lyx {
 // Address is the unix address for the socket.
 // MAX_CLIENTS is the maximum number of clients
 // that can connect at the same time.
-LyXServerSocket::LyXServerSocket(LyXFunc * f, string const & addr)
+LyXServerSocket::LyXServerSocket(LyXFunc * f, support::FileName const & addr)
        : func(f),
          fd_(support::socktools::listen(addr, 3)),
          address_(addr)
@@ -61,15 +62,15 @@ LyXServerSocket::LyXServerSocket(LyXFunc * f, string const & addr)
        // Needed by xdvi
        support::setEnv("XEDITOR", "lyxclient -g %f %l");
        // Needed by lyxclient
-       support::setEnv("LYXSOCKET", address_);
+       support::setEnv("LYXSOCKET", address_.toFilesystemEncoding());
 
-       theApp->registerSocketCallback(
+       theApp()->registerSocketCallback(
                fd_,
                boost::bind(&LyXServerSocket::serverCallback, this)
                );
 
-       lyxerr[Debug::LYXSERVER] << "lyx: New server socket "
-                                << fd_ << ' ' << address_ << endl;
+       LYXERR(Debug::LYXSERVER) << "lyx: New server socket "
+                                << fd_ << ' ' << address_.absFilename() << endl;
 }
 
 
@@ -77,19 +78,20 @@ LyXServerSocket::LyXServerSocket(LyXFunc * f, string const & addr)
 LyXServerSocket::~LyXServerSocket()
 {
        if (fd_ != -1) {
-               theApp->unregisterSocketCallback(fd_);
+               BOOST_ASSERT (theApp());
+               theApp()->unregisterSocketCallback(fd_);
                if (::close(fd_) != 0)
                        lyxerr << "lyx: Server socket " << fd_
                               << " IO error on closing: " << strerror(errno);
        }
        support::unlink(address_);
-       lyxerr[Debug::LYXSERVER] << "lyx: Server socket quitting" << endl;
+       LYXERR(Debug::LYXSERVER) << "lyx: Server socket quitting" << endl;
 }
 
 
-string const LyXServerSocket::address() const
+string const LyXServerSocket::address() const
 {
-       return address_;
+       return address_.absFilename();
 }
 
 
@@ -100,7 +102,7 @@ void LyXServerSocket::serverCallback()
        int const client_fd = support::socktools::accept(fd_);
 
        if (fd_ == -1) {
-               lyxerr[Debug::LYXSERVER] << "lyx: Failed to accept new client"
+               LYXERR(Debug::LYXSERVER) << "lyx: Failed to accept new client"
                                         << endl;
                return;
        }
@@ -113,7 +115,7 @@ void LyXServerSocket::serverCallback()
        // Register the new client.
        clients[client_fd] =
                shared_ptr<LyXDataSocket>(new LyXDataSocket(client_fd));
-       theApp->registerSocketCallback(
+       theApp()->registerSocketCallback(
                client_fd,
                boost::bind(&LyXServerSocket::dataCallback,
                            this, client_fd)
@@ -189,7 +191,7 @@ void LyXServerSocket::writeln(string const & line)
 // void LyXServerSocket::dump() const
 // {
 //     lyxerr << "LyXServerSocket debug dump.\n"
-//          << "fd = " << fd_ << ", address = " << address_ << ".\n"
+//          << "fd = " << fd_ << ", address = " << address_.absFilename() << ".\n"
 //          << "Clients: " << clients.size() << ".\n";
 //     std::map<int, shared_ptr<LyXDataSocket> >::const_iterator client = clients.begin();
 //     std::map<int, shared_ptr<LyXDataSocket> >::const_iterator end = clients.end();
@@ -201,7 +203,7 @@ void LyXServerSocket::writeln(string const & line)
 LyXDataSocket::LyXDataSocket(int fd)
        : fd_(fd), connected_(true)
 {
-       lyxerr[Debug::LYXSERVER] << "lyx: New data socket " << fd_ << endl;
+       LYXERR(Debug::LYXSERVER) << "lyx: New data socket " << fd_ << endl;
 }
 
 
@@ -211,8 +213,8 @@ LyXDataSocket::~LyXDataSocket()
                lyxerr << "lyx: Data socket " << fd_
                       << " IO error on closing: " << strerror(errno);
 
-       theApp->unregisterSocketCallback(fd_);
-       lyxerr[Debug::LYXSERVER] << "lyx: Data socket " << fd_ << " quitting."
+       theApp()->unregisterSocketCallback(fd_);
+       LYXERR(Debug::LYXSERVER) << "lyx: Data socket " << fd_ << " quitting."
                                 << endl;
 }
 
@@ -238,7 +240,7 @@ bool LyXDataSocket::readln(string & line)
        // Error conditions. The buffer must still be
        // processed for lines read
        if (count == 0) { // EOF -- connection closed
-               lyxerr[Debug::LYXSERVER] << "lyx: Data socket " << fd_
+               LYXERR(Debug::LYXSERVER) << "lyx: Data socket " << fd_
                                         << ": connection closed." << endl;
                connected_ = false;
        } else if ((count == -1) && (errno != EAGAIN)) { // IO error
@@ -250,7 +252,7 @@ bool LyXDataSocket::readln(string & line)
        // Cut a line from buffer
        string::size_type pos = buffer_.find('\n');
        if (pos == string::npos) {
-               lyxerr[Debug::LYXSERVER] << "lyx: Data socket " << fd_
+               LYXERR(Debug::LYXSERVER) << "lyx: Data socket " << fd_
                                         << ": line not completed." << endl;
                return false; // No complete line stored
        }