NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
inetwork_configuration.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2014 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_INETWORK_CONFIGURATION_H
9 #define MI_NEURAYLIB_INETWORK_CONFIGURATION_H
10 
12 
13 // X11/Xlib.h defines Status to int
14 #ifdef _XLIB_H_
15 #undef Status
16 #endif // _XLIB_H_
17 
18 namespace mi {
19 
20 class IString;
21 
22 namespace neuraylib {
23 
24 class IHost_callback;
25 
30 class INetwork_configuration : public
32  mi::base::Interface_declare<0xb60d3124,0xd410,0x400b,0xa0,0x1a,0x5c,0x5a,0x23,0x8d,0xcf,0xf2>
33 {
34 public:
39  enum Mode
40  {
42  MODE_OFF = 0,
46  MODE_TCP = 1,
51  MODE_UDP = 2,
56  // Undocumented, for alignment only
57  MODE_FORCE_32_BIT = 0xffffffffU
58  };
59 
66  virtual Sint32 set_mode( Mode mode) = 0;
67 
75  virtual Mode get_mode() const = 0;
76 
78  enum Status
79  {
92  // Undocumented, for alignment only
93  CONNECTION_FORCE_32_BIT = 0xffffffffU
94  };
95 
97  virtual Status get_status() const = 0;
98 
99  // Configuration for multicast networking
100 
116  virtual Sint32 set_multicast_address( const char* address) = 0;
117 
122  virtual const IString* get_multicast_address() const = 0;
123 
131  virtual void set_multicast_ttl( Uint32 ttl) = 0;
132 
136  virtual Uint32 get_multicast_ttl() const = 0;
137 
159  virtual Sint32 set_cluster_interface( const char* address) = 0;
160 
165  virtual const IString* get_cluster_interface() const = 0;
166 
187  virtual Sint32 set_discovery_address( const char* address) = 0;
188 
193  virtual const IString* get_discovery_address() const = 0;
194 
212  virtual Sint32 set_discovery_identifier( const char* identifier) = 0;
213 
217  virtual const IString* get_discovery_identifier() const = 0;
218 
219  // Configuration of redundancy
220 
231  virtual Sint32 set_redundancy_level( Uint32 level) = 0;
232 
236  virtual Uint32 get_redundancy_level() const = 0;
237 
238  // Configure and query the list of hosts which can connect with this host
239 
247  virtual Sint32 add_configured_host( const char* address) = 0;
248 
255  virtual Sint32 remove_configured_host( const char* address) = 0;
256 
258  virtual Uint32 get_number_of_configured_hosts() const = 0;
259 
265  virtual const IString* get_configured_host( Uint32 index) const = 0;
266 
277  virtual Sint32 set_compression_level( Uint32 level) = 0;
278 
282  virtual Sint32 get_compression_level() const = 0;
283 
284  // Callbacks for joining / leaving hosts
285 
295  virtual Sint32 register_host_callback( IHost_callback* callback) = 0;
296 
306  virtual Sint32 unregister_host_callback( IHost_callback* callback) = 0;
307 };
308 
311  // end group mi_neuray_configuration
313 
314 } // namespace neuraylib
315 
316 } // namespace mi
317 
318 // X11/Xlib.h defines Status to int
319 #ifdef _XLIB_H_
320 #define Status int
321 #endif // _XLIB_H_
322 
323 #endif // MI_NEURAYLIB_INETWORK_CONFIGURATION_H