]> git.lyx.org Git - lyx.git/blobdiff - src/Server.h
Account for old versions of Pygments
[lyx.git] / src / Server.h
index 967263a7e0d0dfccfc0fe19e9c5b97df672ede99..40021daa414c14bf82f15b36bc2ab1c60f48e3e5 100644 (file)
@@ -14,7 +14,9 @@
 #ifndef SERVER_H
 #define SERVER_H
 
-#include <boost/signals/trackable.hpp>
+#include "support/signals.h"
+
+#include <vector>
 
 #ifdef _WIN32
 #include <windows.h>
@@ -28,7 +30,7 @@ namespace lyx {
 class Server;
 
 
-/** This class managed the pipes used for communicating with clients.
+/** This class manages the pipes used for communicating with clients.
  Usage: Initialize with pipe-filename-base, client class to receive
  messages, and callback-function that will be called with the messages.
  When you want to send, use "send()".
@@ -36,7 +38,7 @@ class Server;
  a clean string interface.
  */
 #ifndef _WIN32
-class LyXComm : public boost::signals::trackable {
+class LyXComm {
 #else
 class LyXComm : public QObject {
        Q_OBJECT
@@ -101,6 +103,9 @@ public:
        void read_ready(DWORD);
 #endif
 
+       /// Tell whether we asked another instance of LyX to open the files
+       bool deferredLoading() { return deferred_loading_; }
+
 private:
        /// the filename of the in pipe
        std::string const inPipeName() const;
@@ -114,6 +119,9 @@ private:
        /// Close pipes
        void closeConnection();
 
+       /// Load files in another running instance of LyX
+       bool loadFilesInOtherInstance();
+
 #ifndef _WIN32
        /// start a pipe
        int startPipe(std::string const &, bool);
@@ -178,6 +186,12 @@ private:
 
        /// The client callback function
        ClientCallbackfct clientcb_;
+
+       /// Did we defer loading of files to another instance?
+       bool deferred_loading_;
+
+       /// Track object's liveness
+       support::Trackable tracker_;
 };
 
 
@@ -197,6 +211,8 @@ public:
        ~Server();
        ///
        void notifyClient(std::string const &);
+       ///
+       bool deferredLoadingToOtherInstance() { return pipes_.deferredLoading(); }
 
        /// whilst crashing etc.
        void emergencyCleanup() { pipes_.emergencyCleanup(); }
@@ -221,6 +237,9 @@ private:
 /// Implementation is in LyX.cpp
 Server & theServer();
 
+/// Implementation is in LyX.cpp
+extern std::vector<std::string> & theFilesToLoad();
+
 
 } // namespace lyx