Equalizer  2.1.0
Parallel Rendering Framework
configParams.h
1 
2 /* Copyright (c) 2005-2016, Stefan Eilemann <eile@equalizergraphics.com>
3  * Daniel Nachbaur <danielnachbaur@gmail.com>
4  *
5  * This library is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU Lesser General Public License version 2.1 as published
7  * by the Free Software Foundation.
8  *
9  * This library is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12  * details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this library; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #ifndef EQFABRIC_CONFIG_PARAMS_H
20 #define EQFABRIC_CONFIG_PARAMS_H
21 
22 #include <co/types.h>
23 #include <eq/fabric/api.h>
24 #include <eq/fabric/types.h>
25 
26 namespace eq
27 {
28 namespace fabric
29 {
30 namespace detail
31 {
32 class ConfigParams;
33 }
34 
37 {
38 public:
44  enum Flags
45  {
46  FLAG_NONE = LB_BIT_NONE,
47  FLAG_MULTIPROCESS = LB_BIT1,
48  FLAG_MULTIPROCESS_DB = LB_BIT2,
49  FLAG_NETWORK_ETHERNET = LB_BIT3,
50  FLAG_NETWORK_INFINIBAND = LB_BIT4,
51 
52  FLAG_LOAD_EQ_HORIZONTAL = LB_BIT5,
54  FLAG_LOAD_EQ_VERTICAL = LB_BIT6,
56  FLAG_LOAD_EQ_2D = LB_BIT7,
58  FLAG_LOAD_EQ_ALL =
59  FLAG_LOAD_EQ_HORIZONTAL | FLAG_LOAD_EQ_VERTICAL | FLAG_LOAD_EQ_2D,
61  FLAG_NETWORK_ALL = FLAG_NETWORK_ETHERNET | FLAG_NETWORK_INFINIBAND
62  };
63 
65  EQFABRIC_API ConfigParams();
66 
68  EQFABRIC_API ~ConfigParams();
69 
71  EQFABRIC_API ConfigParams(const ConfigParams& rhs);
72 
74  EQFABRIC_API ConfigParams& operator=(const ConfigParams& rhs);
75 
79  EQFABRIC_API void setName(const std::string& name);
80 
82  EQFABRIC_API const std::string& getName() const;
83 
92  EQFABRIC_API void setRenderClient(const std::string& renderClient);
93 
95  EQFABRIC_API const std::string& getRenderClient() const;
96 
103  EQFABRIC_API void setRenderClientArgs(const Strings& args);
104 
106  EQFABRIC_API const Strings& getRenderClientArgs() const;
107 
109  EQFABRIC_API void setRenderClientEnvPrefixes(const Strings& prefixes);
110 
112  EQFABRIC_API const Strings& getRenderClientEnvPrefixes() const;
113 
121  EQFABRIC_API void setWorkDir(const std::string& workDir);
122 
127  EQFABRIC_API const std::string& getWorkDir() const;
128 
133  EQFABRIC_API void setFlags(const uint32_t flags);
134 
139  EQFABRIC_API uint32_t getFlags() const;
140 
142  EQFABRIC_API const Equalizer& getEqualizer() const;
143 
145  EQFABRIC_API Equalizer& getEqualizer();
146 
153  EQFABRIC_API void setPrefixes(const Strings& prefixes);
154 
156  EQFABRIC_API const Strings& getPrefixes() const;
157 
159  EQFABRIC_API void setGPUFilter(const std::string& regex);
160 
162  EQFABRIC_API const std::string& getGPUFilter() const;
164 
165  EQFABRIC_API void serialize(co::DataOStream& os) const;
166  EQFABRIC_API void deserialize(co::DataIStream& is);
167 
168 private:
169  detail::ConfigParams* const _impl;
170 };
171 
172 EQFABRIC_API co::DataOStream& operator<<(co::DataOStream& os,
173  const ConfigParams&);
174 
175 EQFABRIC_API co::DataIStream& operator>>(co::DataIStream& is, ConfigParams&);
176 }
177 }
178 
179 #endif // EQFABRIC_CONFIG_PARAMS_H
Parameters for running a configuration.
Definition: configParams.h:36
Defines export visibility macros for library EqualizerFabric.
The Equalizer client library.
Definition: eq/agl/types.h:23
std::ostream & operator<<(std::ostream &os, const AxisEvent &event)
Print the axis event to the given output stream.
Definition: axisEvent.h:49
Base data transport class for equalizers.
Definition: equalizer.h:40