Loading...
Searching...
No Matches
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 possiblity 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 | IReadFile
| Interface providing read acess 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...
class | IXMLWriter
| Interface providing methods for making it easier to write XML files. 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.
typedef xmlChar< unsigned int > | char32
| defines the utf-32 type.
typedef IIrrXMLReader< char, IXMLBase > | IrrXMLReader
| A UTF-8 or ASCII character xml parser.
typedef IIrrXMLReader< char16, IXMLBase > | IrrXMLReaderUTF16
| A UTF-16 xml parser.
typedef IIrrXMLReader< char32, IXMLBase > | IrrXMLReaderUTF32
| A UTF-32 xml parser.
typedef IIrrXMLReader< wchar_t, IReferenceCounted > | IXMLReader
| An xml reader for wide characters, derived from IReferenceCounted.
typedef IIrrXMLReader< c8, IReferenceCounted > | IXMLReaderUTF8
| An xml reader for ASCII or UTF-8 characters, derived from IReferenceCounted.
typedef core::string< fschar_t > | path
| Type used for all file system related strings.

## Enumerations

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

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 | 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_UNKNOWN = MAKE_IRR_ID('u','n','k','n') }
| Contains the different types of archives. More...
enum | EFileSystemType { FILESYSTEM_NATIVE = 0 , FILESYSTEM_VIRTUAL }
| FileSystemType: which Filesystem should be used for e.g. browsing. 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

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

## 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 397 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 402 of file irrXML.h.

## IrrXMLReader

typedef IIrrXMLReader<char, IXMLBase> irr::io::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 410 of file irrXML.h.

## IrrXMLReaderUTF16

typedef IIrrXMLReader<char16, IXMLBase> irr::io::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 418 of file irrXML.h.

## IrrXMLReaderUTF32

typedef IIrrXMLReader<char32, IXMLBase> irr::io::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 426 of file irrXML.h.

## IXMLReader

typedef IIrrXMLReader<wchar_t, IReferenceCounted> irr::io::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 informations on how to use the parser, see IIrrXMLReader

Definition at line 19 of file IXMLReader.h.

## IXMLReaderUTF8

typedef IIrrXMLReader<c8, IReferenceCounted> irr::io::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 informations on how to use the parser, see IIrrXMLReader

Definition at line 25 of file IXMLReader.h.

## path

typedef core::string<fschar_t> irr::io::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

enum irr::io::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.

## E_ATTRIBUTE_TYPE

enum irr::io::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.

## E_FILE_ARCHIVE_TYPE

enum irr::io::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_UNKNOWN | The type of this archive is unknown.

Definition at line 25 of file IFileArchive.h.

## EFileSystemType

enum irr::io::EFileSystemType

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

Enumerator
FILESYSTEM_NATIVE |
FILESYSTEM_VIRTUAL |

Definition at line 18 of file IFileArchive.h.

## ETEXT_FORMAT

enum irr::io::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 158 of file irrXML.h.

## EXML_NODE

enum irr::io::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 181 of file irrXML.h.

## 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

  filename | Name 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 occured and the file could not be opened.

References IRRCALLCONV, and IRRLICHT_API.

## 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

  file | Pointer 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 occured and the file could not be opened.

References IRRCALLCONV, and IRRLICHT_API.

## 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

  callback | Callback 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.
  deleteCallback | if true, the callback will be deleted after the file has been read. Otherwise the caller si 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 occured and the file could not be opened.

References IRRCALLCONV, and IRRLICHT_API.

## 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

  filename | Name 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 occured and the file could not be opened.

References IRRCALLCONV, and IRRLICHT_API.

## 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

  file | Pointer 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 occured and the file could not be opened.

References IRRCALLCONV, and IRRLICHT_API.

## 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

  callback | Callback 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.
  deleteCallback | if true, the callback will be deleted after the file has been read. Otherwise the caller si 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 occured and the file could not be opened.

References IRRCALLCONV, and IRRLICHT_API.

## 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

  filename | Name 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 occured and the file could not be opened.

References IRRCALLCONV, and IRRLICHT_API.

## 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

  file | Pointer 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 occured and the file could not be opened.

References IRRCALLCONV, and IRRLICHT_API.

## 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

  callback | Callback 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.
  deleteCallback | if true, the callback will be deleted after the file has been read. Otherwise the caller si 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 occured and the file could not be opened.

References IRRCALLCONV, and IRRLICHT_API.

## createLimitReadFile()

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

Internal function, please do not use.

## createMemoryReadFile()

IReadFile * irr::io::createMemoryReadFile | ( | void * | memory,
|  | long | size,
|  | const io::path & | fileName,
|  | bool | deleteMemoryWhenDropped )

Internal function, please do not use.

## createReadFile()

IReadFile * irr::io::createReadFile | ( | const io::path & | fileName | ) |

Internal function, please do not use.

## createWriteFile()

IWriteFile * irr::io::createWriteFile | ( | const io::path & | fileName,
|  | bool | append )

Internal function, please do not use.

- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0