Equalizer  2.0.0
Parallel Rendering Framework
commands.h
1 
2 /* Copyright (c) 2005-2015, Stefan Eilemann <eile@equalizergraphics.com>
3  * Cedric Stalder <cedric Stalder@gmail.com>
4  * 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_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_CREATE_QGL_WIDGET,
153  CMD_WINDOW_DESTROY_QGL_WIDGET,
154  CMD_WINDOW_CUSTOM = CMD_OBJECT_CUSTOM + 20
155  };
156 
157  enum ChannelCommand
158  {
159  CMD_CHANNEL_CONFIG_INIT = CMD_OBJECT_CUSTOM, // 15
160  CMD_CHANNEL_CONFIG_INIT_REPLY,
161  CMD_CHANNEL_CONFIG_EXIT,
162  CMD_CHANNEL_CONFIG_EXIT_REPLY,
163  CMD_CHANNEL_FRAME_START,
164  CMD_CHANNEL_FRAME_FINISH,
165  CMD_CHANNEL_FRAME_FINISH_REPLY,
166  CMD_CHANNEL_FRAME_CLEAR,
167  CMD_CHANNEL_FRAME_DRAW,
168  CMD_CHANNEL_FRAME_DRAW_FINISH,
169  CMD_CHANNEL_FRAME_ASSEMBLE,
170  CMD_CHANNEL_FRAME_READBACK,
171  CMD_CHANNEL_FRAME_TRANSMIT_IMAGE,
172  CMD_CHANNEL_FRAME_SET_READY,
173  CMD_CHANNEL_FRAME_SET_READY_NODE,
174  CMD_CHANNEL_FRAME_VIEW_START,
175  CMD_CHANNEL_FRAME_VIEW_FINISH,
176  CMD_CHANNEL_STOP_FRAME,
177  CMD_CHANNEL_FRAME_TILES,
178  CMD_CHANNEL_FINISH_READBACK,
179  CMD_CHANNEL_DELETE_TRANSFER_WINDOW,
180  CMD_CHANNEL_CUSTOM = CMD_OBJECT_CUSTOM + 30
181  };
182 
183  enum CanvasCommand
184  {
185  CMD_CANVAS_NEW_SEGMENT = CMD_OBJECT_CUSTOM, // 15
186  CMD_CANVAS_NEW_SEGMENT_REPLY,
187  CMD_CANVAS_CUSTOM = CMD_OBJECT_CUSTOM + 5
188  };
189 
190  enum LayoutCommand
191  {
192  CMD_LAYOUT_NEW_VIEW = CMD_OBJECT_CUSTOM, // 15
193  CMD_LAYOUT_NEW_VIEW_REPLY,
194  CMD_LAYOUT_CUSTOM = CMD_OBJECT_CUSTOM + 5
195  };
196 
197  enum ViewCommand
198  {
199  CMD_VIEW_CUSTOM = CMD_OBJECT_CUSTOM + 5
200  };
202 }
203 }
204 #endif // EQFABRIC_COMMANDS_H
The Equalizer client library.
Definition: eq/agl/types.h:23