arsa  2.7
Classes | Typedefs | Enumerations | Functions
irr::io Namespace Reference

This namespace provides interfaces for input/output: Reading and writing files, accessing zip archives, xml files, ... More...

Classes

class  IArchiveLoader
 Class which is able to create an archive from a file. More...
 
class  IAttributeExchangingObject
 An object which is able to serialize and deserialize its attributes into an attributes object. More...
 
class  IAttributes
 Provides a generic interface for attributes and their values and the possibility to serialize them. More...
 
class  IFileArchive
 The FileArchive manages archives and provides access to files inside them. More...
 
class  IFileList
 Provides a list of files and folders. More...
 
class  IFileReadCallBack
 Callback class for file read abstraction. More...
 
class  IFileSystem
 The FileSystem manages files and archives and provides access to them. More...
 
class  IIrrXMLReader
 Interface providing easy read access to a XML file. More...
 
class  IIrrXMLWriter
 Interface providing methods for making it easier to write XML files. More...
 
class  IMemoryReadFile
 Interface providing read access to a memory read file. More...
 
class  IReadFile
 Interface providing read access to a file. More...
 
class  IWriteFile
 Interface providing write access to a file. More...
 
class  IXMLBase
 Empty class to be used as parent class for IrrXMLReader. More...
 
struct  SAttributeReadWriteOptions
 struct holding data describing options More...
 
struct  SNamedPath
 Used in places where we identify objects by a filename, but don't actually work with the real filename. More...
 
struct  xmlChar
 

Typedefs

typedef xmlChar< unsigned short > char16
 defines the utf-16 type. More...
 
typedef xmlChar< unsigned int > char32
 defines the utf-32 type. More...
 
typedef IIrrXMLReader< char, IXMLBaseIrrXMLReader
 A UTF-8 or ASCII character xml parser. More...
 
typedef IIrrXMLReader< char16, IXMLBaseIrrXMLReaderUTF16
 A UTF-16 xml parser. More...
 
typedef IIrrXMLReader< char32, IXMLBaseIrrXMLReaderUTF32
 A UTF-32 xml parser. More...
 
typedef IIrrXMLReader< wchar_t, IReferenceCountedIXMLReader
 An xml reader for wide characters, derived from IReferenceCounted. More...
 
typedef IIrrXMLReader< c8, IReferenceCountedIXMLReaderUTF8
 An xml reader for ASCII or UTF-8 characters, derived from IReferenceCounted. More...
 
typedef IIrrXMLWriter< wchar_t, IReferenceCountedIXMLWriter
 An xml writer for wide characters, derived from IReferenceCounted. More...
 
typedef IIrrXMLWriter< c8, IReferenceCountedIXMLWriterUTF8
 An xml writer for ASCII or UTF-8 characters, derived from IReferenceCounted. More...
 
typedef core::string< fschar_tpath
 Type used for all file system related strings. More...
 

Enumerations

enum  E_ATTRIBUTE_TYPE {
  EAT_INT = 0, EAT_FLOAT, EAT_STRING, EAT_BOOL,
  EAT_ENUM, EAT_COLOR, EAT_COLORF, EAT_VECTOR3D,
  EAT_POSITION2D, EAT_VECTOR2D, EAT_RECT, EAT_MATRIX,
  EAT_QUATERNION, EAT_BBOX, EAT_PLANE, EAT_TRIANGLE3D,
  EAT_LINE2D, EAT_LINE3D, EAT_STRINGWARRAY, EAT_FLOATARRAY,
  EAT_INTARRAY, EAT_BINARY, EAT_TEXTURE, EAT_USER_POINTER,
  EAT_DIMENSION2D, EAT_COUNT, EAT_UNKNOWN
}
 Types of attributes available for IAttributes. More...
 
