1/*
2 * Copyright 2007-2009, Haiku Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Stephan A��mus <superstippi@gmx.de>
7 */
8
9
10#include "ProfileMessageSupport.h"
11
12#include <ServerProtocol.h>
13
14
15void
16string_for_message_code(uint32 code, BString& string)
17{
18	string = "";
19
20	switch (code) {
21		// Return the exact name for each constant
22		#define CODE(x) case x: string = #x; break
23
24		CODE(AS_GET_DESKTOP);
25		CODE(AS_REGISTER_INPUT_SERVER);
26		CODE(AS_EVENT_STREAM_CLOSED);
27
28		// Desktop definitions (through the ServerApp, though)
29		CODE(AS_GET_WINDOW_LIST);
30		CODE(AS_GET_WINDOW_INFO);
31		CODE(AS_MINIMIZE_TEAM);
32		CODE(AS_BRING_TEAM_TO_FRONT);
33		CODE(AS_WINDOW_ACTION);
34
35		// Application definitions
36		CODE(AS_CREATE_APP);
37		CODE(AS_DELETE_APP);
38		CODE(AS_QUIT_APP);
39		CODE(AS_ACTIVATE_APP);
40		CODE(AS_APP_CRASHED);
41
42		CODE(AS_CREATE_WINDOW);
43		CODE(AS_CREATE_OFFSCREEN_WINDOW);
44		CODE(AS_DELETE_WINDOW);
45		CODE(AS_CREATE_BITMAP);
46		CODE(AS_DELETE_BITMAP);
47		CODE(AS_GET_BITMAP_OVERLAY_RESTRICTIONS);
48
49		// Cursor commands
50		CODE(AS_SET_CURSOR);
51		CODE(AS_SET_VIEW_CURSOR);
52
53		CODE(AS_SHOW_CURSOR);
54		CODE(AS_HIDE_CURSOR);
55		CODE(AS_OBSCURE_CURSOR);
56		CODE(AS_QUERY_CURSOR_HIDDEN);
57
58		CODE(AS_CREATE_CURSOR);
59		CODE(AS_REFERENCE_CURSOR);
60		CODE(AS_DELETE_CURSOR);
61
62		CODE(AS_BEGIN_RECT_TRACKING);
63		CODE(AS_END_RECT_TRACKING);
64
65		CODE(AS_GET_CURSOR_POSITION);
66		CODE(AS_GET_CURSOR_BITMAP);
67
68		// Window definitions
69		CODE(AS_SHOW_OR_HIDE_WINDOW);
70		CODE(AS_INTERNAL_HIDE_WINDOW);
71		CODE(AS_MINIMIZE_WINDOW);
72		CODE(AS_QUIT_WINDOW);
73		CODE(AS_SEND_BEHIND);
74		CODE(AS_SET_LOOK);
75		CODE(AS_SET_FEEL);
76		CODE(AS_SET_FLAGS);
77		CODE(AS_DISABLE_UPDATES);
78		CODE(AS_ENABLE_UPDATES);
79		CODE(AS_BEGIN_UPDATE);
80		CODE(AS_END_UPDATE);
81		CODE(AS_NEEDS_UPDATE);
82		CODE(AS_SET_WINDOW_TITLE);
83		CODE(AS_ADD_TO_SUBSET);
84		CODE(AS_REMOVE_FROM_SUBSET);
85		CODE(AS_SET_ALIGNMENT);
86		CODE(AS_GET_ALIGNMENT);
87		CODE(AS_GET_WORKSPACES);
88		CODE(AS_SET_WORKSPACES);
89		CODE(AS_WINDOW_RESIZE);
90		CODE(AS_WINDOW_MOVE);
91		CODE(AS_SET_SIZE_LIMITS);
92		CODE(AS_ACTIVATE_WINDOW);
93		CODE(AS_IS_FRONT_WINDOW);
94
95		// BPicture definitions
96		CODE(AS_CREATE_PICTURE);
97		CODE(AS_DELETE_PICTURE);
98		CODE(AS_CLONE_PICTURE);
99		CODE(AS_DOWNLOAD_PICTURE);
100
101		// Font-related server communications
102		CODE(AS_SET_SYSTEM_FONT);
103		CODE(AS_GET_SYSTEM_FONTS);
104		CODE(AS_GET_SYSTEM_DEFAULT_FONT);
105
106		CODE(AS_GET_FONT_LIST_REVISION);
107		CODE(AS_GET_FAMILY_AND_STYLES);
108
109		CODE(AS_GET_FAMILY_AND_STYLE);
110		CODE(AS_GET_FAMILY_AND_STYLE_IDS);
111		CODE(AS_GET_FONT_BOUNDING_BOX);
112		CODE(AS_GET_TUNED_COUNT);
113		CODE(AS_GET_TUNED_INFO);
114		CODE(AS_GET_FONT_HEIGHT);
115		CODE(AS_GET_FONT_FILE_FORMAT);
116		CODE(AS_GET_EXTRA_FONT_FLAGS);
117
118		CODE(AS_GET_STRING_WIDTHS);
119		CODE(AS_GET_EDGES);
120		CODE(AS_GET_ESCAPEMENTS);
121		CODE(AS_GET_ESCAPEMENTS_AS_FLOATS);
122		CODE(AS_GET_BOUNDINGBOXES_CHARS);
123		CODE(AS_GET_BOUNDINGBOXES_STRING);
124		CODE(AS_GET_BOUNDINGBOXES_STRINGS);
125		CODE(AS_GET_HAS_GLYPHS);
126		CODE(AS_GET_GLYPH_SHAPES);
127		CODE(AS_GET_TRUNCATED_STRINGS);
128
129		// Screen methods
130		CODE(AS_VALID_SCREEN_ID);
131		CODE(AS_GET_NEXT_SCREEN_ID);
132		CODE(AS_SCREEN_GET_MODE);
133		CODE(AS_SCREEN_SET_MODE);
134		CODE(AS_PROPOSE_MODE);
135		CODE(AS_GET_MODE_LIST);
136
137		CODE(AS_GET_PIXEL_CLOCK_LIMITS);
138		CODE(AS_GET_TIMING_CONSTRAINTS);
139
140		CODE(AS_SCREEN_GET_COLORMAP);
141		CODE(AS_GET_DESKTOP_COLOR);
142		CODE(AS_SET_DESKTOP_COLOR);
143		CODE(AS_GET_SCREEN_ID_FROM_WINDOW);
144
145		CODE(AS_READ_BITMAP);
146
147		CODE(AS_GET_RETRACE_SEMAPHORE);
148		CODE(AS_GET_ACCELERANT_INFO);
149		CODE(AS_GET_MONITOR_INFO);
150		CODE(AS_GET_FRAME_BUFFER_CONFIG);
151
152		CODE(AS_SET_DPMS);
153		CODE(AS_GET_DPMS_STATE);
154		CODE(AS_GET_DPMS_CAPABILITIES);
155
156		// Misc stuff
157		CODE(AS_GET_ACCELERANT_PATH);
158		CODE(AS_GET_DRIVER_PATH);
159
160		// Global function call defs
161		CODE(AS_SET_UI_COLORS);
162		CODE(AS_SET_UI_COLOR);
163		CODE(AS_SET_DECORATOR);
164		CODE(AS_GET_DECORATOR);
165
166		CODE(AS_SET_WORKSPACE_LAYOUT);
167		CODE(AS_GET_WORKSPACE_LAYOUT);
168		CODE(AS_CURRENT_WORKSPACE);
169		CODE(AS_ACTIVATE_WORKSPACE);
170		CODE(AS_GET_SCROLLBAR_INFO);
171		CODE(AS_SET_SCROLLBAR_INFO);
172		CODE(AS_GET_MENU_INFO);
173		CODE(AS_SET_MENU_INFO);
174		CODE(AS_IDLE_TIME);
175		CODE(AS_SET_MOUSE_MODE);
176		CODE(AS_GET_MOUSE_MODE);
177		CODE(AS_SET_FOCUS_FOLLOWS_MOUSE_MODE);
178		CODE(AS_GET_FOCUS_FOLLOWS_MOUSE_MODE);
179		CODE(AS_SET_ACCEPT_FIRST_CLICK);
180		CODE(AS_GET_ACCEPT_FIRST_CLICK);
181		CODE(AS_GET_MOUSE);
182		CODE(AS_SET_DECORATOR_SETTINGS);
183		CODE(AS_GET_DECORATOR_SETTINGS);
184		CODE(AS_GET_SHOW_ALL_DRAGGERS);
185		CODE(AS_SET_SHOW_ALL_DRAGGERS);
186
187		// Subpixel antialiasing & hinting
188		CODE(AS_SET_SUBPIXEL_ANTIALIASING);
189		CODE(AS_GET_SUBPIXEL_ANTIALIASING);
190		CODE(AS_SET_HINTING);
191		CODE(AS_GET_HINTING);
192		CODE(AS_SET_SUBPIXEL_AVERAGE_WEIGHT);
193		CODE(AS_GET_SUBPIXEL_AVERAGE_WEIGHT);
194		CODE(AS_SET_SUBPIXEL_ORDERING);
195		CODE(AS_GET_SUBPIXEL_ORDERING);
196
197		// Graphics calls
198		CODE(AS_SET_HIGH_COLOR);
199		CODE(AS_SET_LOW_COLOR);
200		CODE(AS_SET_VIEW_COLOR);
201
202		CODE(AS_STROKE_ARC);
203		CODE(AS_STROKE_BEZIER);
204		CODE(AS_STROKE_ELLIPSE);
205		CODE(AS_STROKE_LINE);
206		CODE(AS_STROKE_LINEARRAY);
207		CODE(AS_STROKE_POLYGON);
208		CODE(AS_STROKE_RECT);
209		CODE(AS_STROKE_ROUNDRECT);
210		CODE(AS_STROKE_SHAPE);
211		CODE(AS_STROKE_TRIANGLE);
212
213		CODE(AS_FILL_ARC);
214		CODE(AS_FILL_ARC_GRADIENT);
215		CODE(AS_FILL_BEZIER);
216		CODE(AS_FILL_BEZIER_GRADIENT);
217		CODE(AS_FILL_ELLIPSE);
218		CODE(AS_FILL_ELLIPSE_GRADIENT);
219		CODE(AS_FILL_POLYGON);
220		CODE(AS_FILL_POLYGON_GRADIENT);
221		CODE(AS_FILL_RECT);
222		CODE(AS_FILL_RECT_GRADIENT);
223		CODE(AS_FILL_REGION);
224		CODE(AS_FILL_REGION_GRADIENT);
225		CODE(AS_FILL_ROUNDRECT);
226		CODE(AS_FILL_ROUNDRECT_GRADIENT);
227		CODE(AS_FILL_SHAPE);
228		CODE(AS_FILL_SHAPE_GRADIENT);
229		CODE(AS_FILL_TRIANGLE);
230		CODE(AS_FILL_TRIANGLE_GRADIENT);
231
232		CODE(AS_DRAW_STRING);
233		CODE(AS_DRAW_STRING_WITH_DELTA);
234
235		CODE(AS_SYNC);
236
237		CODE(AS_VIEW_CREATE);
238		CODE(AS_VIEW_DELETE);
239		CODE(AS_VIEW_CREATE_ROOT);
240		CODE(AS_VIEW_SHOW);
241		CODE(AS_VIEW_HIDE);
242		CODE(AS_VIEW_MOVE);
243		CODE(AS_VIEW_RESIZE);
244		CODE(AS_VIEW_DRAW);
245
246		// View definitions
247		CODE(AS_VIEW_GET_COORD);
248		CODE(AS_VIEW_SET_FLAGS);
249		CODE(AS_VIEW_SET_ORIGIN);
250		CODE(AS_VIEW_GET_ORIGIN);
251		CODE(AS_VIEW_RESIZE_MODE);
252		CODE(AS_VIEW_BEGIN_RECT_TRACK);
253		CODE(AS_VIEW_END_RECT_TRACK);
254		CODE(AS_VIEW_DRAG_RECT);
255		CODE(AS_VIEW_DRAG_IMAGE);
256		CODE(AS_VIEW_SCROLL);
257		CODE(AS_VIEW_SET_LINE_MODE);
258		CODE(AS_VIEW_GET_LINE_MODE);
259		CODE(AS_VIEW_PUSH_STATE);
260		CODE(AS_VIEW_POP_STATE);
261		CODE(AS_VIEW_SET_SCALE);
262		CODE(AS_VIEW_GET_SCALE);
263		CODE(AS_VIEW_SET_DRAWING_MODE);
264		CODE(AS_VIEW_GET_DRAWING_MODE);
265		CODE(AS_VIEW_SET_BLENDING_MODE);
266		CODE(AS_VIEW_GET_BLENDING_MODE);
267		CODE(AS_VIEW_SET_PEN_LOC);
268		CODE(AS_VIEW_GET_PEN_LOC);
269		CODE(AS_VIEW_SET_PEN_SIZE);
270		CODE(AS_VIEW_GET_PEN_SIZE);
271		CODE(AS_VIEW_SET_HIGH_COLOR);
272		CODE(AS_VIEW_SET_LOW_COLOR);
273		CODE(AS_VIEW_SET_VIEW_COLOR);
274		CODE(AS_VIEW_GET_HIGH_COLOR);
275		CODE(AS_VIEW_GET_LOW_COLOR);
276		CODE(AS_VIEW_GET_VIEW_COLOR);
277		CODE(AS_VIEW_PRINT_ALIASING);
278		CODE(AS_VIEW_CLIP_TO_PICTURE);
279		CODE(AS_VIEW_GET_CLIP_REGION);
280		CODE(AS_VIEW_DRAW_BITMAP);
281		CODE(AS_VIEW_SET_EVENT_MASK);
282		CODE(AS_VIEW_SET_MOUSE_EVENT_MASK);
283
284		CODE(AS_VIEW_DRAW_STRING);
285		CODE(AS_VIEW_SET_CLIP_REGION);
286		CODE(AS_VIEW_LINE_ARRAY);
287		CODE(AS_VIEW_BEGIN_PICTURE);
288		CODE(AS_VIEW_APPEND_TO_PICTURE);
289		CODE(AS_VIEW_END_PICTURE);
290		CODE(AS_VIEW_COPY_BITS);
291		CODE(AS_VIEW_DRAW_PICTURE);
292		CODE(AS_VIEW_INVALIDATE_RECT);
293		CODE(AS_VIEW_INVALIDATE_REGION);
294		CODE(AS_VIEW_INVERT_RECT);
295		CODE(AS_VIEW_MOVE_TO);
296		CODE(AS_VIEW_RESIZE_TO);
297		CODE(AS_VIEW_SET_STATE);
298		CODE(AS_VIEW_SET_FONT_STATE);
299		CODE(AS_VIEW_GET_STATE);
300		CODE(AS_VIEW_SET_VIEW_BITMAP);
301		CODE(AS_VIEW_SET_PATTERN);
302		CODE(AS_SET_CURRENT_VIEW);
303
304		// BDirectWindow codes
305		CODE(AS_DIRECT_WINDOW_GET_SYNC_DATA);
306		CODE(AS_DIRECT_WINDOW_SET_FULLSCREEN);
307
308		default:
309			string << "unkown code: " << code;
310			break;
311	}
312}
313
314
315