#include <substream.h>
Public Member Functions | |
SafeMutexedSeekableSubReadStream (SeekableReadStream *parentStream, uint32 begin, uint32 end, DisposeAfterUse::Flag disposeParentStream, Common::Mutex &mutex) | |
uint32 | read (void *dataPtr, uint32 dataSize) override |
Public Member Functions inherited from Common::SafeSeekableSubReadStream | |
SafeSeekableSubReadStream (SeekableReadStream *parentStream, uint32 begin, uint32 end, DisposeAfterUse::Flag disposeParentStream=DisposeAfterUse::NO) | |
Public Member Functions inherited from Common::SeekableSubReadStream | |
SeekableSubReadStream (SeekableReadStream *parentStream, uint32 begin, uint32 end, DisposeAfterUse::Flag disposeParentStream=DisposeAfterUse::NO) | |
virtual int64 | pos () const |
virtual int64 | size () const |
virtual bool | seek (int64 offset, int whence=SEEK_SET) |
Public Member Functions inherited from Common::SubReadStream | |
SubReadStream (ReadStream *parentStream, uint32 end, DisposeAfterUse::Flag disposeParentStream=DisposeAfterUse::NO) | |
virtual bool | eos () const |
virtual bool | err () const |
virtual void | clearErr () |
Public Member Functions inherited from Common::ReadStream | |
byte | readByte () |
FORCEINLINE int8 | readSByte () |
uint16 | readUint16LE () |
uint32 | readUint32LE () |
uint64 | readUint64LE () |
uint16 | readUint16BE () |
uint32 | readUint32BE () |
uint64 | readUint64BE () |
FORCEINLINE int16 | readSint16LE () |
FORCEINLINE int32 | readSint32LE () |
FORCEINLINE int64 | readSint64LE () |
FORCEINLINE int16 | readSint16BE () |
FORCEINLINE int32 | readSint32BE () |
FORCEINLINE int64 | readSint64BE () |
FORCEINLINE float | readFloatLE () |
FORCEINLINE float | readFloatBE () |
FORCEINLINE double | readDoubleLE () |
FORCEINLINE double | readDoubleBE () |
template<class TDataFormat , class... T> | |
bool | readMultiple (const TDataFormat &dataFormat, T &...values) |
template<class... T> | |
bool | readMultipleEndian (bool isLittle, T &...values) |
template<class... T> | |
bool | readMultipleLE (T &...values) |
template<class... T> | |
bool | readMultipleBE (T &...values) |
SeekableReadStream * | readStream (uint32 dataSize) |
String | readString (char terminator=0, size_t len=String::npos) |
Common::String | readPascalString (bool transformCR=true) |
Public Member Functions inherited from Common::SeekableReadStream | |
virtual bool | skip (uint32 offset) |
virtual char * | readLine (char *s, size_t bufSize, bool handleCR=true) |
virtual String | readLine (bool handleCR=true) |
void | hexdump (int len, int bytesPerLine=16, int startOffset=0) |
Protected Attributes | |
Common::Mutex & | _mutex |
Protected Attributes inherited from Common::SeekableSubReadStream | |
SeekableReadStream * | _parentStream |
uint32 | _begin |
Protected Attributes inherited from Common::SubReadStream | |
DisposablePtr< ReadStream > | _parentStream |
uint32 | _pos |
uint32 | _end |
bool | _eos |
A special variant of SafeSeekableSubReadStream which locks a mutex during each read. This is necessary if the music is streamed from disk and it could happen that a sound effect or another music track is played from the same read stream while the first music track is updated/read.
|
overridevirtual |
Read data from the stream.
Subclasses must implement this method. All other read methods are implemented using it.
dataPtr | Pointer to a buffer into which the data is read. |
dataSize | Number of bytes to be read. |
Reimplemented from Common::SafeSeekableSubReadStream.