enum  EREAD_FILE_TYPE { ERFT_READ_FILE = MAKE_IRR_ID('r','e','a','d'), ERFT_MEMORY_READ_FILE = MAKE_IRR_ID('r','m','e','m'), ERFT_LIMIT_READ_FILE = MAKE_IRR_ID('r','l','i','m'), EFIT_UNKNOWN = MAKE_IRR_ID('u','n','k','n') }
 An enumeration for different class types implementing IReadFile. More...
 
enum  E_ATTRIBUTE_READ_WRITE_FLAGS { EARWF_FOR_FILE = 0x00000001, EARWF_FOR_EDITOR = 0x00000002, EARWF_USE_RELATIVE_PATHS = 0x00000004 }
 Enumeration flags passed through SAttributeReadWriteOptions to the IAttributeExchangingObject object. More...
 
enum  EFileSystemType { FILESYSTEM_NATIVE = 0, FILESYSTEM_VIRTUAL }
 FileSystemType: which filesystem should be used for e.g. browsing. More...
 
enum  E_FILE_ARCHIVE_TYPE {
  EFAT_ZIP = MAKE_IRR_ID('Z','I','P', 0), EFAT_GZIP = MAKE_IRR_ID('g','z','i','p'), EFAT_FOLDER = MAKE_IRR_ID('f','l','d','r'), EFAT_PAK = MAKE_IRR_ID('P','A','K', 0),
  EFAT_NPK = MAKE_IRR_ID('N','P','K', 0), EFAT_TAR = MAKE_IRR_ID('T','A','R', 0), EFAT_WAD = MAKE_IRR_ID('W','A','D', 0), EFAT_ANDROID_ASSET = MAKE_IRR_ID('A','S','S','E'),
  EFAT_UNKNOWN = MAKE_IRR_ID('u','n','k','n')
}
 Contains the different types of archives. More...
 
enum  ETEXT_FORMAT {
  ETF_ASCII, ETF_UTF8, ETF_UTF16_BE, ETF_UTF16_LE,
  ETF_UTF32_BE, ETF_UTF32_LE
}
 Enumeration of all supported source text file formats. More...
 
enum  EXML_NODE {
  EXN_NONE, EXN_ELEMENT, EXN_ELEMENT_END, EXN_TEXT,
  EXN_COMMENT, EXN_CDATA, EXN_UNKNOWN
}
 Enumeration for all xml nodes which are parsed by IrrXMLReader. More...
 

Functions

IReadFilecreateLimitReadFile (const io::path &fileName, IReadFile *alreadyOpenedFile, long pos, long areaSize)
 Internal function, please do not use. More...
 
IRRLICHT_API IrrXMLReader *IRRCALLCONV createIrrXMLReader (const char *filename)
 Creates an instance of an UFT-8 or ASCII character xml parser. More...
 
IRRLICHT_API IrrXMLReader *IRRCALLCONV createIrrXMLReader (FILE *file)
 Creates an instance of an UFT-8 or ASCII character xml parser. More...
 
IRRLICHT_API IrrXMLReader *IRRCALLCONV createIrrXMLReader (IFileReadCallBack *callback, bool deleteCallback=false)
 Creates an instance of an UFT-8 or ASCII character xml parser. More...
 
IRRLICHT_API IrrXMLReaderUTF16 *IRRCALLCONV createIrrXMLReaderUTF16 (const char *filename)
 Creates an instance of an UFT-16 xml parser. More...
 
IRRLICHT_API IrrXMLReaderUTF16 *IRRCALLCONV createIrrXMLReaderUTF16 (FILE *file)
 Creates an instance of an UFT-16 xml parser. More...
 
IRRLICHT_API IrrXMLReaderUTF16 *IRRCALLCONV createIrrXMLReaderUTF16 (IFileReadCallBack *callback, bool deleteCallback=false)
 Creates an instance of an UFT-16 xml parser. More...
 
IRRLICHT_API IrrXMLReaderUTF32 *IRRCALLCONV createIrrXMLReaderUTF32 (const char *filename)
 Creates an instance of an UFT-32 xml parser. More...
 
