Equalizer  1.6.1
fabric/configParams.h
1 
2 /* Copyright (c) 2005-2013, Stefan Eilemann <eile@equalizergraphics.com>
3  * 2012, 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 <eq/fabric/api.h>
23 #include <eq/fabric/types.h>
24 #include <lunchbox/types.h>
25 #include <string>
26 
27 namespace co
28 {
29  class DataOStream;
30  class DataIStream;
31 }
32 
33 
34 namespace eq
35 {
36 namespace fabric
37 {
38 namespace detail { class ConfigParams; }
39 
42  {
43  public:
49  enum Flags
50  {
51  FLAG_NONE = LB_BIT_NONE,
52  FLAG_MULTIPROCESS = LB_BIT1,
56 
61  FLAG_LOAD_EQ_2D = LB_BIT7,
63  FLAG_LOAD_EQ_ALL = FLAG_LOAD_EQ_HORIZONTAL | FLAG_LOAD_EQ_VERTICAL |
67  };
68 
70  EQFABRIC_API ConfigParams();
71 
73  EQFABRIC_API ~ConfigParams();
74 
76  EQFABRIC_API ConfigParams( const ConfigParams& rhs );
77 
79  EQFABRIC_API ConfigParams& operator = ( const ConfigParams& rhs );
80 
91  EQFABRIC_API void setRenderClient( const std::string& renderClient );
92 
94  EQFABRIC_API const std::string& getRenderClient() const;
95 
103  EQFABRIC_API void setWorkDir( const std::string& workDir );
104 
109  EQFABRIC_API const std::string& getWorkDir() const;
110 
115  EQFABRIC_API void setFlags( const uint32_t flags );
116 
121  EQFABRIC_API uint32_t getFlags() const;
122 
124  EQFABRIC_API const Equalizer& getEqualizer() const;
125 
127  EQFABRIC_API Equalizer& getEqualizer();
128 
135  EQFABRIC_API void setPrefixes( const Strings& prefixes );
136 
138  EQFABRIC_API const Strings& getPrefixes() const;
139 
141  EQFABRIC_API void setGPUFilter( const std::string& regex );
142 
144  EQFABRIC_API const std::string& getGPUFilter() const;
146 
147  EQFABRIC_API void serialize( co::DataOStream& os ) const;
148  EQFABRIC_API void deserialize( co::DataIStream& is );
149 
150  private:
151  detail::ConfigParams* const _impl;
152  };
153 
154  EQFABRIC_API co::DataOStream& operator << ( co::DataOStream& os,
155  const ConfigParams& );
156 
157  EQFABRIC_API co::DataIStream& operator >> ( co::DataIStream& is,
158  ConfigParams& );
159 }
160 }
161 
162 #endif // EQFABRIC_CONFIG_PARAMS_H
Auto-config: vertical partition for load equalizer.
void setWorkDir(const std::string &workDir)
Set the directory from which to launch the render client.
uint32_t getFlags() const
Auto-config: horizontal partition for load equalizer.
const std::string & getGPUFilter() const
const std::string & getWorkDir() const
void setPrefixes(const Strings &prefixes)
Set a list of network prefixes in CIDR notation for autoconfig network interface filtering.
const Strings & getPrefixes() const
Auto-config: 2D partition for load equalizer.
~ConfigParams()
Destruct this configuration parameters.
ConfigParams()
Construct new configuration parameters.
Base data transport class for equalizers.
Definition: equalizer.h:38
void setGPUFilter(const std::string &regex)
Set a regex filter matching to &#39;nodename:display.port&#39;.
void setRenderClient(const std::string &renderClient)
Set the name of the render client executable.
Parameters for running a configuration.
const Equalizer & getEqualizer() const
void setFlags(const uint32_t flags)
const std::string & getRenderClient() const