Equalizer  1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
admin/types.h
1 
2 /* Copyright (c) 2010-2014, Stefan Eilemann <eile@eyescale.ch>
3  *
4  * This library is free software; you can redistribute it and/or modify it under
5  * the terms of the GNU Lesser General Public License version 2.1 as published
6  * by the Free Software Foundation.
7  *
8  * This library is distributed in the hope that it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
11  * details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this library; if not, write to the Free Software Foundation, Inc.,
15  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16  */
17 
18 #ifndef EQADMIN_TYPES_H
19 #define EQADMIN_TYPES_H
20 
21 #include <eq/admin/api.h>
22 #include <lunchbox/refPtr.h>
23 #include <lunchbox/uint128_t.h>
24 #include <vector>
25 
26 namespace eq
27 {
28 namespace fabric
29 {
30 template< class C, class OV, class LV, class CV, class NV > class ConfigVisitor;
31 template< class T, class C > class ElementVisitor;
32 template< class T > class LeafVisitor;
33 }
34 
35 namespace admin
36 {
37 class Canvas;
38 class Channel;
39 class Client;
40 class Config;
41 class Layout;
42 class Node;
43 class NodeFactory;
44 class Observer;
45 class Pipe;
46 class Segment;
47 class Server;
48 class View;
49 class Window;
50 
51 typedef lunchbox::RefPtr< Client > ClientPtr;
52 typedef lunchbox::RefPtr< const Client > ConstClientPtr;
53 typedef lunchbox::RefPtr< Server > ServerPtr;
54 
57 
60 
63 
66 
69 
72 
75 
78 
81 
84 // cppcheck-suppress unnecessaryForwardDeclaration
86 
89 
90 //----- Vectors
92 typedef std::vector< Config* > Configs;
94 typedef std::vector< Node* > Nodes;
96 typedef std::vector< Pipe* > Pipes;
98 typedef std::vector< Window* > Windows;
100 typedef std::vector< Channel* > Channels;
102 typedef std::vector< Observer* > Observers;
104 typedef std::vector< Canvas* > Canvass;
106 typedef std::vector< Layout* > Layouts;
108 typedef std::vector< Segment* > Segments;
110 typedef std::vector< View* > Views;
111 
112 typedef lunchbox::uint128_t uint128_t;
113 }
114 }
115 #endif // EQADMIN_TYPES_H
std::vector< Node * > Nodes
A vector of pointers to eq::admin::Node.
Definition: admin/types.h:94
std::vector< Segment * > Segments
A vector of pointers to eq::admin::Segment.
Definition: admin/types.h:108
A visitor to traverse configs and all children.
Definition: admin/types.h:30
fabric::ElementVisitor< Node, PipeVisitor > NodeVisitor
A visitor to traverse nodes and children.
Definition: admin/types.h:77
fabric::LeafVisitor< Channel > ChannelVisitor
A visitor to traverse channels.
Definition: admin/types.h:65
Base data transport class for observers.
A visitor to traverse leaf nodes of a graph.
Definition: admin/types.h:32
fabric::ConfigVisitor< Config, ObserverVisitor, LayoutVisitor, CanvasVisitor, NodeVisitor > ConfigVisitor
A visitor to traverse configs and children.
Definition: admin/types.h:85
fabric::LeafVisitor< View > ViewVisitor
A visitor to traverse views.
Definition: admin/types.h:59
lunchbox::RefPtr< Server > ServerPtr
A reference-counted pointer to an eq::Server.
Definition: client/types.h:214
std::vector< Canvas * > Canvass
A vector of pointers to eq::admin::Canvas.
Definition: admin/types.h:104
Base data transport class for pipes.
Definition: fabric/pipe.h:31
A visitor to traverse non-leaf elements and their children in a tree.
Definition: admin/types.h:31
fabric::ElementVisitor< Layout, ViewVisitor > LayoutVisitor
A visitor to traverse layouts and children.
Definition: admin/types.h:80
fabric::ElementVisitor< Server, ConfigVisitor > ServerVisitor
A visitor to traverse servers and children.
Definition: admin/types.h:88
Base co::Node class for a server.
Definition: fabric/server.h:32
std::vector< Observer * > Observers
A vector of pointers to eq::admin::Observer.
Definition: admin/types.h:102
Base data transport class for views.
Definition: fabric/types.h:76
fabric::ElementVisitor< Pipe, WindowVisitor > PipeVisitor
A visitor to traverse pipes and children.
Definition: admin/types.h:74
std::vector< Config * > Configs
A vector of pointers to eq::admin::Config.
Definition: admin/types.h:92
std::vector< View * > Views
A vector of pointers to eq::admin::View.
Definition: admin/types.h:110
Base data transport class for nodes.
Definition: fabric/node.h:30
fabric::ElementVisitor< Window, ChannelVisitor > WindowVisitor
A visitor to traverse windows and children.
Definition: admin/types.h:71
Defines admin API export macros.
std::vector< Window * > Windows
A vector of pointers to eq::admin::Window.
Definition: admin/types.h:98
fabric::ElementVisitor< Canvas, SegmentVisitor > CanvasVisitor
A visitor to traverse Canvas and children.
Definition: admin/types.h:68
A client represents a network node of the application in the cluster.
Definition: fabric/client.h:33
std::vector< Pipe * > Pipes
A vector of pointers to eq::admin::Pipe.
Definition: admin/types.h:96
std::vector< Layout * > Layouts
A vector of pointers to eq::admin::Layout.
Definition: admin/types.h:106
A canvas represents a logical 2D projection surface.
Definition: fabric/canvas.h:34
Base data transport class for windows.
Definition: fabric/types.h:77
fabric::LeafVisitor< Observer > ObserverVisitor
A visitor to traverse channels.
Definition: admin/types.h:62
Base data transport class for segments.
Base data transport class for channels.
Base data transport class for layouts.
Definition: fabric/layout.h:30
Base data class for a configuration.
Definition: fabric/config.h:33
fabric::LeafVisitor< Segment > SegmentVisitor
A visitor to traverse segments.
Definition: admin/types.h:56
The node factory is a per-node singleton used to create and release Equalizer resource instances...
Definition: nodeFactory.h:36
std::vector< Channel * > Channels
A vector of pointers to eq::admin::Channel.
Definition: admin/types.h:100