Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
imdl_archive_api.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2020 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_IMDL_ARCHIVE_API_H
8 #define MI_NEURAYLIB_IMDL_ARCHIVE_API_H
9 
11 
12 namespace mi {
13 
14 class IArray;
15 
16 namespace neuraylib {
17 
18 class IManifest;
19 class IReader;
20 
25 class IMdl_archive_api : public
27  mi::base::Interface_declare<0x4b41b483,0xdb0b,0x4658,0xaf,0x65,0x64,0xb1,0xd6,0x9d,0x26,0xb0>
28 {
29 public:
50  virtual Sint32 create_archive(
51  const char* directory, const char* archive, const IArray* manifest_fields) = 0;
52 
62  virtual Sint32 extract_archive( const char* archive, const char* directory) = 0;
63 
65  virtual const IManifest* get_manifest( const char* archive) = 0;
66 
78  virtual IReader* get_file( const char* archive, const char* filename) = 0;
79 
92  virtual IReader* get_file(const char* filename) = 0;
93 
100  virtual Sint32 set_extensions_for_compression( const char* extensions) = 0;
101 
103  virtual const char* get_extensions_for_compression() const = 0;
104 };
105 
107 class IManifest : public
108  mi::base::Interface_declare<0x9849828e,0xc383,0x4b6b,0x9f,0x49,0xdf,0xf0,0x1f,0xc7,0xe8,0xd7>
109 {
110 public:
112  virtual Size get_number_of_fields() const = 0;
113 
115  virtual const char* get_key( Size index) const = 0;
116 
118  virtual const char* get_value( Size index) const = 0;
119 
121  virtual Size get_number_of_fields( const char* key) const = 0;
122 
125  virtual const char* get_value( const char* key, Size index) const = 0;
126 };
127  // end group mi_neuray_mdl_types
129 
130 } // namespace neuraylib
131 
132 } // namespace mi
133 
134 #endif // MI_NEURAYLIB_IMDL_ARCHIVE_API_H