MGF Server
2.1
Multigaze framework server
Main Page
Classes
Files
File List
All
Classes
Functions
ETI
etiproto.h
1
/*
2
* etiproto.h - header file defining extension of RFB protocol for the purposes
3
* of eye-tracking information processing.
4
*/
5
6
#pragma once
7
8
#include <map>
9
10
11
/*****************************************************************************
12
*
13
* Message types
14
*
15
*****************************************************************************/
16
17
/* server -> client */
18
//Gaze Data messages
19
#define etiServerGazeSample 201 //send new eye tracking sample
20
#define etiServerGazeFixation 202 //send new eye tracking fixation
21
#define etiServerGazeBlink 203 //send new eye tracking blink
22
23
//Client "control" messages
24
#define etiServerNick 205 //send new nickname
25
#define etiServerDescription 206 //send new description
26
#define etiServerAdd 207 //send add client to the tracking list
27
#define etiServerRemove 208 //send remove client from the tracking list
28
29
#define etiServerMessage 209 //send message to the client
30
#define etiServerPoke 210 //send client poke
31
32
/* client -> server */
33
//Gaze Data messages
34
#define etiClientGazeSample 251 //send new eye tracking sample
35
#define etiClientGazeFixation 252 //send new eye tracking fixation
36
#define etiClientGazeBlink 253 //send new eye tracking blink
37
38
//Client "control" messages
39
#define etiClientNick 255 //send new nickname
40
#define etiClientDescription 256 //send new description
41
#define etiClientAdd 257 //send add client to the tracking list
42
#define etiClientRemove 258 //send remove client from the tracking list
43
44
#define etiClientMessage 259 //send message
45
#define etiClientPoke 260 //send poke
46
47
48
/*****************************************************************************
49
*
50
* Server -> client message definitions
51
*
52
*****************************************************************************/
53
54
/*-----------------------------------------------------------------------------
55
* etiServerGazeSample - Send gaze data sample.
56
*
57
* This message is followed by nPoints structures of etiGazeSample structures
58
*/
59
typedef
struct
_etiServerGazeSampleMsg
{
60
CARD8 type;
// always = etiServerGazeSample
61
CARD8 pad1;
62
CARD16 id;
63
CARD16 pad2;
64
CARD16 nPoints;
65
}
etiServerGazeSampleMsg
;
66
67
#define sz_etiServerGazeSampleMsg 8
68
69
/*-----------------------------------------------------------------------------
70
* etiServerGazeFixation - Send gaze data fixation.
71
*
72
* This message is followed by nCount structures of etiGazeFixation structures
73
*/
74
typedef
struct
_etiServerGazeFixationMsg
{
75
CARD8 type;
// always = etiServerGazeFixation
76
CARD8 pad1;
77
CARD16 id;
78
CARD16 pad2;
79
CARD16 nCount;
80
}
etiServerGazeFixationMsg
;
81
82
#define sz_etiServerGazeFixationMsg 8
83
84
/*-----------------------------------------------------------------------------
85
* etiServerGazeBlink - Send gaze data blink.
86
*
87
* This message is followed by nCount structures of etiGazeBlink structures
88
*/
89
typedef
struct
_etiServerGazeBlinkMsg
{
90
CARD8 type;
// always = etiServerGazeBlink
91
CARD8 pad1;
92
CARD16 id;
93
CARD16 pad2;
94
CARD16 nCount;
95
}
etiServerGazeBlinkMsg
;
96
97
#define sz_etiServerGazeBlinkMsg 8
98
99
/*-----------------------------------------------------------------------------
100
* etiServerNickMsg - send a client's new nickname that will be shown next to the
101
* eye mark.
102
*
103
* This message send number of symbols in the nickname and is followed by "length"
104
* characters
105
*/
106
107
typedef
struct
_etiServerNickMsg
{
108
CARD8 type;
/* always etiServerNick */
109
CARD8 length;
110
CARD16 id;
111
}
etiServerNickMsg
;
112
113
#define sz_etiServerNickMsg 4
114
115
/*-----------------------------------------------------------------------------
116
* etiServerDescriptionMsg - send a client's new description that will be shown
117
* in eye clients options.
118
*
119
* This message send number of symbols in the description and is followed by "length"
120
* characters
121
*/
122
123
typedef
struct
_etiServerDescriptionMsg
{
124
CARD8 type;
/* always etiServerDescription */
125
CARD8 length;
126
CARD16 id;
127
}
etiServerDescriptionMsg
;
128
129
#define sz_etiServerDescriptionMsg 4
130
131
/*-----------------------------------------------------------------------------
132
* etiServerAdd - add a new client to the list of trackable marks.
133
*
134
* This message send the ID of the client to add. This message is followed by
135
* lengthNick + lengthDesc symbols, where lengthNick - length of server nickname,
136
* lengthDesc = length of description
137
*/
138
typedef
struct
_etiServerAddMsg
{
139
CARD8 type;
/* always etiServerAdd */
140
CARD8 pad1;
141
CARD16 id;
142
CARD8 lengthNick;
143
CARD8 lengthDesc;
144
CARD16 pad2;
145
}
etiServerAddMsg
;
146
147
#define sz_etiServerAddMsg 8
148
149
/*-----------------------------------------------------------------------------
150
* etiServerRemove - remove a client from the list of trackable marks.
151
*
152
* This message send the ID of the client to remove
153
*/
154
typedef
struct
_etiServerRemoveMsg
{
155
CARD8 type;
/* always etiServerRemove */
156
CARD8 pad1;
157
CARD16 id;
158
}
etiServerRemoveMsg
;
159
160
#define sz_etiServerRemoveMsg 4
161
162
/*-----------------------------------------------------------------------------
163
* etiServerMessageMsg - send a message to the client.
164
*
165
* This message send number of symbols in the description and is followed by "length"
166
* characters
167
*/
168
169
typedef
struct
_etiServerMessageMsg
{
170
CARD8 type;
// always etiServerDescription
171
CARD8 pad1;
172
CARD16 pad2;
173
CARD16 id;
//source ID, 0 - means that message directly from the server
174
CARD16 length;
175
}
etiServerMessageMsg
;
176
177
#define sz_etiServerMessageMsg 8
178
179
/*-----------------------------------------------------------------------------
180
* etiServerPoke - poke the client
181
*
182
* This message contain an ID of the client which mark should be poked
183
*/
184
typedef
struct
_etiServerPokeMsg
{
185
CARD8 type;
// always = etiServerPoke
186
CARD8 pad;
187
CARD16 id;
188
}
etiServerPokeMsg
;
189
190
#define sz_etiServerPokeMsg 4
191
192
193
/*****************************************************************************
194
*
195
* Client -> server message definitions
196
*
197
*****************************************************************************/
198
199
/*-----------------------------------------------------------------------------
200
* etiClientGazeSample - Send gaze data sample.
201
*
202
* This message is followed by nPoints structures of etiGazeSample structures
203
*/
204
typedef
struct
_etiClientGazeSampleMsg
{
205
CARD8 type;
// always = etiClientGazeSample
206
CARD8 pad;
207
CARD16 nPoints;
208
}
etiClientGazeSampleMsg
;
209
210
#define sz_etiClientGazeSampleMsg 4
211
212
/*-----------------------------------------------------------------------------
213
* etiClientGazeFixation - Send gaze data fixation.
214
*
215
* This message is followed by nPoints structures of etiGazeFixation structures
216
*/
217
typedef
struct
_etiClientGazeFixationMsg
{
218
CARD8 type;
// always = etiClientGazeFixation
219
CARD8 pad;
220
CARD16 nPoints;
221
}
etiClientGazeFixationMsg
;
222
223
#define sz_etiClientGazeFixationMsg 4
224
225
/*-----------------------------------------------------------------------------
226
* etiClientGazeBlink - Send gaze data blink.
227
*
228
* This message is followed by nPoints structures of etiGazeBlink structures
229
*/
230
typedef
struct
_etiClientGazeBlinkMsg
{
231
CARD8 type;
// always = etiClientGazeBlink
232
CARD8 pad;
233
CARD16 nPoints;
234
}
etiClientGazeBlinkMsg
;
235
236
#define sz_etiClientGazeBlinkMsg 4
237
238
/*-----------------------------------------------------------------------------
239
* etiClientNickMsg - send a client's new nickname that will be shown next to the
240
* eye mark.
241
*
242
* This message send number of symbols in the nickname and is followed by "length"
243
* characters
244
*/
245
246
typedef
struct
_etiClientNickMsg
{
247
CARD8 type;
/* always etiClientNick */
248
CARD8 length;
249
//followed by *length* chars
250
}
etiClientNickMsg
;
251
252
#define sz_etiClientNickMsg 2
253
254
/*-----------------------------------------------------------------------------
255
* etiClientDescriptionMsg - send a client's new description that will be shown
256
* in eye clients options.
257
*
258
* This message send number of symbols in the description and is followed by "length"
259
* characters
260
*/
261
262
typedef
struct
_etiClientDescriptionMsg
{
263
CARD8 type;
/* always etiClientDescription */
264
CARD8 length;
265
//followed by *length* chars
266
}
etiClientDescriptionMsg
;
267
268
#define sz_etiClientDescriptionMsg 2
269
270
/*-----------------------------------------------------------------------------
271
* etiClientAdd - add a new client to the list of trackable marks.
272
*
273
* This message send the ID of the client to add, length of the nickname and length of description.
274
* Its followed by lengthNick characters of client nickname and lengthDesc characters of client description
275
*/
276
typedef
struct
_etiClientAddMsg
{
277
CARD8 type;
/* always etiClientAdd */
278
CARD8 pad1;
279
CARD8 lengthNick;
280
CARD8 lengthDesc;
281
}
etiClientAddMsg
;
282
283
#define sz_etiClientAddMsg 4
284
285
/*-----------------------------------------------------------------------------
286
* etiClientRemove - remove a client from the list of trackable marks.
287
*
288
* This message send the ID of the client to remove
289
*/
290
typedef
struct
_etiClientRemoveMsg
{
291
CARD8 type;
/* always etiClientRemove */
292
}
etiClientRemoveMsg
;
293
294
#define sz_etiClientRemoveMsg 1
295
296
/*-----------------------------------------------------------------------------
297
* etiClientMessageMsg - send a message to the client.
298
*
299
* This message send number of symbols in the description and is followed by "length"
300
* characters
301
*/
302
303
typedef
struct
_etiClientMessageMsg
{
304
CARD8 type;
// always etiClientMessage
305
CARD8 pad;
306
CARD16 length;
307
}
etiClientMessageMsg
;
308
309
#define sz_etiClientMessageMsg 4
310
311
/*-----------------------------------------------------------------------------
312
* etiClientPoke - poke the client
313
*
314
* This message contain an ID of the client which mark should be poked
315
*/
316
typedef
struct
_etiClientPokeMsg
{
317
CARD8 type;
// always = etiClientPoke
318
}
etiClientPokeMsg
;
319
320
#define sz_etiClientPokeMsg 1
Generated on Sat Jun 9 2012 20:28:53 for MGF Server by
1.8.1