IClient.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 ICLIENT_H
00016 #define ICLIENT_H
00017 
00018 #include "IScreen.h"
00019 #include "ClipboardTypes.h"
00020 #include "KeyTypes.h"
00021 #include "MouseTypes.h"
00022 #include "OptionTypes.h"
00023 #include "CString.h"
00024 
00026 
00030 class IClient : public IScreen {
00031 public:
00033 
00034 
00036 
00043     virtual void        enter(SInt32 xAbs, SInt32 yAbs,
00044                             UInt32 seqNum, KeyModifierMask mask,
00045                             bool forScreensaver) = 0;
00046 
00048 
00052     virtual bool        leave() = 0;
00053 
00055 
00061     virtual void        setClipboard(ClipboardID, const IClipboard*) = 0;
00062 
00064 
00069     virtual void        grabClipboard(ClipboardID) = 0;
00070 
00072 
00076     virtual void        setClipboardDirty(ClipboardID, bool dirty) = 0;
00077 
00079 
00087     virtual void        keyDown(KeyID id, KeyModifierMask, KeyButton) = 0;
00088 
00090 
00094     virtual void        keyRepeat(KeyID id, KeyModifierMask,
00095                             SInt32 count, KeyButton) = 0;
00096 
00098 
00102     virtual void        keyUp(KeyID id, KeyModifierMask, KeyButton) = 0;
00103 
00105 
00108     virtual void        mouseDown(ButtonID id) = 0;
00109 
00111 
00114     virtual void        mouseUp(ButtonID id) = 0;
00115 
00117 
00121     virtual void        mouseMove(SInt32 xAbs, SInt32 yAbs) = 0;
00122 
00124 
00128     virtual void        mouseRelativeMove(SInt32 xRel, SInt32 yRel) = 0;
00129 
00131 
00137     virtual void        mouseWheel(SInt32 xDelta, SInt32 yDelta) = 0;
00138 
00140     virtual void        screensaver(bool activate) = 0;
00141 
00143 
00146     virtual void        resetOptions() = 0;
00147 
00149 
00153     virtual void        setOptions(const COptionsList& options) = 0;
00154 
00156 
00157 
00158 
00160 
00163     virtual CString     getName() const = 0;
00164 
00166 
00167     // IScreen overrides
00168     virtual void*       getEventTarget() const = 0;
00169     virtual bool        getClipboard(ClipboardID id, IClipboard*) const = 0;
00170     virtual void        getShape(SInt32& x, SInt32& y,
00171                             SInt32& width, SInt32& height) const = 0;
00172     virtual void        getCursorPos(SInt32& x, SInt32& y) const = 0;
00173 };
00174 
00175 #endif

Generated on Fri Nov 6 00:18:46 2009 for synergy-plus by  doxygen 1.4.7