IRRLICHT_API IrrXMLReaderUTF32 *IRRCALLCONV createIrrXMLReaderUTF32 (FILE *file)
 Creates an instance of an UFT-32 xml parser. More...
 
IRRLICHT_API IrrXMLReaderUTF32 *IRRCALLCONV createIrrXMLReaderUTF32 (IFileReadCallBack *callback, bool deleteCallback=false)
 Creates an instance of an UFT-32 xml parser. More...
 

Detailed Description

This namespace provides interfaces for input/output: Reading and writing files, accessing zip archives, xml files, ...

Typedef Documentation

◆ char16

typedef xmlChar<unsigned short> irr::io::char16

defines the utf-16 type.

Not using wchar_t for this because wchar_t has 16 bit on windows and 32 bit on other operating systems.

Definition at line 465 of file irrXML.h.

◆ char32

typedef xmlChar<unsigned int> irr::io::char32

defines the utf-32 type.

Not using wchar_t for this because wchar_t has 16 bit on windows and 32 bit on other operating systems.

Definition at line 470 of file irrXML.h.

◆ IrrXMLReader

A UTF-8 or ASCII character xml parser.

This means that all character data will be returned in 8 bit ASCII or UTF-8 by this parser. The file to read can be in any format, it will be converted to UTF-8 if it is not in this format. Create an instance of this with createIrrXMLReader(); See IIrrXMLReader for description on how to use it.

Definition at line 478 of file irrXML.h.

◆ IrrXMLReaderUTF16

A UTF-16 xml parser.

This means that all character data will be returned in UTF-16 by this parser. The file to read can be in any format, it will be converted to UTF-16 if it is not in this format. Create an instance of this with createIrrXMLReaderUTF16(); See IIrrXMLReader for description on how to use it.

Definition at line 486 of file irrXML.h.

◆ IrrXMLReaderUTF32

A UTF-32 xml parser.

This means that all character data will be returned in UTF-32 by this parser. The file to read can be in any format, it will be converted to UTF-32 if it is not in this format. Create an instance of this with createIrrXMLReaderUTF32(); See IIrrXMLReader for description on how to use it.

Definition at line 494 of file irrXML.h.

◆ IXMLReader

An xml reader for wide characters, derived from IReferenceCounted.

This XML Parser can read any type of text files from any source Irrlicht can read. Just call IFileSystem::createXMLReader(). For more information on how to use the parser, see IIrrXMLReader

Definition at line 19 of file IXMLReader.h.

◆ IXMLReaderUTF8

An xml reader for ASCII or UTF-8 characters, derived from IReferenceCounted.

This XML Parser can read any type of text files from any source Irrlicht can read. Just call IFileSystem::createXMLReaderUTF8(). For more information on how to use the parser, see IIrrXMLReader

Definition at line 25 of file IXMLReader.h.

◆ IXMLWriter

An xml writer for wide characters, derived from IReferenceCounted.

Call IFileSystem::createXMLReader(). to create an IXMLWriter

Definition at line 17 of file IXMLWriter.h.

◆ IXMLWriterUTF8

An xml writer for ASCII or UTF-8 characters, derived from IReferenceCounted.

Call IFileSystem::createXMLReaderUtf8(). to create an IXMLWriter

Definition at line 21 of file IXMLWriter.h.

◆ path

Type used for all file system related strings.

This type will transparently handle different file system encodings.

Definition at line 17 of file path.h.

Enumeration Type Documentation

◆ E_ATTRIBUTE_READ_WRITE_FLAGS

Enumeration flags passed through SAttributeReadWriteOptions to the IAttributeExchangingObject object.

Enumerator
EARWF_FOR_FILE 

Serialization/Deserializion is done for an xml file.

EARWF_FOR_EDITOR 

Serialization/Deserializion is done for an editor property box.

EARWF_USE_RELATIVE_PATHS 

When writing filenames, relative paths should be used.

Definition at line 20 of file IAttributeExchangingObject.h.

