iiray_bridge_client.h File Reference
Description
Bridge server.
Code Example
iiray_bridge_client.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_NEURAYLIB_IIRAY_BRIDGE_CLIENT_H
#define MI_NEURAYLIB_IIRAY_BRIDGE_CLIENT_H
#include <mi/base/enums.h>
#include <mi/neuraylib/idata.h>
#include <mi/neuraylib/itransaction.h>
#include <mi/neuraylib/iprogress_callback.h>
#include <mi/neuraylib/ibridge_client.h>
namespace mi {
namespace base { class ILogger; }
namespace bridge {
class IIray_bridge_snapshot_callback : public
mi::base::Interface_declare<0xe36efcd1,0xeb3d,0x4c9c,0xbc,0x8d,0xc0,0x28,0xf1,0xe9,0xc7,0xdf,
mi::neuraylib::IProgress_callback>
{
public:
virtual void ready( Sint32 error_code, const char* file_name) = 0;
};
class IIray_bridge_snapshot_context : public
mi::base::Interface_declare<0xe624c597,0x2223,0x441b,0x81,0xf7,0x43,0x48,0xc8,0xfd,0x43,0x1a>
{
public:
virtual Sint32
create_snapshot(
neuraylib::ITransaction* transaction,
const char* file_name,
IIray_bridge_snapshot_callback* callback,
bool incremental = false) = 0;
virtual Sint32
cancel_snapshot() = 0;
virtual Sint32
set_option( const char* name, const IData* value) = 0;
virtual const IData* get_option( const char* name) const = 0;
template<class T>
const T* get_option( const char* name) const
{
const IData* ptr_idata = get_option( name);
if ( !ptr_idata)
return 0;
const T* ptr_T = static_cast<const T*>( ptr_idata->get_interface( typename T::IID()));
ptr_idata->release();
return ptr_T;
}
virtual Size
get_options_length() const = 0;
virtual const char* get_option_name( Size index) const = 0;
virtual const char* get_option_type( Size index) const = 0;
};
class IIray_bridge_session : public
mi::base::Interface_declare<0x32fcf9c9,0x3572,0x4bfb,0x83,0x37,0x1d,0xfa,0x14,0xaf,0xba,0xe8>
{
public:
virtual Client_session_state
get_state() = 0;
virtual void add_session_state_callback( IClient_session_state_callback* callback) = 0;
virtual void remove_session_state_callback( IClient_session_state_callback* callback) = 0;
virtual const IArray* get_supported_render_modes() = 0;
};
class IIray_bridge_client : public
mi::base::Interface_declare<0x2e3322ff,0xc7a1,0x4664,0x99,0x6d,0xef,0xd1,0xf2,0x24,0x83,0xa4>
{
public:
virtual Sint32
set_application_url( const char* application_url) = 0;
virtual const char* get_application_url() const = 0;
virtual Sint32
set_security_token( const char* security_token) = 0;
virtual const char* get_security_token() const = 0;
virtual IIray_bridge_snapshot_context* create_snapshot_context(
neuraylib::ITransaction* transaction, const char* scene_name) = 0;
virtual Sint32
set_log_forwarding_level( base::Message_severity level) = 0;
virtual base::Message_severity
get_log_forwarding_level() const = 0;
virtual void set_receiving_logger( base::ILogger* logger) = 0;
virtual base::ILogger* get_receiving_logger() const = 0;
virtual const char* get_bridge_protocol_version() const = 0;
virtual IIray_bridge_session* get_session(
const char* application_url, const char* security_token = 0) = 0;
};
// end group mi_neuray_bridge_client
} // namespace bridge
} // namespace mi
#endif // MI_NEURAYLIB_IIRAY_BRIDGE_CLIENT_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the Base API. More...
- namespace
- Namespace for the Bridge functionality of the neuray API. More...