00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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
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
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