]> git.lyx.org Git - lyx.git/blobdiff - src/Server.cpp
document my LFUN changes in the past
[lyx.git] / src / Server.cpp
index d2cd33b373c7560dc31b350c4ba65234ce07ca8b..a9233745afd1afca82edf7bea37a2109566f2088 100644 (file)
@@ -40,7 +40,7 @@
 #include <config.h>
 
 #include "Server.h"
-#include "debug.h"
+#include "support/debug.h"
 #include "FuncRequest.h"
 #include "LyXAction.h"
 #include "LyXFunc.h"
@@ -65,7 +65,6 @@ using support::compare;
 using support::FileName;
 using support::rtrim;
 using support::split;
-using support::unlink;
 
 using std::endl;
 using std::string;
@@ -125,7 +124,7 @@ LyXComm::LyXComm(std::string const & pip, Server * cli, ClientCallbackfct ccb)
 
 void LyXComm::openConnection()
 {
-       LYXERR(Debug::LYXSERVER) << "LyXComm: Opening connection" << endl;
+       LYXERR(Debug::LYXSERVER, "LyXComm: Opening connection");
 
        // If we are up, that's an error
        if (ready_) {
@@ -136,9 +135,7 @@ void LyXComm::openConnection()
        ready_ = false;
 
        if (pipename_.empty()) {
-               LYXERR(Debug::LYXSERVER)
-                       << "LyXComm: server is disabled, nothing to do"
-                       << endl;
+               LYXERR(Debug::LYXSERVER, "LyXComm: server is disabled, nothing to do");
                return;
        }
 
@@ -160,24 +157,22 @@ void LyXComm::openConnection()
 
        // We made it!
        ready_ = true;
-       LYXERR(Debug::LYXSERVER) << "LyXComm: Connection established" << endl;
+       LYXERR(Debug::LYXSERVER, "LyXComm: Connection established");
 }
 
 
 /// Close pipes
 void LyXComm::closeConnection()
 {
-       LYXERR(Debug::LYXSERVER) << "LyXComm: Closing connection" << endl;
+       LYXERR(Debug::LYXSERVER, "LyXComm: Closing connection");
 
        if (pipename_.empty()) {
-               LYXERR(Debug::LYXSERVER)
-                       << "LyXComm: server is disabled, nothing to do"
-                       << endl;
+               LYXERR(Debug::LYXSERVER, "LyXComm: server is disabled, nothing to do");
                return;
        }
 
        if (!ready_) {
-               lyxerr << "LyXComm: Already disconnected" << endl;
+               LYXERR0("LyXComm: Already disconnected");
                return;
        }
 
@@ -210,7 +205,7 @@ int LyXComm::startPipe(string const & file, bool write)
        if (fd < 0) {
                lyxerr << "LyXComm: Could not open pipe " << filename << '\n'
                       << strerror(errno) << endl;
-               unlink(filename);
+               filename.removeFile();
                return -1;
        }
 
@@ -236,7 +231,7 @@ void LyXComm::endPipe(int & fd, string const & filename, bool write)
                       << '\n' << strerror(errno) << endl;
        }
 
-       if (unlink(FileName(filename)) < 0) {
+       if (FileName(filename).removeFile() < 0) {
                lyxerr << "LyXComm: Could not remove pipe " << filename
                       << '\n' << strerror(errno) << endl;
        }
@@ -278,10 +273,9 @@ void LyXComm::read_ready()
                                // the delim /wasn't/ found. ?:-P
                                string cmd;
                                read_buffer_= split(read_buffer_, cmd,'\n');
-                               LYXERR(Debug::LYXSERVER)
-                                       << "LyXComm: status:" << status
+                               LYXERR(Debug::LYXSERVER, "LyXComm: status:" << status
                                        << ", read_buffer_:" << read_buffer_
-                                       << ", cmd:" << cmd << endl;
+                                       << ", cmd:" << cmd);
                                if (!cmd.empty())
                                        clientcb_(client_, cmd);
                                        //\n or not \n?
@@ -292,10 +286,9 @@ void LyXComm::read_ready()
                        return;
                }
                if (errno != 0) {
-                       lyxerr << "LyXComm: " << strerror(errno) << endl;
+                       LYXERR0("LyXComm: " << strerror(errno));
                        if (!read_buffer_.empty()) {
-                               lyxerr << "LyXComm: truncated command: "
-                                      << read_buffer_ << endl;
+                               LYXERR0("LyXComm: truncated command: " << read_buffer_);
                                read_buffer_.erase();
                        }
                        break; // reset connection
@@ -313,18 +306,16 @@ void LyXComm::read_ready()
 void LyXComm::send(string const & msg)
 {
        if (msg.empty()) {
-               lyxerr << "LyXComm: Request to send empty string. Ignoring."
-                      << endl;
+               LYXERR0("LyXComm: Request to send empty string. Ignoring.");
                return;
        }
 
-       LYXERR(Debug::LYXSERVER) << "LyXComm: Sending '" << msg << '\'' << endl;
+       LYXERR(Debug::LYXSERVER, "LyXComm: Sending '" << msg << '\'');
 
        if (pipename_.empty()) return;
 
        if (!ready_) {
-               lyxerr << "LyXComm: Pipes are closed. Could not send "
-                      << msg << endl;
+               LYXERR0("LyXComm: Pipes are closed. Could not send " << msg);
        } else if (::write(outfd_, msg.c_str(), msg.length()) < 0) {
                lyxerr << "LyXComm: Error sending message: " << msg
                       << '\n' << strerror(errno)
@@ -378,11 +369,17 @@ Server::~Server()
 }
 
 
+int compare(char const * a, char const * b, unsigned int len)
+{
+       using namespace std;
+       return strncmp(a, b, len);
+}
+
+
 // Handle data gotten from communication, called by LyXComm
 void Server::callback(string const & msg)
 {
-       LYXERR(Debug::LYXSERVER) << "Server: Received: '"
-                                << msg << '\'' << endl;
+       LYXERR(Debug::LYXSERVER, "Server: Received: '" << msg << '\'');
 
        char const * p = msg.c_str();
 
@@ -425,10 +422,8 @@ void Server::callback(string const & msg)
                        if (*p) ++p;
                }
 
-               LYXERR(Debug::LYXSERVER)
-                       << "Server: Client: '" << client
-                       << "' Command: '" << cmd
-                       << "' Argument: '" << arg << '\'' << endl;
+               LYXERR(Debug::LYXSERVER, "Server: Client: '" << client
+                       << "' Command: '" << cmd << "' Argument: '" << arg << '\'');
 
                // --- lookup and exec the command ------------------
 
@@ -439,9 +434,7 @@ void Server::callback(string const & msg)
                        if (cmd == "hello") {
                                // One more client
                                if (numclients_ == MAX_CLIENTS) { //paranoid check
-                                       LYXERR(Debug::LYXSERVER)
-                                               << "Server: too many clients..."
-                                               << endl;
+                                       LYXERR(Debug::LYXSERVER, "Server: too many clients...");
                                        return;
                                }
                                int i = 0;
@@ -450,9 +443,7 @@ void Server::callback(string const & msg)
                                clients_[i] = client;
                                ++numclients_;
                                buf = "LYXSRV:" + client + ":hello\n";
-                               LYXERR(Debug::LYXSERVER)
-                                       << "Server: Greeting "
-                                       << client << endl;
+                               LYXERR(Debug::LYXSERVER, "Server: Greeting " << client);
                                pipes_.send(buf);
                        } else if (cmd == "bye") {
                                // If clients_ == 0 maybe we should reset the pipes
@@ -465,18 +456,14 @@ void Server::callback(string const & msg)
                                if (i < numclients_) {
                                        --numclients_;
                                        clients_[i].erase();
-                                       LYXERR(Debug::LYXSERVER)
-                                               << "Server: Client "
-                                               << client << " said goodbye"
-                                               << endl;
+                                       LYXERR(Debug::LYXSERVER, "Server: Client "
+                                               << client << " said goodbye");
                                } else {
-                                       LYXERR(Debug::LYXSERVER)
-                                               << "Server: ignoring bye messge from unregistered client"
-                                               << client << endl;
+                                       LYXERR(Debug::LYXSERVER,
+                                               "Server: ignoring bye messge from unregistered client" << client);
                                }
                        } else {
-                               lyxerr <<"Server: Undefined server command "
-                                      << cmd << '.' << endl;
+                               LYXERR0("Server: Undefined server command " << cmd << '.');
                        }
                        return;
                }