CBaseClientProxy Class Reference

Generic proxy for client or primary. More...

#include <CBaseClientProxy.h>

Inherits IClient.

Inherited by CClientProxy, and CPrimaryClient.

Inheritance diagram for CBaseClientProxy:

Inheritance graph
[legend]
Collaboration diagram for CBaseClientProxy:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CBaseClientProxy (const CString &name)
 ~CBaseClientProxy ()
virtual void * getEventTarget () const =0
 Get event target.
virtual bool getClipboard (ClipboardID id, IClipboard *) const =0
 Get clipboard.
virtual void getShape (SInt32 &x, SInt32 &y, SInt32 &width, SInt32 &height) const =0
 Get screen shape.
virtual void getCursorPos (SInt32 &x, SInt32 &y) const =0
 Get cursor position.
virtual void enter (SInt32 xAbs, SInt32 yAbs, UInt32 seqNum, KeyModifierMask mask, bool forScreensaver)=0
 Enter screen.
virtual bool leave ()=0
 Leave screen.
virtual void setClipboard (ClipboardID, const IClipboard *)=0
 Set clipboard.
virtual void grabClipboard (ClipboardID)=0
 Grab clipboard.
virtual void setClipboardDirty (ClipboardID, bool)=0
 Mark clipboard dirty.
virtual void keyDown (KeyID, KeyModifierMask, KeyButton)=0
 Notify of key press.
virtual void keyRepeat (KeyID, KeyModifierMask, SInt32 count, KeyButton)=0
 Notify of key repeat.
virtual void keyUp (KeyID, KeyModifierMask, KeyButton)=0
 Notify of key release.
virtual void mouseDown (ButtonID)=0
 Notify of mouse press.
virtual void mouseUp (ButtonID)=0
 Notify of mouse release.
virtual void mouseMove (SInt32 xAbs, SInt32 yAbs)=0
 Notify of mouse motion.
virtual void mouseRelativeMove (SInt32 xRel, SInt32 yRel)=0
 Notify of mouse motion.
virtual void mouseWheel (SInt32 xDelta, SInt32 yDelta)=0
 Notify of mouse wheel motion.
virtual void screensaver (bool activate)=0
 Notify of screen saver change.
virtual void resetOptions ()=0
 Notify of options changes.
virtual void setOptions (const COptionsList &options)=0
 Notify of options changes.
virtual CString getName () const
 Get client name.
manipulators
void setJumpCursorPos (SInt32 x, SInt32 y)
 Save cursor position.
accessors
void getJumpCursorPos (SInt32 &x, SInt32 &y) const
 Get cursor position.

Detailed Description

Generic proxy for client or primary.

Definition at line 22 of file CBaseClientProxy.h.


Constructor & Destructor Documentation

CBaseClientProxy::CBaseClientProxy ( const CString &  name  ) 

name is the name of the client.

Definition at line 21 of file CBaseClientProxy.cpp.


Member Function Documentation

virtual void CBaseClientProxy::enter ( SInt32  xAbs,
SInt32  yAbs,
UInt32  seqNum,
KeyModifierMask  mask,
bool  forScreensaver 
) [pure virtual]

Enter screen.

Enter the screen. The cursor should be warped to xAbs,yAbs. mask is the expected toggle button state and the client should update its state to match. forScreensaver is true iff the screen is being entered because the screen saver is starting. Subsequent clipboard events should report seqNum.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual bool CBaseClientProxy::getClipboard ( ClipboardID  id,
IClipboard  
) const [pure virtual]

Get clipboard.

Save the contents of the clipboard indicated by id and return true iff successful.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void CBaseClientProxy::getCursorPos ( SInt32 &  x,
SInt32 &  y 
) const [pure virtual]

Get cursor position.

Return the current position of the cursor in x and y.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void* CBaseClientProxy::getEventTarget (  )  const [pure virtual]

Get event target.

Returns the target used for events created by this object.

Implements IClient.

Implemented in CClientProxy, and CPrimaryClient.

void CBaseClientProxy::getJumpCursorPos ( SInt32 &  x,
SInt32 &  y 
) const

Get cursor position.

Get the position of the cursor when last jumping from client.

Definition at line 42 of file CBaseClientProxy.cpp.

CString CBaseClientProxy::getName (  )  const [virtual]

Get client name.

Return the client's name.

Implements IClient.

Definition at line 49 of file CBaseClientProxy.cpp.

Referenced by CServer::adoptClient(), CClientProxy1_0::CClientProxy1_0(), CClientProxy::close(), CServer::CServer(), CClientProxy1_0::enter(), CClientProxy1_0::grabClipboard(), CClientProxy1_1::keyDown(), CClientProxy1_0::keyDown(), CClientProxy1_1::keyRepeat(), CClientProxy1_0::keyRepeat(), CClientProxy1_1::keyUp(), CClientProxy1_0::keyUp(), CClientProxy1_0::leave(), CClientProxy1_0::mouseDown(), CClientProxy1_0::mouseMove(), CClientProxy1_2::mouseRelativeMove(), CClientProxy1_0::mouseUp(), CClientProxy1_3::mouseWheel(), CClientProxy1_0::mouseWheel(), CClientProxy1_0::parseHandshakeMessage(), CClientProxy1_0::parseMessage(), CClientProxy1_0::resetOptions(), CClientProxy1_0::screensaver(), CClientProxy1_0::setClipboard(), CServer::setConfig(), and CClientProxy1_0::setOptions().

