NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
icluster_manager_configuration.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_ICLUSTER_MANAGER_CONFIGURATION_H
9 #define MI_NEURAYLIB_ICLUSTER_MANAGER_CONFIGURATION_H
10 
12 
13 namespace mi {
14 
15 namespace neuraylib {
16 
28 
33 class ICluster_notification_callback : public
37  base::Interface_declare<0x1b9bfd07,0x9693,0x4e3f,0x83,0xb1,0x85,0x3b,0x91,0x83,0xd2,0x66>
38 {
39 public:
41  virtual void error_callback() = 0;
42 
45  virtual void status_change_callback() = 0;
46 
48  virtual void cluster_change_callback() = 0;
49 
53  virtual void cluster_ready_callback(bool is_ready) = 0;
54 };
55 
60 class ICluster_manager_node : public
61  base::Interface_declare<0x6b1cbc68,0x3af1,0x4a56,0x83,0x68,0x00,0x13,0xd4,0xec,0xc2,0xfa>
62 {
63 public:
65  virtual const char* get_node_name() = 0;
66 
68  virtual const char* get_ip_address() = 0;
69 
72  virtual const char* get_user_name() = 0;
73 
75  virtual Size get_cpu_count() = 0;
76 
78  virtual Float32 get_cpu_load() = 0;
79 
81  virtual Size get_total_main_memory() = 0;
82 
84  virtual Size get_free_main_memory() = 0;
85 
87  virtual Size get_gpu_count() = 0;
88 
92  virtual Float32 get_gpu_load() = 0;
93 
97  virtual Size get_total_gpu_memory() = 0;
98 
103  virtual Size get_free_gpu_memory() = 0;
104 };
105 
110  base::Interface_declare<0x5c88e256,0x6d61,0x4d76,0x91,0x13,0xe0,0x37,0x9f,0x4a,0xfd,0x07>
111 {
112 public:
114  virtual const char* get_head_node() = 0;
115 
118  virtual const char* get_software_package_id() = 0;
119 
124  virtual const char* get_bridge_protocol_version() = 0;
125 
131  virtual const char* get_authentication_token() = 0;
132 
135  virtual bool is_compatible() = 0;
136 
140  virtual Size get_number_of_cluster_nodes() = 0;
141 
149  virtual ICluster_manager_node* get_cluster_node( Size index) = 0;
150 
152  virtual bool can_be_closed() = 0;
153 };
154 
159  base::Interface_declare<0xd444f7cc,0xf8ff,0x4a79,0xa0,0xe5,0x51,0x02,0xc6,0x66,0x37,0x94>
160 {
161 public:
165  virtual Size get_number_of_nodes() const = 0;
166 
174  virtual ICluster_manager_node* get_node( Size index) const = 0;
175 };
176 
181 class ISoftware_package : public
182  base::Interface_declare<0xa7a3a95c,0x3db8,0x4fef,0xb9,0x10,0x56,0x68,0xd7,0xa2,0xac,0x5>
183 {
184 public:
186  virtual const char* get_id() const = 0;
187 
189  virtual const char* get_description() const = 0;
190 };
191 
199  base::Interface_declare<0x0a54aeb4,0xb2e9,0x4893,0x9f,0x93,0x30,0xa4,0x61,0x1b,0xea,0x2a>
200 {
201 public:
203  virtual const char* get_address() const = 0;
204 
212 
222  virtual const ISoftware_package* get_compatible_software_package( Size index) const = 0;
223 
227  virtual Size get_number_of_software_packages() const = 0;
228 
235  virtual const ISoftware_package* get_software_package( Size index) const = 0;
236 
241  virtual const ICluster_pool_information* get_cluster_pool_information() const = 0;
242 
267  Size requested_nodes, const char* software_package_id, Sint32* errors = 0) = 0;
268 
275  virtual Sint32 release_cluster() = 0;
276 
281  virtual ICluster_manager_cluster* get_cluster() = 0;
282 
291 
310  virtual bool authenticate_user(
311  const char* user_name, const char* password, bool* is_admin = 0, Sint32* errors = 0) = 0;
312 
319  virtual void set_auto_release_cluster( bool auto_release_enabled) = 0;
320 
324  virtual bool get_auto_release_cluster() = 0;
325 
329  virtual const char* get_vca_name() const = 0;
330 };
331 
334  base::Interface_declare<0x6ac7506d,0x3604,0x49ad,0xb9,0xc3,0x6f,0xb3,0xf5,0x0c,0xa3,0x0f>
335 {
336 public:
354  const char* address, const char* user_name, const char* password, Sint32* errors = 0) = 0;
355 };
356  // end group mi_neuray_cluster_manager
358 
359 } // namespace neuraylib
360 
361 } // namespace mi
362 
363 #endif // MI_NEURAYLIB_ICLUSTER_MANAGER_CONFIGURATION_H