neuray API Programmer's Manual

imdl_archive_api.h File Reference

Description

API component that gives access to MDL archive functionality.

Code Example

imdl_archive_api.h

‎/***************************************************************************************************
 * Copyright 2023 NVIDIA Corporation. All rights reserved.
 **************************************************************************************************/

#ifndef MI_NEURAYLIB_IMDL_ARCHIVE_API_H
#define MI_NEURAYLIB_IMDL_ARCHIVE_API_H

#include <mi/base/interface_declare.h>

namespace mi {

class IArray;

namespace neuraylib {

class IManifest;
class IReader;


class IMdl_archive_api : public
    mi::base::Interface_declare<0x4b41b483,0xdb0b,0x4658,0xaf,0x65,0x64,0xb1,0xd6,0x9d,0x26,0xb0>
{
public:
    virtual Sint32 
               create_archive(
        const char* directory, const char* archive, const IArray* manifest_fields) = 0;

    virtual Sint32 
               extract_archive( const char* archive, const char* directory) = 0;

    virtual const IManifest* get_manifest( const char* archive) = 0;

    virtual IReader* get_file( const char* archive, const char* filename) = 0;

    virtual IReader* get_file(const char* filename) = 0;

    virtual Sint32 
               set_extensions_for_compression( const char* extensions) = 0;

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

class IManifest : public
    mi::base::Interface_declare<0x9849828e,0xc383,0x4b6b,0x9f,0x49,0xdf,0xf0,0x1f,0xc7,0xe8,0xd7>
{
public:
    virtual Size 
               get_number_of_fields() const = 0;

    virtual const char* get_key( Size index) const = 0;

    virtual const char* get_value( Size index) const = 0;

    virtual Size 
               get_number_of_fields( const char* key) const = 0;

    virtual const char* get_value( const char* key, Size index) const = 0;
};
 // end group mi_neuray_mdl_misc

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_IMDL_ARCHIVE_API_H

Namespaces

namespace 
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
namespace 
Namespace for the neuray API. More...

Classes

class 
Represents the manifest in an MDL archive. More...
class 
This API component provides functionality related to MDL archives. More...