21 {
23  EARWF_FOR_FILE = 0x00000001,
24 
26  EARWF_FOR_EDITOR = 0x00000002,
27 
29  EARWF_USE_RELATIVE_PATHS = 0x00000004
30 };
Serialization/Deserializion is done for an editor property box.
Serialization/Deserializion is done for an xml file.
When writing filenames, relative paths should be used.

◆ E_ATTRIBUTE_TYPE

Types of attributes available for IAttributes.

Enumerator
EAT_INT 
EAT_FLOAT 
EAT_STRING 
EAT_BOOL 
EAT_ENUM 
EAT_COLOR 
EAT_COLORF 
EAT_VECTOR3D 
EAT_POSITION2D 
EAT_VECTOR2D 
EAT_RECT 
EAT_MATRIX 
EAT_QUATERNION 
EAT_BBOX 
EAT_PLANE 
EAT_TRIANGLE3D 
EAT_LINE2D 
EAT_LINE3D 
EAT_STRINGWARRAY 
EAT_FLOATARRAY 
EAT_INTARRAY 
EAT_BINARY 
EAT_TEXTURE 
EAT_USER_POINTER 
EAT_DIMENSION2D 
EAT_COUNT 
EAT_UNKNOWN 

Definition at line 14 of file EAttributes.h.

15 {
16  // integer attribute
17  EAT_INT = 0,
18 
19  // float attribute
20  EAT_FLOAT,
21 
22  // string attribute
23  EAT_STRING,
24 
25  // boolean attribute
26  EAT_BOOL,
27 
28  // enumeration attribute
29  EAT_ENUM,
30 
31  // color attribute
32  EAT_COLOR,
33 
34  // floating point color attribute
35  EAT_COLORF,
36 
37  // 3d vector attribute
39 
40  // 2d position attribute
42 
43  // vector 2d attribute
45 
46  // rectangle attribute
47  EAT_RECT,
48 
49  // matrix attribute
50  EAT_MATRIX,
51 
52  // quaternion attribute
54 
55  // 3d bounding box
56  EAT_BBOX,
57 
58  // plane
59  EAT_PLANE,
60 
61  // 3d triangle
63 
64  // line 2d
65  EAT_LINE2D,
66 
67  // line 3d
68  EAT_LINE3D,
69 
70  // array of stringws attribute
72 
73  // array of float
75 
76  // array of int
78 
79  // binary data attribute
80  EAT_BINARY,
81 
82  // texture reference attribute
84 
85  // user pointer void*
87 
88  // dimension attribute
90 
91  // known attribute type count
92  EAT_COUNT,
93 
94  // unknown attribute
96 };

◆ E_FILE_ARCHIVE_TYPE

Contains the different types of archives.

Enumerator
EFAT_ZIP 

A PKZIP archive.

EFAT_GZIP 

A gzip archive.

EFAT_FOLDER 

A virtual directory.

EFAT_PAK 

An ID Software PAK archive.

EFAT_NPK 

A Nebula Device archive.

EFAT_TAR 

A Tape ARchive.

EFAT_WAD 

A wad Archive, Quake2, Halflife.

EFAT_ANDROID_ASSET 

An Android asset file archive.

EFAT_UNKNOWN 

The type of this archive is unknown.

Definition at line 25 of file IFileArchive.h.

