barrier/synergy/IServerProtocol.h

48 lines
1.4 KiB
C++

#ifndef ISERVERPROTOCOL_H
#define ISERVERPROTOCOL_H
#include "KeyTypes.h"
#include "MouseTypes.h"
#include "IInterface.h"
#include "XSynergy.h"
#include "XIO.h"
class IServerProtocol : public IInterface {
public:
// manipulators
// process messages from the client and insert the appropriate
// events into the server's event queue. return when the client
// disconnects.
virtual void run() throw(XIO,XBadClient) = 0;
// send client info query and process reply
virtual void queryInfo() throw(XIO,XBadClient) = 0;
// send various messages to client
virtual void sendClose() throw(XIO) = 0;
virtual void sendEnter(SInt32 xAbs, SInt32 yAbs) throw(XIO) = 0;
virtual void sendLeave() throw(XIO) = 0;
virtual void sendGrabClipboard() throw(XIO) = 0;
virtual void sendQueryClipboard() throw(XIO) = 0;
virtual void sendScreenSaver(bool on) throw(XIO) = 0;
virtual void sendKeyDown(KeyID, KeyModifierMask) throw(XIO) = 0;
virtual void sendKeyRepeat(KeyID, KeyModifierMask) throw(XIO) = 0;
virtual void sendKeyUp(KeyID, KeyModifierMask) throw(XIO) = 0;
virtual void sendMouseDown(ButtonID) throw(XIO) = 0;
virtual void sendMouseUp(ButtonID) throw(XIO) = 0;
virtual void sendMouseMove(SInt32 xAbs, SInt32 yAbs) throw(XIO) = 0;
virtual void sendMouseWheel(SInt32 delta) throw(XIO) = 0;
// accessors
protected:
// manipulators
virtual void recvInfo() throw(XIO,XBadClient) = 0;
// accessors
};
#endif