X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxserver.h;h=9390f5e23d012e17a03c3b31e1a183222b0f3ce3;hb=8cb2e519b3975cc643f2c93706137cf2e6a4f4d8;hp=0dee84fef3c2f748b8f7ab0966db7181236f1524;hpb=27de1486ca34aaad446adb798d71a77d6f6304da;p=lyx.git diff --git a/src/lyxserver.h b/src/lyxserver.h index 0dee84fef3..9390f5e23d 100644 --- a/src/lyxserver.h +++ b/src/lyxserver.h @@ -1,16 +1,16 @@ // -*- C++ -*- /* This file is part of -* ====================================================== +* ====================================================== * * LyX, The Document Processor * -* Copyright (C) 1995 Matthias Ettrich -* Copyright (C) 1995-1998 The LyX Team. +* Copyright 1995 Matthias Ettrich +* Copyright 1995-2000 The LyX Team. * -*======================================================*/ +* ====================================================== */ -#ifndef _LYXSERVER_H_ -#define _LYXSERVER_H_ +#ifndef LYXSERVER_H +#define LYXSERVER_H #ifdef __GNUG__ #pragma interface @@ -27,21 +27,19 @@ class LyXServer; messages, and callback-function that will be called with the messages. When you want to send, use "send()". This class encapsulates all the dirty communication and thus provides - a clean LString interface. + a clean string interface. */ -class LyXComm -{ +class LyXComm { public: /** When we receive a message, we send it to a client. This is one of the small things that would have been a lot cleaner with a Signal/Slot thing. */ - typedef void (*ClientCallbackfct)(LyXServer *, LString const &); + typedef void (*ClientCallbackfct)(LyXServer *, string const &); /// Construct with pipe-basename and callback to receive messages - LyXComm(LString const &pip, LyXServer * cli, ClientCallbackfct ccb = 0) - :pipename(pip), client(cli), clientcb(ccb) - { + LyXComm(string const & pip, LyXServer * cli, ClientCallbackfct ccb = 0) + : pipename(pip), client(cli), clientcb(ccb) { ready = false; openConnection(); } @@ -52,7 +50,11 @@ public: } /// Send message - void send(LString const &); + void send(string const &); + + /// We receive messages via XForms through this callback + static void callback(int fd, void *v); + private: /// Open pipes void openConnection(); @@ -60,9 +62,6 @@ private: /// Close pipes void closeConnection(); - /// We receive messages via XForms through this callback - static void callback(int fd, void *v); - /// This is -1 if not open int infd; @@ -73,7 +72,7 @@ private: bool ready; /// Base of pipename including path - LString pipename; + string pipename; /// The client LyXServer * client; @@ -84,35 +83,40 @@ private: /* --- prototypes -------------------------------------------------------- */ -class LyXServer -{ +/// +class LyXServer { public: // FIXME IN 0.13 // Hack! This should be changed in 0.13 - /// The lyx server should not take an argument "LyXFunc" but this is + // The lyx server should not take an argument "LyXFunc" but this is // how it will be done for 0.12. In 0.13 we must write a non-gui // bufferview. // IMO lyxserver is atypical, and for the moment the only one, non-gui // bufferview. We just have to find a way to handle situations like if // lyxserver is using a buffer that is being edited with a bufferview. // With a common buffer list this is not a problem, maybe. (Alejandro) - LyXServer(LyXFunc *f, LString const &pip) - : numclients(0), func(f), pipes(pip, (this), callback) - { } + /// + LyXServer(LyXFunc * f, string const & pip) + : numclients(0), func(f), pipes(pip, (this), callback) {} /// ~LyXServer(); /// - void notifyClient(LString const &); + void notifyClient(string const &); private: /// - static void callback(LyXServer *, LString const & msg); + static void callback(LyXServer *, string const & msg); /// Names and number of current clients - enum { MAX_CLIENTS = 10 }; - LString clients[MAX_CLIENTS]; + enum { + /// + MAX_CLIENTS = 10 + }; + /// + string clients[MAX_CLIENTS]; + /// int numclients; /// - LyXFunc *func; + LyXFunc * func; /// LyXComm pipes; };