26 {
28  EFAT_ZIP = MAKE_IRR_ID('Z','I','P', 0),
29 
31  EFAT_GZIP = MAKE_IRR_ID('g','z','i','p'),
32 
34  EFAT_FOLDER = MAKE_IRR_ID('f','l','d','r'),
35 
37  EFAT_PAK = MAKE_IRR_ID('P','A','K', 0),
38 
40  EFAT_NPK = MAKE_IRR_ID('N','P','K', 0),
41 
43  EFAT_TAR = MAKE_IRR_ID('T','A','R', 0),
44 
46  EFAT_WAD = MAKE_IRR_ID('W','A','D', 0),
47 
49  EFAT_ANDROID_ASSET = MAKE_IRR_ID('A','S','S','E'),
50 
52  EFAT_UNKNOWN = MAKE_IRR_ID('u','n','k','n')
53 };
The type of this archive is unknown.
Definition: IFileArchive.h:52
A PKZIP archive.
Definition: IFileArchive.h:28
An ID Software PAK archive.
Definition: IFileArchive.h:37
An Android asset file archive.
Definition: IFileArchive.h:49
A Tape ARchive.
Definition: IFileArchive.h:43
#define MAKE_IRR_ID(c0, c1, c2, c3)
ignore VC8 warning deprecated
Definition: irrTypes.h:243
A virtual directory.
Definition: IFileArchive.h:34
A Nebula Device archive.
Definition: IFileArchive.h:40
A gzip archive.
Definition: IFileArchive.h:31
A wad Archive, Quake2, Halflife.
Definition: IFileArchive.h:46

◆ EFileSystemType

FileSystemType: which filesystem should be used for e.g. browsing.

Enumerator
FILESYSTEM_NATIVE 
FILESYSTEM_VIRTUAL 

Definition at line 18 of file IFileArchive.h.

19 {
20  FILESYSTEM_NATIVE = 0, // Native OS FileSystem
21  FILESYSTEM_VIRTUAL // Virtual FileSystem
22 };

◆ EREAD_FILE_TYPE

An enumeration for different class types implementing IReadFile.

Enumerator
ERFT_READ_FILE 

CReadFile.

ERFT_MEMORY_READ_FILE 

CMemoryReadFile.

ERFT_LIMIT_READ_FILE 

CLimitReadFile.

EFIT_UNKNOWN 

Unknown type.

Definition at line 16 of file EReadFileType.h.

17  {
19  ERFT_READ_FILE = MAKE_IRR_ID('r','e','a','d'),
20 
22  ERFT_MEMORY_READ_FILE = MAKE_IRR_ID('r','m','e','m'),
23 
25  ERFT_LIMIT_READ_FILE = MAKE_IRR_ID('r','l','i','m'),
26 
28  EFIT_UNKNOWN = MAKE_IRR_ID('u','n','k','n')
29  };
#define MAKE_IRR_ID(c0, c1, c2, c3)
ignore VC8 warning deprecated
Definition: irrTypes.h:243

◆ ETEXT_FORMAT

Enumeration of all supported source text file formats.

Enumerator
ETF_ASCII 

ASCII, file without byte order mark, or not a text file.

ETF_UTF8 

UTF-8 format.

ETF_UTF16_BE 

UTF-16 format, big endian.

ETF_UTF16_LE 

UTF-16 format, little endian.

ETF_UTF32_BE 

UTF-32 format, big endian.

ETF_UTF32_LE 

UTF-32 format, little endian.

Definition at line 160 of file irrXML.h.

161  {
163  ETF_ASCII,
164 
166  ETF_UTF8,
167 
169  ETF_UTF16_BE,
170 
172  ETF_UTF16_LE,
173 
175  ETF_UTF32_BE,
176 
179  };
UTF-16 format, little endian.
Definition: irrXML.h:172
UTF-16 format, big endian.
Definition: irrXML.h:169
UTF-32 format, big endian.
Definition: irrXML.h:175
UTF-32 format, little endian.
Definition: irrXML.h:178
ASCII, file without byte order mark, or not a text file.
Definition: irrXML.h:163
UTF-8 format.
Definition: irrXML.h:166

◆ EXML_NODE

Enumeration for all xml nodes which are parsed by IrrXMLReader.

Enumerator
EXN_NONE 

No xml node. This is usually the node if you did not read anything yet.

EXN_ELEMENT 

An xml element such as <foo>.

EXN_ELEMENT_END 

End of an xml element such as </foo>.

EXN_TEXT 

Text within an xml element: <foo> this is the text. </foo> Also text between 2 xml elements: </foo> this is the text. <foo>

EXN_COMMENT 

An xml comment like <!– I am a comment –> or a DTD definition.

