Equalizer  1.9.0
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
commands.h
1 
2 /* Copyright (c) 2005-2012, Stefan Eilemann <eile@equalizergraphics.com>
3  * 2010, Cedric Stalder <cedric Stalder@gmail.com>
4  * 2011-2012, Daniel Nachbaur <danielnachbaur@gmail.com>
5  *
6  * This library is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License version 2.1 as published
8  * by the Free Software Foundation.
9  *
10  * This library is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13  * details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this library; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 #ifndef EQFABRIC_COMMANDS_H
21 #define EQFABRIC_COMMANDS_H
22 
23 #include <co/commands.h>
24 
25 namespace eq
26 {
27 namespace fabric
28 {
30  enum ServerCommand
31  {
32  CMD_SERVER_CHOOSE_CONFIG = co::CMD_NODE_CUSTOM, // 50
33  CMD_SERVER_CHOOSE_CONFIG_REPLY,
34  CMD_SERVER_CREATE_CONFIG,
35  CMD_SERVER_CREATE_CONFIG_REPLY,
36  CMD_SERVER_DESTROY_CONFIG,
37  CMD_SERVER_DESTROY_CONFIG_REPLY,
38  CMD_SERVER_RELEASE_CONFIG,
39  CMD_SERVER_RELEASE_CONFIG_REPLY,
40  CMD_SERVER_INIT_CONFIG,
41  CMD_SERVER_SHUTDOWN,
42  CMD_SERVER_SHUTDOWN_REPLY,
43  // admin
44  CMD_SERVER_MAP,
45  CMD_SERVER_MAP_REPLY,
46  CMD_SERVER_UNMAP,
47  CMD_SERVER_UNMAP_REPLY,
48  CMD_SERVER_CUSTOM = co::CMD_NODE_CUSTOM + 20 // 70, buffer for changes
49  };
50 
51  enum ClientCommand
52  {
53  CMD_CLIENT_EXIT = CMD_SERVER_CUSTOM, // 70
54  CMD_CLIENT_INTERRUPT,
55  CMD_CLIENT_CUSTOM = CMD_SERVER_CUSTOM + 5
56  };
57 
58  enum ObjectICommand
59  {
60  CMD_OBJECT_SYNC = co::CMD_OBJECT_CUSTOM, // 10
61  CMD_OBJECT_CUSTOM = co::CMD_OBJECT_CUSTOM + 5
62  };
63 
64  enum ConfigCommand
65  {
66  CMD_CONFIG_NEW_LAYOUT = CMD_OBJECT_CUSTOM, // 15
67  CMD_CONFIG_NEW_CANVAS,
68  CMD_CONFIG_NEW_OBSERVER,
69  CMD_CONFIG_NEW_ENTITY_REPLY,
70  CMD_CONFIG_START_INIT,
71  CMD_CONFIG_START_INIT_REPLY,
72  CMD_CONFIG_INIT,
73  CMD_CONFIG_INIT_REPLY,
74  CMD_CONFIG_EXIT,
75  CMD_CONFIG_EXIT_REPLY,
76  CMD_CONFIG_UPDATE,
77  CMD_CONFIG_UPDATE_VERSION,
78  CMD_CONFIG_UPDATE_REPLY,
79  CMD_CONFIG_CREATE_REPLY,
80  CMD_CONFIG_CREATE_NODE,
81  CMD_CONFIG_DESTROY_NODE,
82  CMD_CONFIG_START_FRAME,
83  CMD_CONFIG_RELEASE_FRAME_LOCAL,
84  CMD_CONFIG_FRAME_FINISH,
85  CMD_CONFIG_FINISH_ALL_FRAMES,
86  CMD_CONFIG_STOP_FRAMES,
87  CMD_CONFIG_EVENT,
88  CMD_CONFIG_EVENT_OLD,
89  CMD_CONFIG_SYNC_CLOCK,
90  CMD_CONFIG_SWAP_OBJECT,
91  CMD_CONFIG_CHECK_FRAME,
92  CMD_CONFIG_CUSTOM = CMD_OBJECT_CUSTOM + 30
93  };
94 
95  enum NodeCommand
96  {
97  CMD_NODE_CONFIG_INIT = CMD_OBJECT_CUSTOM, // 15
98  CMD_NODE_CONFIG_INIT_REPLY,
99  CMD_NODE_SET_AFFINITY,
100  CMD_NODE_CONFIG_EXIT,
101  CMD_NODE_CONFIG_EXIT_REPLY,
102  CMD_NODE_CREATE_PIPE,
103  CMD_NODE_DESTROY_PIPE,
104  CMD_NODE_FRAME_START,
105  CMD_NODE_FRAME_FINISH,
106  CMD_NODE_FRAME_FINISH_REPLY,
107  CMD_NODE_FRAME_DRAW_FINISH,
108  CMD_NODE_FRAME_TASKS_FINISH,
109  CMD_NODE_FRAMEDATA_TRANSMIT,
110  CMD_NODE_FRAMEDATA_READY,
111  CMD_NODE_CUSTOM = CMD_OBJECT_CUSTOM + 20
112  };
113 
114  enum PipeCommand
115  {
116  CMD_PIPE_NEW_WINDOW = CMD_OBJECT_CUSTOM, // 15
117  CMD_PIPE_NEW_WINDOW_REPLY,
118  CMD_PIPE_CONFIG_INIT,
119  CMD_PIPE_CONFIG_INIT_REPLY,
120  CMD_PIPE_CONFIG_EXIT,
121  CMD_PIPE_CONFIG_EXIT_REPLY,
122  CMD_PIPE_CREATE_WINDOW,
123  CMD_PIPE_DESTROY_WINDOW,
124  CMD_PIPE_FRAME_START,
125  CMD_PIPE_FRAME_FINISH,
126  CMD_PIPE_FRAME_DRAW_FINISH,
127  CMD_PIPE_FRAME_START_CLOCK,
128  CMD_PIPE_EXIT_THREAD,
129  CMD_PIPE_EXIT_TRANSFER_THREAD,
130  CMD_PIPE_DETACH_VIEW,
131  CMD_PIPE_CUSTOM = CMD_OBJECT_CUSTOM + 20
132  };
133 
134  enum WindowCommand
135  {
136  CMD_WINDOW_NEW_CHANNEL = CMD_OBJECT_CUSTOM, // 15
137  CMD_WINDOW_NEW_CHANNEL_REPLY,
138  CMD_WINDOW_CONFIG_INIT,
139  CMD_WINDOW_CONFIG_INIT_REPLY,
140  CMD_WINDOW_CONFIG_EXIT,
141  CMD_WINDOW_CONFIG_EXIT_REPLY,
142  CMD_WINDOW_CREATE_CHANNEL,
143  CMD_WINDOW_DESTROY_CHANNEL,
144  CMD_WINDOW_FRAME_START,
145  CMD_WINDOW_FRAME_FINISH,
146  CMD_WINDOW_FLUSH,
147  CMD_WINDOW_FINISH,
148  CMD_WINDOW_THROTTLE_FRAMERATE,
149  CMD_WINDOW_BARRIER,
150  CMD_WINDOW_NV_BARRIER,
151  CMD_WINDOW_SWAP,
152  CMD_WINDOW_FRAME_DRAW_FINISH,
153  CMD_WINDOW_CREATE_QGL_WIDGET,
154  CMD_WINDOW_DESTROY_QGL_WIDGET,
155  CMD_WINDOW_CUSTOM = CMD_OBJECT_CUSTOM + 20
156  };
157 
158  enum ChannelCommand
159  {
160  CMD_CHANNEL_CONFIG_INIT = CMD_OBJECT_CUSTOM, // 15
161  CMD_CHANNEL_CONFIG_INIT_REPLY,
162  CMD_CHANNEL_CONFIG_EXIT,
163  CMD_CHANNEL_CONFIG_EXIT_REPLY,
164  CMD_CHANNEL_FRAME_START,
165  CMD_CHANNEL_FRAME_FINISH,
166  CMD_CHANNEL_FRAME_FINISH_REPLY,
167  CMD_CHANNEL_FRAME_CLEAR,
168  CMD_CHANNEL_FRAME_DRAW,
169  CMD_CHANNEL_FRAME_DRAW_FINISH,
170  CMD_CHANNEL_FRAME_ASSEMBLE,
171  CMD_CHANNEL_FRAME_READBACK,
172  CMD_CHANNEL_FRAME_TRANSMIT_IMAGE,
173  CMD_CHANNEL_FRAME_SET_READY,
174  CMD_CHANNEL_FRAME_SET_READY_NODE,
175  CMD_CHANNEL_FRAME_VIEW_START,
176  CMD_CHANNEL_FRAME_VIEW_FINISH,
177  CMD_CHANNEL_STOP_FRAME,
178  CMD_CHANNEL_FRAME_TILES,
179  CMD_CHANNEL_FINISH_READBACK,
180  CMD_CHANNEL_DELETE_TRANSFER_CONTEXT,
181  CMD_CHANNEL_CUSTOM = CMD_OBJECT_CUSTOM + 30
182  };
183 
184  enum CanvasCommand
185  {
186  CMD_CANVAS_NEW_SEGMENT = CMD_OBJECT_CUSTOM, // 15
187  CMD_CANVAS_NEW_SEGMENT_REPLY,
188  CMD_CANVAS_CUSTOM = CMD_OBJECT_CUSTOM + 5
189  };
190 
191  enum LayoutCommand
192  {
193  CMD_LAYOUT_NEW_VIEW = CMD_OBJECT_CUSTOM, // 15
194  CMD_LAYOUT_NEW_VIEW_REPLY,
195  CMD_LAYOUT_CUSTOM = CMD_OBJECT_CUSTOM + 5
196  };
197 
198  enum ViewCommand
199  {
200  CMD_VIEW_CUSTOM = CMD_OBJECT_CUSTOM + 5
201  };
203 }
204 }
205 #endif // EQFABRIC_COMMANDS_H
206