#include <umservice.hpp>
Inheritance diagram for ubit::UMService:

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< UCall > | browse_call |
| uptr< UCall > | neighbor_call |
Classes | |
| struct | BrowseReply |
| see browseUMServers(). More... | |
| struct | ResolveReply |
| see resolveUMServer(). More... | |
| 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
| 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().
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:
1.4.7