EXN_CDATA 

An xml cdata section like <![CDATA[ this is some CDATA ]]>.

EXN_UNKNOWN 

Unknown element.

Definition at line 183 of file irrXML.h.

184  {
186  EXN_NONE,
187 
189  EXN_ELEMENT,
190 
193 
196  EXN_TEXT,
197 
199  EXN_COMMENT,
200 
202  EXN_CDATA,
203 
206  };
End of an xml element such as </foo>.
Definition: irrXML.h:192
Unknown element.
Definition: irrXML.h:205
An xml comment like <!– I am a comment –> or a DTD definition.
Definition: irrXML.h:199
An xml element such as <foo>.
Definition: irrXML.h:189
An xml cdata section like <![CDATA[ this is some CDATA ]]>.
Definition: irrXML.h:202
No xml node. This is usually the node if you did not read anything yet.
Definition: irrXML.h:186

Function Documentation

◆ createIrrXMLReader() [1/3]

IRRLICHT_API IrrXMLReader* IRRCALLCONV irr::io::createIrrXMLReader ( const char *  filename)

Creates an instance of an UFT-8 or ASCII character xml parser.

This means that all character data will be returned in 8 bit ASCII or UTF-8. The file to read can be in any format, it will be converted to UTF-8 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use this function but IFileSystem::createXMLReaderUTF8() instead.

Parameters
filenameName of file to be opened.
Returns
Returns a pointer to the created xml parser. This pointer should be deleted using 'delete' after no longer needed. Returns 0 if an error occurred and the file could not be opened.

◆ createIrrXMLReader() [2/3]

IRRLICHT_API IrrXMLReader* IRRCALLCONV irr::io::createIrrXMLReader ( FILE *  file)

Creates an instance of an UFT-8 or ASCII character xml parser.

This means that all character data will be returned in 8 bit ASCII or UTF-8. The file to read can be in any format, it will be converted to UTF-8 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use this function but IFileSystem::createXMLReaderUTF8() instead.

Parameters
filePointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb"); The file will not be closed after it has been read.
Returns
Returns a pointer to the created xml parser. This pointer should be deleted using 'delete' after no longer needed. Returns 0 if an error occurred and the file could not be opened.

◆ createIrrXMLReader() [3/3]

IRRLICHT_API IrrXMLReader* IRRCALLCONV irr::io::createIrrXMLReader ( IFileReadCallBack callback,
bool  deleteCallback = false 
)

Creates an instance of an UFT-8 or ASCII character xml parser.

This means that all character data will be returned in 8 bit ASCII or UTF-8. The file to read can be in any format, it will be converted to UTF-8 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use this function but IFileSystem::createXMLReaderUTF8() instead.

Parameters
callbackCallback for file read abstraction. Implement your own callback to make the xml parser read in other things than just files. See IFileReadCallBack for more information about this.
deleteCallbackif true, the callback will be deleted after the file has been read. Otherwise the caller is responsible for cleaning it up.
Returns
Returns a pointer to the created xml parser. This pointer should be deleted using 'delete' after no longer needed. Returns 0 if an error occurred and the file could not be opened.

◆ createIrrXMLReaderUTF16() [1/3]

IRRLICHT_API IrrXMLReaderUTF16* IRRCALLCONV irr::io::createIrrXMLReaderUTF16 ( const char *  filename)

Creates an instance of an UFT-16 xml parser.

This means that all character data will be returned in UTF-16. The file to read can be in any format, it will be converted to UTF-16 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use this function but IFileSystem::createXMLReader() instead.

Parameters
filenameName of file to be opened.
Returns
Returns a pointer to the created xml parser. This pointer should be deleted using 'delete' after no longer needed. Returns 0 if an error occurred and the file could not be opened.

◆ createIrrXMLReaderUTF16() [2/3]

IRRLICHT_API IrrXMLReaderUTF16* IRRCALLCONV irr::io::createIrrXMLReaderUTF16 ( FILE *  file)

