Equalizer  1.6.1
eq/fabric/types.h
1 
2 /* Copyright (c) 2007-2013, Stefan Eilemann <eile@equalizergraphics.com>
3  * 2011-2012, Daniel Nachbaur <danielnachbaur@gmail.com>
4  * 2010, Cedric Stalder <cedric.stalder@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_TYPES_H
21 #define EQFABRIC_TYPES_H
22 
23 #include <eq/fabric/api.h>
24 #include <eq/fabric/error.h>
25 #include <eq/fabric/vmmlib.h>
26 #include <co/types.h>
27 #include <co/version.h>
28 #include <lunchbox/refPtr.h>
29 #include <lunchbox/uint128_t.h>
30 #include <lunchbox/visitorResult.h>
31 
32 #if CO_VERSION_GE( 1, 1, 0 )
33 # ifdef _WIN32
34 # define EQ_DEFAULT_PORT (4242)
35 # else
36  // #241: Avoid using privilege ports below 1024
37 # define EQ_DEFAULT_PORT ( (getuid() % 64511) + 1024 )
38 # endif
39 # define EQ_INSTANCE_INVALID CO_INSTANCE_INVALID
40 # define EQ_INSTANCE_ALL CO_INSTANCE_ALL
41 #endif
42 
43 namespace eq
44 {
45 namespace fabric
46 {
47 class ColorMask;
48 class ConfigParams;
49 class Equalizer;
50 class ErrorRegistry;
51 class Frustum;
52 class Pixel;
53 class PixelViewport;
54 class Projection;
55 class Range;
56 class RenderContext;
57 class SubPixel;
58 class SwapBarrier;
59 class Tile;
60 class Viewport;
61 class Wall;
62 class Zoom;
63 struct DrawableConfig;
64 struct GPUInfo;
65 
66 using lunchbox::uint128_t;
67 using lunchbox::UUID;
68 using lunchbox::VisitorResult;
69 using lunchbox::TRAVERSE_CONTINUE;
70 using lunchbox::TRAVERSE_PRUNE;
71 using lunchbox::TRAVERSE_TERMINATE;
72 
73 class Client;
74 template< class, class > class Channel;
75 template< class, class > class Observer;
76 template< class, class, class > class Layout;
77 template< class, class, class > class Segment;
78 template< class, class, class > class View;
79 template< class, class, class > class Window;
80 template< class, class, class, class > class Canvas;
81 template< class, class, class, class > class Node;
82 template< class, class, class, class > class Pipe;
83 template< class, class, class, class, class, class > class Server;
84 template< class, class, class, class, class, class, class > class Config;
85 template< class, class > class ElementVisitor;
86 template< class > class LeafVisitor;
87 template< class, class, class, class, class> class ConfigVisitor;
88 
89 typedef lunchbox::RefPtr< Client > ClientPtr;
90 typedef lunchbox::RefPtr< const Client > ConstClientPtr;
91 typedef lunchbox::RefPtr< SwapBarrier > SwapBarrierPtr;
92 typedef lunchbox::RefPtr< const SwapBarrier > SwapBarrierConstPtr;
93 
94 struct CanvasPath;
95 struct ChannelPath;
96 struct LayoutPath;
97 struct NodePath;
98 struct ObserverPath;
99 struct PipePath;
100 struct SegmentPath;
101 struct ViewPath;
102 struct WindowPath;
103 
104 using co::Strings;
105 using co::StringsCIter;
106 
107 #ifndef EQ_2_0_API
108 using co::Serializable;
109 #endif
110 }
111 }
112 
113 #ifndef EQ_2_0_API
114 namespace co
115 {
116 using eq::fabric::Error;
118 using eq::fabric::ERROR_NONE;
119 }
120 #endif
121 
122 #endif // EQFABRIC_TYPES_H
Base data transport class for pipes.
The registry translating error codes to strings.
Definition: errorRegistry.h:42
Base data transport class for windows.
A visitor to traverse configs and all children.
Definition: configVisitor.h:36
Base co::Node class for a server.
Definition: fabric/server.h:32
A visitor to traverse non-leaf elements and their children in a tree.
Error
Defines errors produced by Equalizer classes.
A canvas represents a logical 2D projection surface.
Definition: fabric/canvas.h:34
Base data transport class for views.
Base data class for a configuration.
A visitor to traverse leaf nodes of a graph.
Definition: leafVisitor.h:28
Base data transport class for nodes.