Equalizer  1.6.1
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_CUSTOM = CMD_SERVER_CUSTOM + 5
55  };
56 
57  enum ObjectICommand
58  {
59  CMD_OBJECT_SYNC = co::CMD_OBJECT_CUSTOM, // 10
60  CMD_OBJECT_CUSTOM = co::CMD_OBJECT_CUSTOM + 5
61  };
62 
63  enum ConfigCommand
64  {
65  CMD_CONFIG_NEW_LAYOUT = CMD_OBJECT_CUSTOM, // 15
66  CMD_CONFIG_NEW_CANVAS,
67  CMD_CONFIG_NEW_OBSERVER,
68  CMD_CONFIG_NEW_ENTITY_REPLY,
69  CMD_CONFIG_START_INIT,
70  CMD_CONFIG_START_INIT_REPLY,
71  CMD_CONFIG_INIT,
72  CMD_CONFIG_INIT_REPLY,
73  CMD_CONFIG_EXIT,
74  CMD_CONFIG_EXIT_REPLY,
75  CMD_CONFIG_UPDATE,
76  CMD_CONFIG_UPDATE_VERSION,
77  CMD_CONFIG_UPDATE_REPLY,
78  CMD_CONFIG_CREATE_REPLY,
79  CMD_CONFIG_CREATE_NODE,
80  CMD_CONFIG_DESTROY_NODE,
81  CMD_CONFIG_START_FRAME,
82  CMD_CONFIG_RELEASE_FRAME_LOCAL,
83  CMD_CONFIG_FRAME_FINISH,
84  CMD_CONFIG_FINISH_ALL_FRAMES,
85  CMD_CONFIG_STOP_FRAMES,
86  CMD_CONFIG_EVENT,
87  CMD_CONFIG_EVENT_OLD,
88  CMD_CONFIG_SYNC_CLOCK,
89  CMD_CONFIG_SWAP_OBJECT,
90  CMD_CONFIG_CHECK_FRAME,
91  CMD_CONFIG_CUSTOM = CMD_OBJECT_CUSTOM + 30
92  };
93 
94  enum NodeCommand
95  {
96  CMD_NODE_CONFIG_INIT = CMD_OBJECT_CUSTOM, // 15
97  CMD_NODE_CONFIG_INIT_REPLY,
98  CMD_NODE_SET_AFFINITY,
99  CMD_NODE_CONFIG_EXIT,
100  CMD_NODE_CONFIG_EXIT_REPLY,
101  CMD_NODE_CREATE_PIPE,
102  CMD_NODE_DESTROY_PIPE,
103  CMD_NODE_FRAME_START,
104  CMD_NODE_FRAME_FINISH,
105  CMD_NODE_FRAME_FINISH_REPLY,
106  CMD_NODE_FRAME_DRAW_FINISH,
107  CMD_NODE_FRAME_TASKS_FINISH,
108  CMD_NODE_FRAMEDATA_TRANSMIT,
109  CMD_NODE_FRAMEDATA_READY,
110  CMD_NODE_CUSTOM = CMD_OBJECT_CUSTOM + 20
111  };
112 
113  enum PipeCommand
114  {
115  CMD_PIPE_NEW_WINDOW = CMD_OBJECT_CUSTOM, // 15
116  CMD_PIPE_NEW_WINDOW_REPLY,
117  CMD_PIPE_CONFIG_INIT,
118  CMD_PIPE_CONFIG_INIT_REPLY,
119  CMD_PIPE_CONFIG_EXIT,
120  CMD_PIPE_CONFIG_EXIT_REPLY,
121  CMD_PIPE_CREATE_WINDOW,
122  CMD_PIPE_DESTROY_WINDOW,
123  CMD_PIPE_FRAME_START,
124  CMD_PIPE_FRAME_FINISH,
125  CMD_PIPE_FRAME_DRAW_FINISH,
126  CMD_PIPE_FRAME_START_CLOCK,
127  CMD_PIPE_EXIT_THREAD,
128  CMD_PIPE_EXIT_TRANSFER_THREAD,
129  CMD_PIPE_DETACH_VIEW,
130  CMD_PIPE_CUSTOM = CMD_OBJECT_CUSTOM + 20
131  };
132 
133  enum WindowCommand
134  {
135  CMD_WINDOW_NEW_CHANNEL = CMD_OBJECT_CUSTOM, // 15
136  CMD_WINDOW_NEW_CHANNEL_REPLY,
137  CMD_WINDOW_CONFIG_INIT,
138  CMD_WINDOW_CONFIG_INIT_REPLY,
139  CMD_WINDOW_CONFIG_EXIT,
140  CMD_WINDOW_CONFIG_EXIT_REPLY,
141  CMD_WINDOW_CREATE_CHANNEL,
142  CMD_WINDOW_DESTROY_CHANNEL,
143  CMD_WINDOW_FRAME_START,
144  CMD_WINDOW_FRAME_FINISH,
145  CMD_WINDOW_FLUSH,
146  CMD_WINDOW_FINISH,
147  CMD_WINDOW_THROTTLE_FRAMERATE,
148  CMD_WINDOW_BARRIER,
149  CMD_WINDOW_NV_BARRIER,
150  CMD_WINDOW_SWAP,
151  CMD_WINDOW_FRAME_DRAW_FINISH,
152  CMD_WINDOW_CUSTOM = CMD_OBJECT_CUSTOM + 20
153  };
154 
155  enum ChannelCommand
156  {
157  CMD_CHANNEL_CONFIG_INIT = CMD_OBJECT_CUSTOM, // 15
158  CMD_CHANNEL_CONFIG_INIT_REPLY,
159  CMD_CHANNEL_CONFIG_EXIT,
160  CMD_CHANNEL_CONFIG_EXIT_REPLY,
161  CMD_CHANNEL_FRAME_START,
162  CMD_CHANNEL_FRAME_FINISH,
163  CMD_CHANNEL_FRAME_FINISH_REPLY,
164  CMD_CHANNEL_FRAME_CLEAR,
165  CMD_CHANNEL_FRAME_DRAW,
166  CMD_CHANNEL_FRAME_DRAW_FINISH,
167  CMD_CHANNEL_FRAME_ASSEMBLE,
168  CMD_CHANNEL_FRAME_READBACK,
169  CMD_CHANNEL_FRAME_TRANSMIT_IMAGE,
170  CMD_CHANNEL_FRAME_SET_READY,
171  CMD_CHANNEL_FRAME_SET_READY_NODE,
172  CMD_CHANNEL_FRAME_VIEW_START,
173  CMD_CHANNEL_FRAME_VIEW_FINISH,
174  CMD_CHANNEL_STOP_FRAME,
175  CMD_CHANNEL_FRAME_TILES,
176  CMD_CHANNEL_FINISH_READBACK,
177  CMD_CHANNEL_DELETE_TRANSFER_CONTEXT,
178  CMD_CHANNEL_CUSTOM = CMD_OBJECT_CUSTOM + 30
179  };
180 
181  enum CanvasCommand
182  {
183  CMD_CANVAS_NEW_SEGMENT = CMD_OBJECT_CUSTOM, // 15
184  CMD_CANVAS_NEW_SEGMENT_REPLY,
185  CMD_CANVAS_CUSTOM = CMD_OBJECT_CUSTOM + 5
186  };
187 
188  enum LayoutCommand
189  {
190  CMD_LAYOUT_NEW_VIEW = CMD_OBJECT_CUSTOM, // 15
191  CMD_LAYOUT_NEW_VIEW_REPLY,
192  CMD_LAYOUT_CUSTOM = CMD_OBJECT_CUSTOM + 5
193  };
194 
195  enum ViewCommand
196  {
197  CMD_VIEW_CUSTOM = CMD_OBJECT_CUSTOM + 5
198  };
200 }
201 }
202 #endif // EQFABRIC_COMMANDS_H
203