ubit::UMService Class Reference

UMService: Ubit Mouse/Message Service. More...

#include <umservice.hpp>

Inheritance diagram for ubit::UMService:

ubit::USocket List of all members.

Public Member Functions

 UMService (const UStr &host, int port=0)
 opens a connection with a remote UMS server (Ubit Mouse/Message Server).
bool browseUMServers (UCall &callback)
 browse available UMSservers on a local net by using ZeroConf/Rendezvous.
bool resolveUMServer (const UStr &name, UCall &callback)
 resolves a UMS server name into a IP address by using ZeroConf/Rendezvous.
bool browseUMSNeighbors (UCall &callback)
 browse the neigbors of this UMS.
bool pressMouse (int event_flow, int button_id)
bool releaseMouse (int event_flow, int button_id)
bool moveMouse (int event_flow, int x, int y, bool absolute_coords)
 control the pointer(s) of the display managed by this UMS server.
bool pressKey (int event_flow, unsigned long keysym)
bool releaseKey (int event_flow, unsigned long keysym)
 sends key events on the display managed by this UMS server.
bool sendMouseClick (const char *target, int x, int y, int button_id, int modifiers)
bool sendMousePress (const char *target, int x, int y, int button_id, int modifiers)
bool sendMouseRelease (const char *target, int x, int y, int button_id, int modifiers)
 sends an event to a window located on the display managed by this UMS server.
bool sendMessage (const char *target, const UStr &message)
bool sendMessage (const char *target, const char *message)
 sends a message to a target window located on the display managed by this UMS server.
bool sendRequest (int ums_request, const UStr &data)
bool sendRequest (int ums_request, const char *data=null)
 sends a request to the UMS server (see UMSrequest).
 UMService (const UStr &host, int port, const char *client_name)
 [impl].
virtual void inputCallback ()
 [impl].

Protected Attributes

uptr< UCallbrowse_call
uptr< UCallneighbor_call

Classes

struct  BrowseReply
 see browseUMServers(). More...
struct  ResolveReply
 see resolveUMServer(). More...

Detailed Description

UMService: Ubit Mouse/Message Service.


Constructor & Destructor Documentation

ubit::UMService::UMService ( const UStr host,
int  port = 0 
)

opens a connection with a remote UMS server (Ubit Mouse/Message Server).

This makes it possible to control the pointer(s) of a remote X display, to send text or events to the windows that are located on this display, and many other things (see umsproto.hpp and directory ubit/ums)

Args:

Note: the UMS server (ie. the 'umsd' program) must already be running on the (local or remote) host. umsd can be found in directory ubit/ums


Member Function Documentation

bool ubit::UMService::browseUMServers ( UCall callback  ) 

browse available UMSservers on a local net by using ZeroConf/Rendezvous.

Exemple:


o is an instance of Obj, a an instance of Arg (callback methods,
such as foo(), can have 0 to 2 args)
   ums->browseUMServers( ucall(o, a, &Obj::foo) );
   ....
   void Obj::foo(UEvent& e, Arg a) {
       UMService::BrowseReply r(e);
       cerr << "browse: " << r.serviceName << endl;
       if (r.isAdded())
         ....;    // this UMS server has been added
       else ...;
   }
   

bool ubit::UMService::browseUMSNeighbors ( UCall callback  ) 

browse the neigbors of this UMS.

use UMService::ResolveReply in the callback function. flags indicates the position and is one of 't', 'b', 'l', 'r'.

bool ubit::UMService::moveMouse ( int  event_flow,
int  x,
int  y,
bool  absolute_coords 
)

control the pointer(s) of the display managed by this UMS server.

args:

bool ubit::UMService::releaseKey ( int  event_flow,
unsigned long  keysym 
)

sends key events on the display managed by this UMS server.

see: pressMouse().

bool ubit::UMService::resolveUMServer ( const UStr name,
UCall callback 
)

resolves a UMS server name into a IP address by using ZeroConf/Rendezvous.

Args:

Exemple:


o is an instance of Obj, a an instance of Arg (callback methods,
such as foo(), can have 0 to 2 args)
    ums->resolveUMServer(name, ucall(o, a, &Obj::foo));
    ....
    void Obj::foo(UEvent& e, Arg a) {
        UMService::ResolveReply r(e);
r.hosttarget = IP address / r.port = the port (9666 by default)
        cerr << "resolve: " << r.hosttarget << " " << r.port << endl;
    }
    

bool ubit::UMService::sendMessage ( const char *  target,
const char *  message 
)

sends a message to a target window located on the display managed by this UMS server.

window = name or X ID of the window, can be one of:

bool ubit::UMService::sendMouseRelease ( const char *  target,
int  x,
int  y,
int  button_id,
int  modifiers 
)

sends an event to a window located on the display managed by this UMS server.

in contrast with pressMouse() etc. these functions do not control the pointers, they just send events to a given window.

Args:


The documentation for this class was generated from the following files:
Generated on Mon Jan 29 00:20:52 2007 for Ubit by  doxygen 1.4.7