MDL SDK 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 2022 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:
53  virtual Sint32 create_archive(
54  const char* directory, const char* archive, const IArray* manifest_fields) = 0;
55 
65  virtual Sint32 extract_archive( const char* archive, const char* directory) = 0;
66 
68  virtual const IManifest* get_manifest( const char* archive) = 0;
69 
81  virtual IReader* get_file( const char* archive, const char* filename) = 0;
82 
95  virtual IReader* get_file(const char* filename) = 0;
96 
103  virtual Sint32 set_extensions_for_compression( const char* extensions) = 0;
104 
106  virtual const char* get_extensions_for_compression() const = 0;
107 };
108 
110 class IManifest : public
111  mi::base::Interface_declare<0x9849828e,0xc383,0x4b6b,0x9f,0x49,0xdf,0xf0,0x1f,0xc7,0xe8,0xd7>
112 {
113 public:
115  virtual Size get_number_of_fields() const = 0;
116 
118  virtual const char* get_key( Size index) const = 0;
119 
121  virtual const char* get_value( Size index) const = 0;
122 
124  virtual Size get_number_of_fields( const char* key) const = 0;
125 
128  virtual const char* get_value( const char* key, Size index) const = 0;
129 };
130  // end group mi_neuray_mdl_misc
132 
133 } // namespace neuraylib
134 
135 } // namespace mi
136 
137 #endif // MI_NEURAYLIB_IMDL_ARCHIVE_API_H