Creates an instance of an UFT-16 xml parser.

This means that all character data will be returned in UTF-16. The file to read can be in any format, it will be converted to UTF-16 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use this function but IFileSystem::createXMLReader() instead.

Parameters
filePointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb"); The file will not be closed after it has been read.
Returns
Returns a pointer to the created xml parser. This pointer should be deleted using 'delete' after no longer needed. Returns 0 if an error occurred and the file could not be opened.

◆ createIrrXMLReaderUTF16() [3/3]

IRRLICHT_API IrrXMLReaderUTF16* IRRCALLCONV irr::io::createIrrXMLReaderUTF16 ( IFileReadCallBack callback,
bool  deleteCallback = false 
)

Creates an instance of an UFT-16 xml parser.

This means that all character data will be returned in UTF-16. The file to read can be in any format, it will be converted to UTF-16 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use this function but IFileSystem::createXMLReader() instead.

Parameters
callbackCallback for file read abstraction. Implement your own callback to make the xml parser read in other things than just files. See IFileReadCallBack for more information about this.
deleteCallbackif true, the callback will be deleted after the file has been read. Otherwise the caller is responsible for cleaning it up.
Returns
Returns a pointer to the created xml parser. This pointer should be deleted using 'delete' after no longer needed. Returns 0 if an error occurred and the file could not be opened.

◆ createIrrXMLReaderUTF32() [1/3]

IRRLICHT_API IrrXMLReaderUTF32* IRRCALLCONV irr::io::createIrrXMLReaderUTF32 ( const char *  filename)

Creates an instance of an UFT-32 xml parser.

This means that all character data will be returned in UTF-32. The file to read can be in any format, it will be converted to UTF-32 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use this function but IFileSystem::createXMLReader() instead.

Parameters
filenameName of file to be opened.
Returns
Returns a pointer to the created xml parser. This pointer should be deleted using 'delete' after no longer needed. Returns 0 if an error occurred and the file could not be opened.

◆ createIrrXMLReaderUTF32() [2/3]

IRRLICHT_API IrrXMLReaderUTF32* IRRCALLCONV irr::io::createIrrXMLReaderUTF32 ( FILE *  file)

Creates an instance of an UFT-32 xml parser.

This means that all character data will be returned in UTF-32. The file to read can be in any format, it will be converted to UTF-32 if it is not in this format. if you are using the Irrlicht Engine, it is better not to use this function but IFileSystem::createXMLReader() instead.

Parameters
filePointer to opened file, must have been opened in binary mode, e.g. using fopen("foo.bar", "wb"); The file will not be closed after it has been read.
Returns
Returns a pointer to the created xml parser. This pointer should be deleted using 'delete' after no longer needed. Returns 0 if an error occurred and the file could not be opened.

◆ createIrrXMLReaderUTF32() [3/3]

IRRLICHT_API IrrXMLReaderUTF32* IRRCALLCONV irr::io::createIrrXMLReaderUTF32 ( IFileReadCallBack callback,
bool  deleteCallback = false 
)

Creates an instance of an UFT-32 xml parser.

This means that all character data will be returned in UTF-32. The file to read can be in any format, it will be converted to UTF-32 if it is not in this format. If you are using the Irrlicht Engine, it is better not to use this function but IFileSystem::createXMLReader() instead.

Parameters
callbackCallback for file read abstraction. Implement your own callback to make the xml parser read in other things than just files. See IFileReadCallBack for more information about this.
deleteCallbackif true, the callback will be deleted after the file has been read. Otherwise the caller is responsible for cleaning it up.
Returns
Returns a pointer to the created xml parser. This pointer should be deleted using 'delete' after no longer needed. Returns 0 if an error occurred and the file could not be opened.

◆ createLimitReadFile()

IReadFile* irr::io::createLimitReadFile ( const io::path fileName,
IReadFile alreadyOpenedFile,
long  pos,
long  areaSize 
)

Internal function, please do not use.