Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# 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 acess 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...
## Typedefs
typedef unsigned short | char16
| defines the utf-16 type.
typedef unsigned long | 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_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_TAR = MAKE_IRR_ID('T','A','R', 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 (IFileReadCallBack *callback, bool deleteCallback=false)
| 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 (const char *filename)
| Creates an instance of an UFT-8 or ASCII character xml parser.
IRRLICHT_API IrrXMLReaderUTF16 *IRRCALLCONV | createIrrXMLReaderUTF16 (IFileReadCallBack *callback, bool deleteCallback=false)
| 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 (const char *filename)
| Creates an instance of an UFT-16 xml parser.
IRRLICHT_API IrrXMLReaderUTF32 *IRRCALLCONV | createIrrXMLReaderUTF32 (IFileReadCallBack *callback, bool deleteCallback=false)
| 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 (const char *filename)
| 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

typedef 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 372 of file irrXML.h.

typedef unsigned long 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 377 of file irrXML.h.

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 385 of file irrXML.h.

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 393 of file irrXML.h.

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 401 of file irrXML.h.

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.

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.

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

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.

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_COUNT |
  EAT_UNKNOWN |

Definition at line 38 of file IAttributes.h.

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_TAR | A Tape ARchive.
  EFAT_UNKNOWN | The type of this archive is unknown.

Definition at line 25 of file IFileArchive.h.

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.

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

Internal function, please do not use.

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

Internal function, please do not use.

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

Internal function, please do not use.

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

Internal function, please do not use.

| The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:11 2010 by Doxygen (1.5.6)