OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
owl::TRiffFile Class Reference

The TRiffFile class is used for reading and writing RIFF files. More...

#include <owl/file.h>

Inheritance diagram for owl::TRiffFile:
owl::TBufferedFile owl::TFile

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 TFileHandleGetHandle () 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 TCHARreadString (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
uint8FileBuffer
 Buffer used to store data in.
 
bool ShouldDelete
 True if the buffer should be deleted.
 
uint FileBufSize
 Size of FileBuffer in bytes.
 
uint8CurByte
 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
TFileHandleHandle
 Low-level C file handle.
 
bool ShouldClose
 Should C++ object close file on dtor.
 
uint8Buffer
 Buffer used with structure read/write.
 
uint BufSize
 Size of Buffer used with structure read/write.
 

Detailed Description

The TRiffFile class is used for reading and writing RIFF files.

Definition at line 563 of file file.h.

Member Enumeration Documentation

◆ TCreateFlags

Enumerator
cfCreateChunk 
cfCreateList 
cfCreateRiff 

Definition at line 572 of file file.h.

◆ TFindFlags

Enumerator
ffReset 
ffFindAny 
ffFindChunk 
ffFindList 
ffFindRiff 

Definition at line 565 of file file.h.

Constructor & Destructor Documentation

◆ TRiffFile() [1/4]

owl::TRiffFile::TRiffFile ( )
inline

Default constructor.

Creates a TRiffFile object with a file handle of FileNull and allocated a buffer of DefaultBufferSize bytes.

Definition at line 1230 of file file.h.

◆ TRiffFile() [2/4]

owl::TRiffFile::TRiffFile ( const TRiffFile & file)
inline

Definition at line 1240 of file file.h.

◆ TRiffFile() [3/4]

owl::TRiffFile::TRiffFile ( TFileHandle * handle,
bool shouldClose )
inline

Definition at line 1244 of file file.h.

◆ TRiffFile() [4/4]

owl::TRiffFile::TRiffFile ( const tstring & fileName,
const uint32 acess = ReadOnly|PermRead|OpenExisting )
inline

Creates a TRiffFile object with a filename name and opens the file with mode mode.

Definition at line 1236 of file file.h.

Member Function Documentation

◆ Ascent()

◆ CreateChunk()

bool owl::TRiffFile::CreateChunk ( TCkInfo & info,
const TCreateFlags type = cfCreateChunk )

◆ Descent()


The documentation for this class was generated from the following files: