MDL SDK API nvidia_logo_transpbg.gif Up
imdle_api.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IMDLE_API_H
8#define MI_NEURAYLIB_IMDLE_API_H
9
11#include <mi/base/enums.h>
12
13namespace mi {
14
15class IStructure;
16
17namespace neuraylib {
18
19class IMdl_execution_context;
20class IReader;
21class ITransaction;
22
28class IMdle_api : public
29 base::Interface_declare<0xda82106c,0x658d,0x449d,0x8e,0x1,0xfb,0x55,0x1,0x61,0x9b,0x97>
30{
31public:
32
81 ITransaction* transaction,
82 const char* file_name,
83 const IStructure* mdle_data,
84 IMdl_execution_context* context) const = 0;
85
98 const char* file_name,
99 IMdl_execution_context* context) const = 0;
100
113 const char* mdle_file_name,
114 const char* user_file_name,
115 IMdl_execution_context* context) const = 0;
116
130 const char* mdle_file_name_a,
131 const char* mdle_file_name_b,
132 IMdl_execution_context* context) const = 0;
133
146 const char* mdle_file_name,
147 base::Uuid& hash,
148 IMdl_execution_context* context) const = 0;
149};
150 // end group mi_neuray_mdl_misc
152
153} // namespace neuraylib
154} // namespace mi
155
156#endif // MI_NEURAYLIB_IMDLE_API_H
This interface represents structures, i.e., a key-value based data structure.
Definition: istructure.h:44
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
The execution context can be used to query status information like error and warning messages concern...
Definition: imdl_execution_context.h:131
Provides access to functions related to the creation of encapsulated MDL modules (MDLE).
Definition: imdle_api.h:30
virtual Sint32 get_hash(const char *mdle_file_name, base::Uuid &hash, IMdl_execution_context *context) const =0
Extracts the hash of the MDLE archive.
virtual Sint32 export_mdle(ITransaction *transaction, const char *file_name, const IStructure *mdle_data, IMdl_execution_context *context) const =0
Exports a new MDLE file to disk.
virtual Sint32 compare_mdle(const char *mdle_file_name_a, const char *mdle_file_name_b, IMdl_execution_context *context) const =0
Check if two MDLE are identical, meaning that they contain the same content independent of their file...
virtual Sint32 validate_mdle(const char *file_name, IMdl_execution_context *context) const =0
Checks the integrity of an MDLE file based on MD5 hashes that are stored for the contained files.
virtual IReader * get_user_file(const char *mdle_file_name, const char *user_file_name, IMdl_execution_context *context) const =0
Get a user file that has been added to an MDLE during its creation.
A reader supports binary block reads and string-oriented line reads that zero-terminate the result.
Definition: ireader.h:27
A transaction provides a consistent view on the database.
Definition: itransaction.h:83
Basic enums.
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5
A 128 bit representation of a universally unique identifier (UUID or GUID).
Definition: uuid.h:26