RealityServer Web Services API Programmer's Manual

iconfiguration.h File Reference

Description

RealityServer(R) Web Services configuration API. See Configuration.

Code Example

iconfiguration.h

‎/******************************************************************************
 * Copyright 2010-2020 MIGENIUS PTY LTD, Australia. All rights reserved.
 *
 * Portions Copyright 1986, 2011 NVIDIA Corporation. All rights reserved.
 *****************************************************************************/
//*****************************************************************************

#ifndef MI_RS_WEB_SERVICES_ICONFIGURATION_H
#define MI_RS_WEB_SERVICES_ICONFIGURATION_H

#include <mi/base/interface_declare.h>
#include <mi/neuraylib/inetwork_configuration.h>


namespace mi {
namespace rswservices {

class INeuray_configuration;






enum Access_order
{
    ACCESS_ORDER_INHERITED         = 0,
    ACCESS_ORDER_DENY_ALLOW         = 1,
    ACCESS_ORDER_ALLOW_DENY         = 2,
    //  Undocumented, for alignment only.
    ACCESS_ORDER_FORCE_32_BIT   = 0xffffffffU
};

class IDirectory_configuration : public
    mi::base::Interface_declare<0x1C3B2689,0x20EF,0x425F,0xB8,0x8E,0xB2,0xD2,0x4B,0xAE,0xDE,0x86>
{
public:
    virtual const char *get_pattern() const = 0;

    virtual const char *get_index_file() const = 0;

    virtual const char *get_allow(mi::Uint32 index) const = 0;

    virtual const char *get_deny(mi::Uint32 index) const = 0;

    virtual Access_order 
               get_order() const = 0;

    virtual const char *get_virtual_directory_path() const = 0;
};

class IUrl_configuration : public
    mi::base::Interface_declare<0x06AA08EF,0x0F07,0x49FD,0x93,0x4F,0x10,0x96,0x59,0x73,0x4A,0x6B>
{
public:
    virtual const char *get_pattern() const = 0;

    virtual const char *get_authorizer() const = 0;

    virtual const char *get_state(mi::Size index) const = 0;

    virtual const char *get_redirect() const = 0;

    virtual bool get_apply_uac() const = 0;

    virtual const char *get_upload_target() const = 0;
};

class IUser_configuration : public
    mi::base::Interface_declare<0x4CC5840F,0x8AA5,0x4710,0x98,0xC9,0xBE,0xB9,0x6C,0x6F,0xEE,0x41>
{
public:
    virtual const char *get_name() const = 0;

    virtual const char *get_value() const = 0;

    virtual mi::Uint32 
               get_subitem_count() const = 0;

    virtual const IUser_configuration *get_subitem(mi::Uint32 index) const = 0;

    virtual const IUser_configuration *get_subitem(const char *name) const = 0;
};

class IConfiguration : public
    mi::base::Interface_declare<0x7D1CFAFE,0xFD2B,0x4EB7,0xA3,0xB8,0x0A,0x0C,0x3F,0x0D,0xA9,0xCF>
{
public:
    virtual const char *get_root() const = 0;

    virtual const char *get_content_root() const = 0;

    virtual const char *get_http_address() const = 0;

    virtual const char *get_https_address() const = 0;

    virtual const char *get_https_certificate_file() const = 0;

    virtual const char *get_https_private_key_file() const = 0;

    virtual const char *get_https_private_key_password() const = 0;

    virtual const char *get_rtmp_address() const = 0;

    virtual const IUrl_configuration *get_url(const char *pattern) const = 0;

    virtual const IUrl_configuration *get_url(mi::Uint32 index) const = 0;

    virtual const IDirectory_configuration *get_directory(const char *pattern) const = 0;

    virtual const IDirectory_configuration *get_directory(mi::Uint32 index) const = 0;

    virtual const IUser_configuration *get_user(const char *name) const = 0;

    virtual const IUser_configuration *get_user(mi::Uint32 index) const = 0;

    virtual const char *get_mime_type(const char *extension) const = 0;

    virtual bool get_mime_type(mi::Uint32 index,
                                        const char **extension, const char **mime_type) const = 0;

    virtual mi::Uint64 
               get_http_send_buffer_size() const = 0;

    virtual mi::Sint32 
               get_http_keep_alive_timeout() const = 0;

    virtual const char* get_http_identification() const = 0;

    virtual const char *get_default_video_codec() const = 0;

    virtual const INeuray_configuration* get_neuray_configuration() const = 0;

    virtual Uint32 
               get_http_post_body_limit() const = 0;
    
    virtual Uint32 
               get_http_concurrent_connection_limit() const = 0;
    
    virtual Size 
               get_uac_user_limit() const = 0;

    virtual Size 
               get_uac_sesion_timeout() const = 0;

    virtual const char *get_uac_session_cookie() const = 0;

    virtual const char *get_uac_session_cookie_domain() const = 0;

    virtual const char *get_uac_management_base_url() const = 0;

    virtual bool get_uac_auto_session() const = 0;

    virtual const char *get_uac_same_site_attribute() const = 0;

    virtual bool get_uac_secure_attribute() const = 0;

    virtual const char* get_blacklist_command(mi::Uint32 index) const = 0;

    virtual const char* get_whitelist_command(mi::Uint32 index) const = 0;

    virtual bool get_disable_default_http_handler() = 0;

    virtual bool get_enable_http_import_api() const = 0;

    virtual Size 
               get_websocket_max_payload() const = 0;
};

class INeuray_configuration : public
    mi::base::Interface_declare<0xD94DBF50,0x736D,0x40C9,0xBC,0x0F,0x94,0x05,0x4A,0x07,0xE3,0x51>
{
public:
    virtual const char *get_admin_address() const = 0;

    virtual const char *get_admin_address_internal() const = 0;

    virtual const char *get_iray_render_mode() const = 0;

    virtual bool get_cpu_fallback_enabled() const = 0;
    
    virtual const char *get_include_path(mi::Uint32 index) const = 0;

    virtual const char *get_plugin_path(mi::Uint32 index) const = 0;

    virtual const char *get_shader_path(mi::Uint32 index) const = 0;

    virtual const char *get_swap_path() const = 0;

    virtual const char *get_resource_path(mi::Uint32 index) const = 0;

    virtual bool get_load_nvenc() const = 0;

    virtual bool get_trace_flag(const char *flag) const = 0;

    virtual mi::Size 
               get_memory_high() const = 0;

    virtual mi::Size 
               get_memory_low() const = 0;

    virtual mi::Size 
               get_import_memory_limit() const = 0;

    virtual bool get_networking() const = 0;

    virtual mi::neuraylib::INetwork_configuration::Mode 
               get_networking_mode() const = 0;

    virtual const char *get_cluster_base_address() const = 0;

    virtual const char *get_cluster_interface() const = 0;

    virtual mi::Uint32 
               get_multicast_ttl() const = 0;

    virtual const char *get_cluster_host(mi::Uint32 index) const = 0;

    virtual const char *get_discovery_address() const = 0;

    virtual const char *get_discovery_identifier() const = 0;

    virtual mi::Uint32 
               get_cluster_compression_level() const = 0;

    virtual mi::Uint32 
               get_cluster_redundancy_level() const = 0;

    virtual bool get_cuda_enabled() const = 0;

    virtual bool get_cuda_gl_techniques_enabled() const = 0;

    virtual const char *get_gpu_assignment() const = 0;

    virtual bool get_gpu_delegation() const = 0;

    virtual bool get_gpu_driver_check() const = 0;

    virtual bool get_gpu_enabled() const = 0;

    virtual bool get_gpu_info() const = 0;

    virtual bool get_opengl_enabled() const = 0;

    virtual const char* get_logfile() const = 0;

    virtual const char* get_log_timestamp() const = 0;

    virtual const char* get_log_hosts() const = 0;

    virtual int get_log_level() const = 0;

    virtual mi::Sint32 
               get_log_priority() const = 0;

    virtual mi::Uint32 
               get_log_rotation_dir_size() const = 0;

    virtual mi::Uint32 
               get_log_rotation_file_size() const = 0;

    virtual const char* get_log_rotation_time(mi::Uint32 index) const = 0;

    virtual bool get_logcoloring_enabled() const = 0;

    virtual mi::Uint32 
               get_cpu_load_limit() const = 0;
    
    virtual mi::Uint32 
               get_gpu_load_limit() const = 0;

    virtual bool get_bridge_server_enabled() const = 0;

    virtual const char* get_bridge_server_application_path() const = 0;

    virtual const char* get_bridge_server_disk_cache_path() const = 0;

    virtual const char* get_bridge_server_snapshot_path() const = 0;

    virtual const char* get_bridge_server_security_token() const = 0;

    virtual const char* get_custom_attribute_filter(mi::Uint32 index) const = 0;
}; // end group mi_rswservices_configuration

} // namespace rswservices
} // namespace mi

#endif // MI_RS_WEB_SERVICES_ICONFIGURATION_H

Namespaces

namespace mi
namespace 
Namespace for the RealityServer Web Services API. More...

Classes

class 
Exposes RealityServer configuration. More...
class 
Configuration for a Directory. More...
class 
Exposes the neuray library configuration. More...
class 
Configuration for a URL. More...
class 
User configuration. More...

Enumerations

enum  {ACCESS_ORDER_INHERITED = 0, ACCESS_ORDER_DENY_ALLOW = 1, ACCESS_ORDER_ALLOW_DENY = 2, ACCESS_ORDER_FORCE_32_BIT = 0xffffffffU }
Constants for directory access control ordering. More...