Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
IClient Class Referenceabstract

Client interface. More...

#include <IClient.h>

Inheritance diagram for IClient:
Collaboration diagram for IClient:

Public Member Functions

manipulators
virtual void enter (int32_t xAbs, int32_t yAbs, uint32_t 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 dirty)=0
 Mark clipboard dirty.
virtual void keyDown (KeyID id, KeyModifierMask, KeyButton, const std::string &)=0
 Notify of key press.
virtual void keyRepeat (KeyID id, KeyModifierMask, int32_t count, KeyButton, const std::string &lang)=0
 Notify of key repeat.
virtual void keyUp (KeyID id, KeyModifierMask, KeyButton)=0
 Notify of key release.
virtual void mouseDown (ButtonID id)=0
 Notify of mouse press.
virtual void mouseUp (ButtonID id)=0
 Notify of mouse release.
virtual void mouseMove (int32_t xAbs, int32_t yAbs)=0
 Notify of mouse motion.
virtual void mouseRelativeMove (int32_t xRel, int32_t yRel)=0
 Notify of mouse motion.
virtual void mouseWheel (int32_t xDelta, int32_t 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 OptionsList &options)=0
 Notify of options changes.
accessors
virtual std::string getName () const =0
 Get client name.
void * getEventTarget () const override=0
 Get event target.
bool getClipboard (ClipboardID id, IClipboard *) const override=0
 Get clipboard.
void getShape (int32_t &x, int32_t &y, int32_t &width, int32_t &height) const override=0
 Get screen shape.
void getCursorPos (int32_t &x, int32_t &y) const override=0
 Get cursor position.
Public Member Functions inherited from IScreen
Public Member Functions inherited from IInterface
virtual ~IInterface ()=default
 Interface destructor does nothing.

Detailed Description

Client interface.

This interface defines the methods necessary for the server to communicate with a client.

Member Function Documentation

◆ enter()

virtual void IClient::enter ( int32_t xAbs,
int32_t yAbs,
uint32_t 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.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ getClipboard()

bool IClient::getClipboard ( ClipboardID id,
IClipboard *  ) const
overridepure virtual

Get clipboard.

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

Implements IScreen.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ getCursorPos()

void IClient::getCursorPos ( int32_t & x,
int32_t & y ) const
overridepure virtual

Get cursor position.

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

Implements IScreen.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ getEventTarget()

void * IClient::getEventTarget ( ) const
overridepure virtual

Get event target.

Returns the target used for events created by this object.

Implements IScreen.

Implemented in BaseClientProxy, Client, ClientProxy, and PrimaryClient.

◆ getName()

virtual std::string IClient::getName ( ) const
pure virtual

Get client name.

Return the client's name.

Implemented in BaseClientProxy, and Client.

◆ getShape()

void IClient::getShape ( int32_t & x,
int32_t & y,
int32_t & width,
int32_t & height ) const
overridepure 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 IScreen.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ grabClipboard()

virtual void IClient::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.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ keyDown()

virtual void IClient::keyDown ( KeyID id,
KeyModifierMask ,
KeyButton ,
const std::string &  )
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().

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy1_1, ClientProxy1_4, ClientProxy1_8, ClientProxy, and PrimaryClient.

◆ keyRepeat()

virtual void IClient::keyRepeat ( KeyID id,
KeyModifierMask ,
int32_t count,
KeyButton ,
const std::string & lang )
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.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy1_1, ClientProxy1_4, ClientProxy, and PrimaryClient.

◆ keyUp()

virtual void IClient::keyUp ( KeyID id,
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.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy1_1, ClientProxy1_4, ClientProxy, and PrimaryClient.

◆ leave()

virtual bool IClient::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).

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ mouseDown()

virtual void IClient::mouseDown ( ButtonID id)
pure virtual

Notify of mouse press.

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

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ mouseMove()

virtual void IClient::mouseMove ( int32_t xAbs,
int32_t yAbs )
pure virtual

Notify of mouse motion.

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

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ mouseRelativeMove()

virtual void IClient::mouseRelativeMove ( int32_t xRel,
int32_t yRel )
pure virtual

Notify of mouse motion.

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

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy1_2, ClientProxy, and PrimaryClient.

◆ mouseUp()

virtual void IClient::mouseUp ( ButtonID id)
pure virtual

Notify of mouse release.

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

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ mouseWheel()

virtual void IClient::mouseWheel ( int32_t xDelta,
int32_t 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.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy1_3, ClientProxy, and PrimaryClient.

◆ resetOptions()

virtual void IClient::resetOptions ( )
pure virtual

Notify of options changes.

Reset all options to their default values.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ screensaver()

virtual void IClient::screensaver ( bool activate)
pure virtual

Notify of screen saver change.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ setClipboard()

virtual void IClient::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.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy1_6, ClientProxy, and PrimaryClient.

◆ setClipboardDirty()

virtual void IClient::setClipboardDirty ( ClipboardID ,
bool dirty )
pure virtual

Mark clipboard dirty.

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

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.

◆ setOptions()

virtual void IClient::setOptions ( const OptionsList & 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.

Implemented in BaseClientProxy, Client, ClientProxy1_0, ClientProxy, and PrimaryClient.


The documentation for this class was generated from the following file: