Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

CClientProxy.h

00001 /*
00002  * synergy -- mouse and keyboard sharing utility
00003  * Copyright (C) 2002 Chris Schoeneman
00004  * 
00005  * This package is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU General Public License
00007  * found in the file COPYING that should have accompanied this file.
00008  * 
00009  * This package is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  */
00014 
00015 #ifndef CCLIENTPROXY_H
00016 #define CCLIENTPROXY_H
00017 
00018 #include "CBaseClientProxy.h"
00019 #include "CEvent.h"
00020 #include "CString.h"
00021 
00022 class IStream;
00023 
00025 class CClientProxy : public CBaseClientProxy {
00026 public:
00030     CClientProxy(const CString& name, IStream* adoptedStream);
00031     ~CClientProxy();
00032 
00034 
00035 
00037 
00040     void                close(const char* msg);
00041 
00043 
00044 
00045 
00047 
00050     IStream*            getStream() const;
00051 
00053 
00058     static CEvent::Type getReadyEvent();
00059 
00061 
00065     static CEvent::Type getDisconnectedEvent();
00066 
00068 
00073     static CEvent::Type getClipboardChangedEvent();
00074 
00076 
00077     // IScreen
00078     virtual void*       getEventTarget() const;
00079     virtual bool        getClipboard(ClipboardID id, IClipboard*) const = 0;
00080     virtual void        getShape(SInt32& x, SInt32& y,
00081                             SInt32& width, SInt32& height) const = 0;
00082     virtual void        getCursorPos(SInt32& x, SInt32& y) const = 0;
00083 
00084     // IClient overrides
00085     virtual void        enter(SInt32 xAbs, SInt32 yAbs,
00086                             UInt32 seqNum, KeyModifierMask mask,
00087                             bool forScreensaver) = 0;
00088     virtual bool        leave() = 0;
00089     virtual void        setClipboard(ClipboardID, const IClipboard*) = 0;
00090     virtual void        grabClipboard(ClipboardID) = 0;
00091     virtual void        setClipboardDirty(ClipboardID, bool) = 0;
00092     virtual void        keyDown(KeyID, KeyModifierMask, KeyButton) = 0;
00093     virtual void        keyRepeat(KeyID, KeyModifierMask,
00094                             SInt32 count, KeyButton) = 0;
00095     virtual void        keyUp(KeyID, KeyModifierMask, KeyButton) = 0;
00096     virtual void        mouseDown(ButtonID) = 0;
00097     virtual void        mouseUp(ButtonID) = 0;
00098     virtual void        mouseMove(SInt32 xAbs, SInt32 yAbs) = 0;
00099     virtual void        mouseRelativeMove(SInt32 xRel, SInt32 yRel) = 0;
00100     virtual void        mouseWheel(SInt32 xDelta, SInt32 yDelta) = 0;
00101     virtual void        screensaver(bool activate) = 0;
00102     virtual void        resetOptions() = 0;
00103     virtual void        setOptions(const COptionsList& options) = 0;
00104 
00105 private:
00106     IStream*            m_stream;
00107 
00108     static CEvent::Type s_readyEvent;
00109     static CEvent::Type s_disconnectedEvent;
00110     static CEvent::Type s_clipboardChangedEvent;
00111 };
00112 
00113 #endif

Generated on Fri Nov 6 00:21:13 2009 for synergy-plus by  doxygen 1.3.9.1