LibreOffice Module oox (master) 1
|
Wraps a StreamDataSequence and provides convenient access functions. More...
#include <binaryinputstream.hxx>
Public Member Functions | |
SequenceInputStream (const StreamDataSequence &rData) | |
Constructs the wrapper object for the passed data sequence. More... | |
virtual sal_Int32 | readData (StreamDataSequence &orData, sal_Int32 nBytes, size_t nAtomSize=1) override |
Reads nBytes bytes to the passed sequence. More... | |
virtual sal_Int32 | readMemory (void *opMem, sal_Int32 nBytes, size_t nAtomSize=1) override |
Reads nBytes bytes to the (existing) buffer opMem. More... | |
virtual void | skip (sal_Int32 nBytes, size_t nAtomSize=1) override |
Seeks the stream forward by the passed number of bytes. More... | |
Public Member Functions inherited from oox::SequenceSeekableStream | |
virtual sal_Int64 | size () const override |
Returns the size of the wrapped data sequence. More... | |
virtual sal_Int64 | tell () const override |
Returns the current stream position. More... | |
virtual void | seek (sal_Int64 nPos) override |
Seeks the stream to the passed position. More... | |
virtual void | close () override |
Releases the reference to the data sequence. More... | |
Public Member Functions inherited from oox::BinaryStreamBase | |
virtual | ~BinaryStreamBase () |
virtual sal_Int64 | size () const =0 |
Implementations return the size of the stream, if possible. More... | |
virtual sal_Int64 | tell () const =0 |
Implementations return the current stream position, if possible. More... | |
virtual void | seek (sal_Int64 nPos)=0 |
Implementations seek the stream to the passed position, if the stream is seekable. More... | |
virtual void | close ()=0 |
Implementations close the stream. More... | |
bool | isSeekable () const |
Returns true, if the implementation supports the seek() operation. More... | |
bool | isEof () const |
Returns true, if the stream position is invalid (EOF). More... | |
sal_Int64 | getRemaining () const |
Returns the size of the remaining data available in the stream, if stream supports size() and tell(), otherwise -1. More... | |
void | seekToStart () |
Seeks the stream to the beginning, if stream is seekable. More... | |
void | alignToBlock (sal_Int32 nBlockSize, sal_Int64 nAnchorPos) |
Seeks the stream forward to a position that is a multiple of the passed block size, if stream is seekable. More... | |
Public Member Functions inherited from oox::BinaryInputStream | |
virtual sal_Int32 | readData (StreamDataSequence &orData, sal_Int32 nBytes, size_t nAtomSize=1)=0 |
Derived classes implement reading nBytes bytes to the passed sequence. More... | |
virtual sal_Int32 | readMemory (void *opMem, sal_Int32 nBytes, size_t nAtomSize=1)=0 |
Derived classes implement reading nBytes bytes to the (preallocated!) memory buffer opMem. More... | |
virtual void | skip (sal_Int32 nBytes, size_t nAtomSize=1)=0 |
Derived classes implement seeking the stream forward by the passed number of bytes. More... | |
template<typename Type > | |
Type | readValue () |
Reads a value from the stream and converts it to platform byte order. More... | |
sal_Int8 | readInt8 () |
sal_uInt8 | readuInt8 () |
sal_Int16 | readInt16 () |
sal_uInt16 | readuInt16 () |
sal_Int32 | readInt32 () |
sal_uInt32 | readuInt32 () |
sal_Int64 | readInt64 () |
float | readFloat () |
double | readDouble () |
unsigned char | readuChar () |
template<typename Type > | |
sal_Int32 | readArray (Type *opnArray, sal_Int32 nElemCount) |
Reads a (preallocated!) C array of values from the stream. More... | |
template<typename Type > | |
sal_Int32 | readArray (::std::vector< Type > &orVector, sal_Int32 nElemCount) |
Reads a vector of values from the stream. More... | |
OUString | readNulUnicodeArray () |
Reads a NUL-terminated Unicode character array and returns the string. More... | |
OString | readCharArray (sal_Int32 nChars) |
Reads a byte character array and returns the string. More... | |
OUString | readCharArrayUC (sal_Int32 nChars, rtl_TextEncoding eTextEnc) |
Reads a byte character array and returns a Unicode string. More... | |
OUString | readUnicodeArray (sal_Int32 nChars) |
Reads a Unicode character array and returns the string. More... | |
OUString | readCompressedUnicodeArray (sal_Int32 nChars, bool bCompressed) |
Reads a Unicode character array (may be compressed) and returns the string. More... | |
void | copyToStream (BinaryOutputStream &rOutStrm) |
Copies bytes from the current position to the passed output stream. More... | |
Private Member Functions | |
sal_Int32 | getMaxBytes (sal_Int32 nBytes) const |
Returns the number of bytes available in the sequence for the passed byte count. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from oox::SequenceSeekableStream | |
SequenceSeekableStream (const StreamDataSequence &rData) | |
Protected Member Functions inherited from oox::BinaryStreamBase | |
BinaryStreamBase (bool bSeekable) | |
Protected Member Functions inherited from oox::BinaryInputStream | |
BinaryInputStream () | |
This dummy default c'tor will never call the c'tor of the virtual base class BinaryStreamBase as this class cannot be instantiated directly. More... | |
Protected Attributes inherited from oox::SequenceSeekableStream | |
const StreamDataSequence * | mpData |
Wrapped data sequence. More... | |
sal_Int32 | mnPos |
Current position in the sequence. More... | |
Protected Attributes inherited from oox::BinaryStreamBase | |
bool | mbEof |
End of stream flag. More... | |
Wraps a StreamDataSequence and provides convenient access functions.
The binary data in the stream is assumed to be in little-endian format.
Definition at line 284 of file binaryinputstream.hxx.
|
explicit |
Constructs the wrapper object for the passed data sequence.
Definition at line 201 of file binaryinputstream.cxx.
|
inlineprivate |
Returns the number of bytes available in the sequence for the passed byte count.
Definition at line 310 of file binaryinputstream.hxx.
Referenced by readData(), readMemory(), and skip().
|
overridevirtual |
Reads nBytes bytes to the passed sequence.
Implements oox::BinaryInputStream.
Definition at line 207 of file binaryinputstream.cxx.
References getMaxBytes(), oox::BinaryStreamBase::mbEof, oox::SequenceSeekableStream::mnPos, and oox::SequenceSeekableStream::mpData.
|
overridevirtual |
Reads nBytes bytes to the (existing) buffer opMem.
Implements oox::BinaryInputStream.
Definition at line 222 of file binaryinputstream.cxx.
References getMaxBytes(), oox::BinaryStreamBase::mbEof, oox::SequenceSeekableStream::mnPos, and oox::SequenceSeekableStream::mpData.
|
overridevirtual |
Seeks the stream forward by the passed number of bytes.
This works for non-seekable streams too.
Implements oox::BinaryInputStream.
Definition at line 236 of file binaryinputstream.cxx.
References getMaxBytes(), oox::BinaryStreamBase::mbEof, and oox::SequenceSeekableStream::mnPos.