ubit
umsproto.hpp
1 /* ==================================================== ======== ======= *
2  *
3  * umsproto.hpp: UMS (Ubit Mouse/Message Server) protocol
4  * Ubit GUI Toolkit - Version 6
5  * (C) 2009 | Eric Lecolinet | TELECOM ParisTech | http://www.enst.fr/~elc/ubit
6  *
7  * ***********************************************************************
8  * COPYRIGHT NOTICE :
9  * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY AND WITHOUT EVEN THE
10  * IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
11  * YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE GNU
12  * GENERAL PUBLIC LICENSE AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION;
13  * EITHER VERSION 2 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
14  * SEE FILES 'COPYRIGHT' AND 'COPYING' FOR MORE DETAILS.
15  * ***********************************************************************/
16 
17 #ifndef _umsproto_hpp_
18 #define _umsproto_hpp_
19 #include <ubit/udefs.hpp>
20 #include <ubit/usocket.hpp>
21 namespace ubit {
22 
26 #define UMS_ZEROCONF_NAME "_ums._tcp."
27 
29 #define UMS_PORT_NUMBER 9666
30 
32 #define UMS_EVENT_MASK (1UL<<14)
33 
37 // NOTE: cette valeur est choisie pour eviter des interferences avec les Button*Mask
38 // et les Modifier*Mask. elle est < 1<<15 car cette valeur est definie par X
39 // et car les Event.xxx.state sont des unsigned int.
40 
41 #define UMS_WINDOW_PROPERTY "_UBIT_WINDOW"
42 
44 #define UMS_MESSAGE_PROPERTY "_UBIT_MESSAGE"
45 
47 /* ==================================================== ===== ======= */
65 struct UMSrequest : public UOutbuf {
66  enum RequestType {
67  KEY_MOUSE_CTRL = 1,
68  SEND_EVENT = 2,
69  SEND_MESSAGE = 3,
70  SET_NEIGHBOR = 8,
71  CALIBRATE = 9,
72  BROWSE_NEIGHBORS = 10,
73  BROWSE_SERVERS = 11,
74  RESOLVE_SERVER = 12,
75  RESOLVE_WINDOW = 13,
76  BROWSE_WINDOWS = 14,
77  GET_SCREEN_SIZE = 20,
78  MOVE_BACK_POINTER = 30,
79  FILE_TRANSFERT = 33, //aka '!'
80  OPEN_DEVICE = 40,
81  CLOSE_DEVICE = 41,
82  TACTOS = 50,
83  REQUEST_COUNT/*NO COMMA*/
84  };
85  UMSrequest(unsigned char reqtype) {buffer[outpos++] = reqtype;}
86 };
87 
88 }
89 #endif
UOutbuf (.
Definition: usocket.hpp:248
UMS Request (from a Client to the UMS server).
Definition: umsproto.hpp:65
Definition: uhardfont.hpp:31