virtual void CBaseClientProxy::getShape ( SInt32 &  x,
SInt32 &  y,
SInt32 &  width,
SInt32 &  height 
) const [pure virtual]

Get screen shape.

Return the position of the upper-left corner of the screen in x and y and the size of the screen in width and height.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void CBaseClientProxy::grabClipboard ( ClipboardID   )  [pure virtual]

Grab clipboard.

Grab (i.e. take ownership of) the client's clipboard. Since this is called when another client takes ownership of the clipboard it implies that the client's clipboard is out of date.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void CBaseClientProxy::keyDown ( KeyID  ,
KeyModifierMask  ,
KeyButton   
) [pure virtual]

Notify of key press.

Synthesize key events to generate a press of key id. If possible match the given modifier mask. The KeyButton identifies the physical key on the server that generated this key down. The client must ensure that a key up or key repeat that uses the same KeyButton will synthesize an up or repeat for the same client key synthesized by keyDown().

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, CClientProxy1_1, and CPrimaryClient.

virtual void CBaseClientProxy::keyRepeat ( KeyID  ,
KeyModifierMask  ,
SInt32  count,
KeyButton   
) [pure virtual]

Notify of key repeat.

Synthesize key events to generate a press and release of key id count times. If possible match the given modifier mask.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, CClientProxy1_1, and CPrimaryClient.

virtual void CBaseClientProxy::keyUp ( KeyID  ,
KeyModifierMask  ,
KeyButton   
) [pure virtual]

Notify of key release.

Synthesize key events to generate a release of key id. If possible match the given modifier mask.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, CClientProxy1_1, and CPrimaryClient.

virtual bool CBaseClientProxy::leave (  )  [pure virtual]

Leave screen.

Leave the screen. Return false iff the user may not leave the client's screen (because, for example, a button is down).

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void CBaseClientProxy::mouseDown ( ButtonID   )  [pure virtual]

Notify of mouse press.

Synthesize mouse events to generate a press of mouse button id.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void CBaseClientProxy::mouseMove ( SInt32  xAbs,
SInt32  yAbs 
) [pure virtual]

Notify of mouse motion.

Synthesize mouse events to generate mouse motion to the absolute screen position xAbs,yAbs.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void CBaseClientProxy::mouseRelativeMove ( SInt32  xRel,
SInt32  yRel 
) [pure virtual]

Notify of mouse motion.

Synthesize mouse events to generate mouse motion by the relative amount xRel,yRel.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, CClientProxy1_2, and CPrimaryClient.

virtual void CBaseClientProxy::mouseUp ( ButtonID   )  [pure virtual]

Notify of mouse release.

Synthesize mouse events to generate a release of mouse button id.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void CBaseClientProxy::mouseWheel ( SInt32  xDelta,
SInt32  yDelta 
) [pure virtual]

Notify of mouse wheel motion.

Synthesize mouse events to generate mouse wheel motion of xDelta and yDelta. Deltas are positive for motion away from the user or to the right and negative for motion towards the user or to the left. Each wheel click should generate a delta of +/-120.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, CClientProxy1_3, and CPrimaryClient.

virtual void CBaseClientProxy::resetOptions (  )  [pure virtual]

Notify of options changes.

Reset all options to their default values.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void CBaseClientProxy::setClipboard ( ClipboardID  ,
const IClipboard  
) [pure virtual]

Set clipboard.

Update the client's clipboard. This implies that the client's clipboard is now up to date. If the client's clipboard was already known to be up to date then this may do nothing. data has marshalled clipboard data.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

virtual void CBaseClientProxy::setClipboardDirty ( ClipboardID  ,
bool   
) [pure virtual]

Mark clipboard dirty.

Mark the client's clipboard as dirty (out of date) or clean (up to date).

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.

void CBaseClientProxy::setJumpCursorPos ( SInt32  x,
SInt32  y 
)

Save cursor position.

Save the position of the cursor when jumping from client.

Definition at line 35 of file CBaseClientProxy.cpp.

virtual void CBaseClientProxy::setOptions ( const COptionsList &  options  )  [pure virtual]

Notify of options changes.

Set options to given values. Ignore unknown options and don't modify our options that aren't given in options.

Implements IClient.

Implemented in CClientProxy, CClientProxy1_0, and CPrimaryClient.


The documentation for this class was generated from the following files:
Generated on Fri Nov 6 00:18:55 2009 for synergy-plus by  doxygen 1.4.7