diff options
Diffstat (limited to 'src/others/irrlicht-1.8.1/include/IReadFile.h')
-rw-r--r-- | src/others/irrlicht-1.8.1/include/IReadFile.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/include/IReadFile.h b/src/others/irrlicht-1.8.1/include/IReadFile.h new file mode 100644 index 0000000..e925690 --- /dev/null +++ b/src/others/irrlicht-1.8.1/include/IReadFile.h | |||
@@ -0,0 +1,58 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | ||
2 | // This file is part of the "Irrlicht Engine". | ||
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | ||
4 | |||
5 | #ifndef __I_READ_FILE_H_INCLUDED__ | ||
6 | #define __I_READ_FILE_H_INCLUDED__ | ||
7 | |||
8 | #include "IReferenceCounted.h" | ||
9 | #include "coreutil.h" | ||
10 | |||
11 | namespace irr | ||
12 | { | ||
13 | namespace io | ||
14 | { | ||
15 | |||
16 | //! Interface providing read acess to a file. | ||
17 | class IReadFile : public virtual IReferenceCounted | ||
18 | { | ||
19 | public: | ||
20 | //! Reads an amount of bytes from the file. | ||
21 | /** \param buffer Pointer to buffer where read bytes are written to. | ||
22 | \param sizeToRead Amount of bytes to read from the file. | ||
23 | \return How many bytes were read. */ | ||
24 | virtual s32 read(void* buffer, u32 sizeToRead) = 0; | ||
25 | |||
26 | //! Changes position in file | ||
27 | /** \param finalPos Destination position in the file. | ||
28 | \param relativeMovement If set to true, the position in the file is | ||
29 | changed relative to current position. Otherwise the position is changed | ||
30 | from beginning of file. | ||
31 | \return True if successful, otherwise false. */ | ||
32 | virtual bool seek(long finalPos, bool relativeMovement = false) = 0; | ||
33 | |||
34 | //! Get size of file. | ||
35 | /** \return Size of the file in bytes. */ | ||
36 | virtual long getSize() const = 0; | ||
37 | |||
38 | //! Get the current position in the file. | ||
39 | /** \return Current position in the file in bytes. */ | ||
40 | virtual long getPos() const = 0; | ||
41 | |||
42 | //! Get name of file. | ||
43 | /** \return File name as zero terminated character string. */ | ||
44 | virtual const io::path& getFileName() const = 0; | ||
45 | }; | ||
46 | |||
47 | //! Internal function, please do not use. | ||
48 | IReadFile* createReadFile(const io::path& fileName); | ||
49 | //! Internal function, please do not use. | ||
50 | IReadFile* createLimitReadFile(const io::path& fileName, IReadFile* alreadyOpenedFile, long pos, long areaSize); | ||
51 | //! Internal function, please do not use. | ||
52 | IReadFile* createMemoryReadFile(void* memory, long size, const io::path& fileName, bool deleteMemoryWhenDropped); | ||
53 | |||
54 | } // end namespace io | ||
55 | } // end namespace irr | ||
56 | |||
57 | #endif | ||
58 | |||