X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FServer.h;h=40021daa414c14bf82f15b36bc2ab1c60f48e3e5;hb=e781628575276d48d71df6ebb44aad56f12d21f4;hp=967263a7e0d0dfccfc0fe19e9c5b97df672ede99;hpb=377cdd5f6cc2dd67fabd0b03703d20722a9ed0ea;p=lyx.git diff --git a/src/Server.h b/src/Server.h index 967263a7e0..40021daa41 100644 --- a/src/Server.h +++ b/src/Server.h @@ -14,7 +14,9 @@ #ifndef SERVER_H #define SERVER_H -#include +#include "support/signals.h" + +#include #ifdef _WIN32 #include @@ -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 & theFilesToLoad(); + } // namespace lyx