OWLNext 7.0
Borland's Object Windows Library for the modern age
|
The TRiffFile class is used for reading and writing RIFF files. More...
#include <owl/file.h>
Public Types | |
enum | TFindFlags { ffReset = 0x0001 , ffFindAny = 0x0002 , ffFindChunk = 0x0004 , ffFindList = 0x0008 , ffFindRiff = 0x0010 } |
enum | TCreateFlags { cfCreateChunk , cfCreateList , cfCreateRiff } |
Public Types inherited from owl::TBufferedFile | |
enum | { DefaultBufferSize = 2048 } |
The initial size of the buffer. More... | |
Public Types inherited from owl::TFile | |
enum | TSeekDir { beg = 0 , cur = 1 , end = 2 } |
enum | TOpenMode { ReadOnly = 0x0001 , WriteOnly = 0x0002 , ReadWrite = WriteOnly|ReadOnly , PermWrite = 0x0010 , PermRead = 0x0020 , PermReadWrite = PermWrite|PermRead , PermExclusive = 0x0040 , PermNone = 0x0080 , CreateNew = 0x0100 , CreateAlways = 0x0200 , OpenExisting = 0x0400 , TruncateExist = 0x0800 , Text = 0x1000 } |
Open mode -> remapped into OS specific value internally. More... | |
enum | TAttribute { Normal = 0x00 , RdOnly = 0x01 , Hidden = 0x02 , System = 0x04 , Volume = 0x08 , Directory = 0x10 , Archive = 0x20 , Temporary = 0x40 } |
file attributes -> internally remapped into OS values More... | |
enum | TBinType { TypeChar , TypeShort , TypeLong , TypeFloat , TypeDouble , TypeLong64 , TypePoint , TypeRect } |
Binary data type enumerations. More... | |
Public Member Functions | |
TRiffFile () | |
Default constructor. | |
TRiffFile (const TRiffFile &file) | |
TRiffFile (TFileHandle *handle, bool shouldClose) | |
TRiffFile (const tstring &fileName, const uint32 acess=ReadOnly|PermRead|OpenExisting) | |
Creates a TRiffFile object with a filename name and opens the file with mode mode. | |
bool | CreateChunk (TCkInfo &info, const TCreateFlags=cfCreateChunk) |
Writes a data structure of the specified type to the associated file. | |
bool | Ascent (TCkInfo &info) |
bool | Descent (TCkInfo &info, TCkInfo *parent=0, const TFindFlags=ffFindAny) |
Public Member Functions inherited from owl::TBufferedFile | |
TBufferedFile () | |
Creates a TBufferedFile object with a file handle of FileNull and allocated a buffer of DefaultBufferSize bytes. | |
TBufferedFile (const tstring &fileName, const uint32 mode=ReadOnly|PermRead|OpenExisting) | |
Creates a TBufferedFile object and opens file name with the given attributes. | |
TBufferedFile (const TBufferedFile &file) | |
TBufferedFile (TFileHandle *handle, bool shouldClose) | |
Creates a TBufferedFile object with a file handle of handle. | |
virtual | ~TBufferedFile () |
The buffer is flushed. If ShouldDelete is true the buffer is deleted. | |
virtual bool | Close () |
Flushes the buffer and closes the file. | |
virtual bool | Length (uint64 newLen) |
Flushes the buffer and then resizes file to newLen. | |
virtual uint64 | Position64 () const |
Returns the current position of the file pointer. | |
virtual uint64 | Length64 () const |
Returns the file length plus the length of unwritten data in the buffer. | |
virtual uint32 | Position () const |
Returns the current position of the file pointer. | |
virtual uint32 | Length () const |
Returns the file length plus the length of unwritten data in the buffer. | |
virtual bool | Length (uint32 newLen) |
Flushes the buffer and then resizes file to newLen. | |
virtual uint64 | Seek (int64 offset, TSeekDir origin=beg) |
Repositions the file pointer to offset bytes from the specified origin. | |
virtual uint32 | Seek (long offset, TSeekDir origin=beg) |
Repositions the file pointer to offset bytes from the specified origin. | |
virtual uint32 | Read (void *buffer, uint32 numBytes) |
Reads numBytes from the file into buffer. The number of bytes read is returned. | |
virtual bool | Write (const void *buffer, uint32 numBytes) |
Writes numBytes of buffer to the file. | |
virtual bool | Flush () |
Writes any data in the buffer to file and then resets the buffer. | |
virtual void | SetBuffer (uint8 *buffer, uint size, bool shouldDelete=true) |
Flushes the current buffer and then deletes it if ShouldDelete is true. | |
Public Member Functions inherited from owl::TFile | |
TFile () | |
Creates a TFile object with a file handle of FileNull. | |
TFile (const tstring &fileName, const uint32 mode=ReadOnly|PermRead|OpenExisting) | |
Creates a TFile object and opens file name with the given attributes. | |
TFile (TFileHandle *handle, bool shouldClose) | |
Creates a TFile object with a file handle of handle. | |
TFile (const TFile &file) | |
virtual | ~TFile () |
If ShouldClose is true the file is closed. | |
virtual TFileHandle * | GetHandle () const |
Returns Handle. | |
const tstring | GetName () const |
Returns Name. | |
virtual bool | Open (const tstring &fileName, const uint32 mode=ReadOnly|PermRead|OpenExisting) |
Opens file name with the given mode. | |
uint64 | SeekToBegin64 () |
Repositions the file pointer to the beginning of the file. | |
uint64 | SeekToEnd64 () |
Repositions the file pointer to the end of the file. | |
uint32 | SeekToBegin () |
Repositions the file pointer to the beginning of the file. | |
uint32 | SeekToEnd () |
Repositions the file pointer to the end of the file. | |
bool | IsOpen () const |
Returns true if the file is open, false otherwise. | |
uint32 | GetOpenMode () const |
Returns OpenMode. | |
uint32 | LastError () |
Returns the last error. | |
uint | ReadStruct (void *buffer, TBinType btype, TByteOrderType type) |
Read binary predefined structure from file. | |
uint | ReadStruct (void *buffer, TBinField *fields, TByteOrderType type) |
Read binary structure from file. | |
uint | WriteStruct (void *buffer, TBinType btype, TByteOrderType type) |
Writes predefined structures to binary file. | |
uint | WriteStruct (void *buffer, TBinField *fields, TByteOrderType type) |
Writes structures to binary file based on fields description. | |
virtual bool | LockRange (uint32 position, uint32 count) |
Locks count bytes, beginning at position of the file. | |
virtual bool | UnlockRange (uint32 position, uint32 count) |
Unlocks the range at the given Position. | |
virtual bool | LockRange (uint64 position, uint64 count) |
Locks count bytes, beginning at position of the file. | |
virtual bool | UnlockRange (uint64 position, uint64 count) |
32 Bit Only: Unlocks the range at the given Position. | |
bool | GetStatus (TFileStatus &status) const |
Fills status with the current file status. | |
virtual uint8 | readUint8 () |
virtual uint16 | readUint16 () |
virtual uint32 | readUint32 () |
virtual uint64 | readUint64 () |
virtual float | readFloat () |
virtual double | readDouble () |
virtual TCHAR * | readString (tchar *) |
virtual void | writeUint8 (const uint8) |
virtual void | writeUint16 (const uint16) |
virtual void | writeUint32 (const uint32) |
virtual void | writeUint64 (const uint64) |
virtual void | writeFloat (const float) |
virtual void | writeDouble (const double) |
virtual void | writeString (const tchar *) |
Additional Inherited Members | |
Static Public Member Functions inherited from owl::TFile | |
static uint | ReadStruct (uint8 *readBuf, void *buffer, TBinField *fields, TByteOrderType type) |
Read binary structure from buffer. | |
static uint | WriteStruct (uint8 *writeBuf, void *buffer, TBinField *fields, TByteOrderType type) |
Writes structures to buffer based on fields description. | |
static uint | StructSize (TBinField *fields) |
Returns the number of bytes in a binary data structure. | |
Protected Member Functions inherited from owl::TBufferedFile | |
virtual void | InitBuffer (uint size=DefaultBufferSize) |
Allocates a buffer of size bytes. | |
virtual bool | FlushBuffer () |
Flushes the buffer by writing any unwritten data to the file. | |
Protected Attributes inherited from owl::TBufferedFile | |
uint8 * | FileBuffer |
Buffer used to store data in. | |
bool | ShouldDelete |
True if the buffer should be deleted. | |
uint | FileBufSize |
Size of FileBuffer in bytes. | |
uint8 * | CurByte |
Pointer to current position in the buffer. | |
uint32 | CurPos |
Offset in file to current position. | |
uint32 | StartPos |
Offset in file to byte 0 of the buffer. | |
uint32 | EndPos |
Offset in file to the last data byte in the buffer. | |
bool | BufferEmpty |
True if the buffer is empty; false otherwise. | |
Protected Attributes inherited from owl::TFile | |
TFileHandle * | Handle |
Low-level C file handle. | |
bool | ShouldClose |
Should C++ object close file on dtor. | |
uint8 * | Buffer |
Buffer used with structure read/write. | |
uint | BufSize |
Size of Buffer used with structure read/write. | |
The TRiffFile class is used for reading and writing RIFF files.
|
inline |
|
inline |
|
inline |
Definition at line 1656 of file file.cpp.
References owl::TFile::beg, owl::boLittle_Endian, CHECK, owl::TCkInfo::ckDirty, owl::TCkInfo::ckList, owl::TCkInfo::ckRiff, owl::TFile::IsOpen(), owl::TBufferedFile::Position(), owl::TBufferedFile::Seek(), TFILE_ERROR, WARNX, and owl::TFile::WriteStruct().
bool owl::TRiffFile::CreateChunk | ( | TCkInfo & | info, |
const TCreateFlags | type = cfCreateChunk ) |
Writes a data structure of the specified type to the associated file.
Definition at line 1619 of file file.cpp.
References owl::boLittle_Endian, cfCreateChunk, cfCreateList, cfCreateRiff, CHECK, owl::TCkInfo::ckDirty, owl::TCkInfo::ckList, owl::TCkInfo::ckRiff, owl::TFile::IsOpen(), owl::TBufferedFile::Position(), WARNX, and owl::TFile::WriteStruct().
bool owl::TRiffFile::Descent | ( | TCkInfo & | info, |
TCkInfo * | parent = 0, | ||
const TFindFlags | flags = ffFindAny ) |
Definition at line 1698 of file file.cpp.
References owl::TFile::beg, owl::boLittle_Endian, CHECK, owl::TCkInfo::ckList, owl::TCkInfo::ckRiff, owl::TFile::cur, ffFindAny, ffFindChunk, ffFindList, ffFindRiff, ffReset, owl::TCkInfo::Flags, owl::TFile::IsOpen(), owl::TCkInfo::Offset, owl::TBufferedFile::Position(), owl::TFile::ReadStruct(), owl::TBufferedFile::Seek(), owl::TFile::SeekToBegin(), TFILE_ERROR, owl::varEnd, owl::varLONG, and WARNX.