MGF Server
2.1
Multigaze framework server
Main Page
Classes
Files
File List
All
Classes
Functions
GazeDataExtension
gdproto.h
1
/*
2
* etiproto.h - header file defining extension of RFB protocol for the purposes
3
* of eye-tracking information processing.
4
*
5
* message name format
6
* [marker][origin[description]
7
*
8
* [marker] - always "gd"
9
* [origin] - "server" or "client"
10
* [description] - short representation of that what this message is intented for
11
*/
12
13
#pragma once
14
15
#include <map>
16
17
//Define CARD* as in rfb.h
18
typedef
unsigned
long
CARD32;
19
typedef
unsigned
short
CARD16;
20
typedef
short
INT16;
21
typedef
unsigned
char
CARD8;
22
23
24
#define SERVER_ID 65000
25
#define ANY_ID 64000
26
27
/*****************************************************************************
28
*
29
* Message types
30
*
31
*****************************************************************************/
32
33
//types
34
#define gdGazeMsg 201 //send gaze message
35
#define gdControlMsg 202 //send control message
36
#define gdTextMsg 203 //send text
37
38
//subtypes gdGazeMsg
39
#define gdGazeSample 1 //send new eye tracking sample
40
#define gdGazeFixation 2 //send new eye tracking fixation
41
#define gdGazeBlink 3 //send new eye tracking blink
42
43
//subtypes gdControlMsg
44
#define gdPoke 1 //poke client
45
#define gdRegister 2 //register client
46
#define gdUnregister 3 //unregister client
47
48
//subtypes gdTextMsg
49
#define gdName 1 //name
50
#define gdDescription 2 //description
51
#define gdText 3 //text message
52
53
54
/*-----------------------------------------------------------------------------
55
* gdHdrMessage - header message
56
*
57
* This message holds source Id and amount of data entries, that follows this header.
58
* Type of the data that follows this header depend on the type of the message.
59
*/
60
typedef
struct
_gdHdrMsg
{
61
CARD8 type;
// gdGazeMsg | gdControlMsg | gdTextMsg
62
CARD8 subtype;
//subtype
63
CARD16 id;
//source Id
64
CARD16 reserved2;
65
CARD16 count;
//amount of following data entries
66
}
gdHdrMsg
;
67
68
#define sz_gdHdrMsg 8
69
70
71
/* server -> client */
72
//Gaze Data messages
73
/*#define gdServerGazeSample 201 //send new eye tracking sample
74
#define gdServerGazeFixation 202 //send new eye tracking fixation
75
#define gdServerGazeBlink 203 //send new eye tracking blink
76
77
//Client "control" messages
78
#define gdServerNickname 204 //send new nickname
79
#define gdServerDescription 205 //send new description
80
#define gdServerTxtMessage 206 //send text message to the client
81
82
#define gdServerReg 207 //send add client to the tracking list
83
#define gdServerUnReg 208 //send remove client from the tracking list
84
#define gdServerPoke 209 //send client poke
85
86
/* client -> server */
87
//Gaze Data messages
88
/*#define gdClientGazeSample 251 //send new eye tracking sample
89
#define gdClientGazeFixation 252 //send new eye tracking fixation
90
#define gdClientGazeBlink 253 //send new eye tracking blink
91
92
//Client "control" messages
93
#define gdClientNickname 254 //send new nickname
94
#define gdClientDescription 255 //send new description
95
#define gdClientTxtMessage 256 //send text message
96
97
#define gdClientReg 257 //send add client to the tracking list
98
#define gdClientUnReg 258 //send remove client from the tracking list
99
#define gdClientPoke 259 //send poke
100
*/
101
102
/*****************************************************************************
103
*
104
* Server -> client message definitions
105
*
106
*****************************************************************************/
107
108
109
110
/*-----------------------------------------------------------------------------
111
* gdServerHdrMsg - Send header message that contains.
112
*
113
* This message holds source Id and amount of data entries, that follows this header.
114
* Type of the data that follows this header depend on the type of the message.
115
*/
116
/*typedef struct _gdServerHdrMsg {
117
CARD8 type; // gdServerGazeSample | gdServerGazeFixation | gdServerGazeBlink | gdServerNickname | gdServerDescription | gdServerMessage | gdServerReg | gdServerUnReg | gdServerPoke
118
CARD8 subtype; //subtype
119
CARD16 id; //source Id
120
CARD16 reserved2;
121
CARD16 count; //amount of following data entries
122
} gdServerHdrMsg;
123
124
#define sz_gdServerHdrMsg 8
125
126
127
/*-----------------------------------------------------------------------------
128
* gdServerGDHdrMsg - Send gaze data entries.
129
*
130
* This message is followed by "count" structures of gaze data entries
131
*/
132
/*typedef struct _gdServerGDHdrMsg {
133
CARD8 type; // gdServerGazeSample | gdServerGazeFixation | gdServerGazeBlink
134
CARD8 pad1;
135
CARD16 id;
136
CARD16 pad2;
137
CARD16 count;
138
} gdServerGDHdrMsg;
139
140
#define sz_gdServerGDHdrMsg 8
141
142
/*-----------------------------------------------------------------------------
143
* gdServerTextHdrMsg - Send text.
144
*
145
* This message is followed by "length" characters of a text message
146
*/
147
/*typedef struct _gdServerTextHdrMsg {
148
CARD8 type; // gdServerNickname | gdServerDescription | gdServerMessage
149
CARD8 pad1;
150
CARD16 id;
151
CARD16 pad2;
152
CARD16 length;
153
} gdServerTextHdrMsg;
154
155
#define sz_gdServerTextHdrMsg 8
156
157
/*-----------------------------------------------------------------------------
158
* gdServerIdMsg - Send id.
159
*
160
* This message send only client ID, that should be processed in some way
161
*/
162
/*typedef struct _gdServerIdMsg {
163
CARD8 type; // gdServerReg | gdServerUnReg | gdServerPoke
164
CARD8 pad;
165
CARD16 id;
166
} gdServerIdMsg;
167
168
#define sz_gdServerIdMsg 4*/
169
170
171
/*****************************************************************************
172
*
173
* Client -> server message definitions
174
*
175
*****************************************************************************/
176
177
/*-----------------------------------------------------------------------------
178
* gdClientGDHdrMsg - Send gaze data entries.
179
*
180
* This message is followed by "count" structures of gaze data entries
181
*/
182
/*typedef struct _gdClientGDHdrMsg {
183
CARD8 type; // gdClientGazeSample | gdClientGazeFixation | gdClientGazeBlink
184
CARD8 pad;
185
CARD16 count;
186
} gdClientGDHdrMsg;
187
188
#define sz_gdClientGDHdrMsg 4
189
190
/*-----------------------------------------------------------------------------
191
* gdClientTextHdrMsg - Send text.
192
*
193
* This message is followed by "length" characters of a text message
194
*/
195
/*typedef struct _gdClientTextHdrMsg {
196
CARD8 type; // gdClientNickname | gdClientDescription | gdClientMessage
197
CARD8 pad1;
198
CARD16 pad2;
199
CARD16 dstid;
200
CARD16 length;
201
} gdClientTextHdrMsg;
202
203
#define sz_gdClientTextHdrMsg 8
204
205
/*-----------------------------------------------------------------------------
206
* gdClientIdMsg - Send id. This message is rceived from the client so do not contain ID
207
* itself.
208
*
209
* This message send only client ID, that should be processed in some way
210
*/
211
/*typedef struct _gdClientIdMsg {
212
CARD8 type; // gdClientReg | gdClientUnReg | gdClientPoke
213
} gdClientIdMsg;
214
215
#define sz_gdClientIdMsg 1*/
216
217
/*typedef struct _gdClientHdrMsg {
218
CARD8 type; // gdClientGazeSample | gdClientGazeFixation | gdClientGazeBlink | gdClientNickname | gdClientDescription | gdClientMessage | gdClientReg | gdClientUnReg | gdClientPoke
219
CARD8 subtype;
220
CARD16 id; //destination Id
221
CARD16 reserved2;
222
CARD16 count; //amount of following data entries
223
} gdClientHdrMsg;
224
225
#define sz_gdClientHdrMsg 8*/
Generated on Sat Jun 9 2012 20:28:53 for MGF Server by
1.8.1