LibreOffice Module tools (master) 1
|
#include <stream.hxx>
Public Member Functions | |
SvMemoryStream (void *pBuf, std::size_t nSize, StreamMode eMode) | |
SvMemoryStream (std::size_t nInitSize=512, std::size_t nResize=64) | |
virtual | ~SvMemoryStream () override |
virtual void | ResetError () override |
sal_uInt64 | GetSize () |
std::size_t | GetEndOfData () const |
const void * | GetData () |
void * | SwitchBuffer () |
void | SetBuffer (void *pBuf, std::size_t nSize, std::size_t nEOF) |
void | ObjectOwnsMemory (bool bOwn) |
void | MakeReadOnly () |
Makes the stream read-only after it was (possibly) initially writable, without having to copy the data or change buffers. More... | |
void | SetResizeOffset (std::size_t nNewResize) |
virtual sal_uInt64 | TellEnd () override |
Public Member Functions inherited from SvStream | |
SvStream () | |
SvStream (SvLockBytes *pLockBytes) | |
virtual | ~SvStream () |
SvLockBytes * | GetLockBytes () const |
ErrCode | GetError () const |
ErrCode const & | GetErrorCode () const |
void | SetError (ErrCode nErrorCode) |
virtual void | ResetError () |
void | SetEndian (SvStreamEndian SvStreamEndian) |
SvStreamEndian | GetEndian () const |
bool | IsEndianSwap () const |
returns status of endian swap flag More... | |
void | SetCompressMode (SvStreamCompressFlags nNewMode) |
SvStreamCompressFlags | GetCompressMode () const |
void | SetCryptMaskKey (const OString &rCryptMaskKey) |
void | SetStreamCharSet (rtl_TextEncoding eCharSet) |
rtl_TextEncoding | GetStreamCharSet () const |
void | SetLineDelimiter (LineEnd eLineEnd) |
LineEnd | GetLineDelimiter () const |
SvStream & | ReadUInt16 (sal_uInt16 &rUInt16) |
SvStream & | ReadUInt32 (sal_uInt32 &rUInt32) |
SvStream & | ReadUInt64 (sal_uInt64 &rUInt64) |
SvStream & | ReadInt16 (sal_Int16 &rInt16) |
SvStream & | ReadInt32 (sal_Int32 &rInt32) |
SvStream & | ReadInt64 (sal_Int64 &rInt64) |
SvStream & | ReadSChar (signed char &rChar) |
SvStream & | ReadChar (char &rChar) |
SvStream & | ReadUChar (unsigned char &rChar) |
SvStream & | ReadUtf16 (sal_Unicode &rUtf16) |
SvStream & | ReadCharAsBool (bool &rBool) |
SvStream & | ReadFloat (float &rFloat) |
SvStream & | ReadDouble (double &rDouble) |
SvStream & | ReadStream (SvStream &rStream) |
SvStream & | WriteUInt16 (sal_uInt16 nUInt16) |
SvStream & | WriteUInt32 (sal_uInt32 nUInt32) |
SvStream & | WriteUInt64 (sal_uInt64 nuInt64) |
SvStream & | WriteInt16 (sal_Int16 nInt16) |
SvStream & | WriteInt32 (sal_Int32 nInt32) |
SvStream & | WriteInt64 (sal_Int64 nInt64) |
SvStream & | WriteUInt8 (sal_uInt8 nuInt8) |
SvStream & | WriteUnicode (sal_Unicode) |
SvStream & | WriteOString (std::string_view rStr) |
SvStream & | WriteStream (SvStream &rStream) |
sal_uInt64 | WriteStream (SvStream &rStream, sal_uInt64 nSize) |
SvStream & | WriteBool (bool b) |
SvStream & | WriteSChar (signed char nChar) |
SvStream & | WriteChar (char nChar) |
SvStream & | WriteUChar (unsigned char nChar) |
SvStream & | WriteFloat (float nFloat) |
SvStream & | WriteDouble (const double &rDouble) |
template<typename N > | |
SvStream & | WriteNumberAsString (N n) |
std::size_t | ReadBytes (void *pData, std::size_t nSize) |
std::size_t | WriteBytes (const void *pData, std::size_t nSize) |
sal_uInt64 | Seek (sal_uInt64 nPos) |
sal_uInt64 | SeekRel (sal_Int64 nPos) |
sal_uInt64 | Tell () const |
virtual sal_uInt64 | TellEnd () |
sal_uInt64 | remainingSize () |
void | FlushBuffer () |
If we have data in our internal buffers, write them out. More... | |
void | Flush () |
Call FlushBuffer() and then call flush on the underlying OS stream. More... | |
bool | SetStreamSize (sal_uInt64 nSize) |
bool | ReadLine (OStringBuffer &rStr, sal_Int32 nMaxBytesToRead=0xFFFE) |
Read a line of bytes. More... | |
bool | ReadLine (OString &rStr, sal_Int32 nMaxBytesToRead=0xFFFE) |
bool | WriteLine (std::string_view rStr) |
bool | ReadByteStringLine (OUString &rStr, rtl_TextEncoding eSrcCharSet, sal_Int32 nMaxBytesToRead=0xFFFE) |
Read a line of bytes. More... | |
bool | WriteByteStringLine (std::u16string_view rStr, rtl_TextEncoding eDestCharSet) |
void | StartWritingUnicodeText () |
Switch to no endian swapping and write 0xfeff. More... | |
void | StartReadingUnicodeText (rtl_TextEncoding eReadBomCharSet) |
If eReadBomCharSet==RTL_TEXTENCODING_DONTKNOW: read 16bit, if 0xfeff do nothing (UTF-16), if 0xfffe switch endian swapping (UTF-16), if 0xefbb or 0xbbef read another byte and check for UTF-8. More... | |
SAL_DLLPRIVATE bool | ReadUniStringLine (OUString &rStr, sal_Int32 nMaxCodepointsToRead) |
Read a line of Unicode. More... | |
OUString | ReadUniOrByteString (rtl_TextEncoding eSrcCharSet) |
Read a 32bit length prefixed sequence of utf-16 if eSrcCharSet==RTL_TEXTENCODING_UNICODE, otherwise read a 16bit length prefixed sequence of bytes and convert from eSrcCharSet. More... | |
SvStream & | WriteUniOrByteString (std::u16string_view rStr, rtl_TextEncoding eDestCharSet) |
Write a 32bit length prefixed sequence of utf-16 if eSrcCharSet==RTL_TEXTENCODING_UNICODE, otherwise convert to eSrcCharSet and write a 16bit length prefixed sequence of bytes. More... | |
bool | ReadUniOrByteStringLine (OUString &rStr, rtl_TextEncoding eSrcCharSet, sal_Int32 nMaxCodepointsToRead=0xFFFE) |
Read a line of Unicode if eSrcCharSet==RTL_TEXTENCODING_UNICODE, otherwise read a line of Bytecode and convert from eSrcCharSet. More... | |
bool | WriteUnicodeOrByteText (std::u16string_view rStr, rtl_TextEncoding eDestCharSet) |
Write a sequence of Unicode characters if eDestCharSet==RTL_TEXTENCODING_UNICODE, otherwise write a sequence of Bytecodes converted to eDestCharSet. More... | |
bool | WriteUnicodeOrByteText (std::u16string_view rStr) |
bool | WriteUniOrByteChar (sal_Unicode ch, rtl_TextEncoding eDestCharSet) |
Write a Unicode character if eDestCharSet==RTL_TEXTENCODING_UNICODE, otherwise write as Bytecode converted to eDestCharSet. More... | |
bool | WriteUniOrByteChar (sal_Unicode ch) |
void | SetBufferSize (sal_uInt16 m_nBufSize) |
sal_uInt16 | GetBufferSize () const |
void | RefreshBuffer () |
bool | IsWritable () const |
StreamMode | GetStreamMode () const |
sal_Int32 | GetVersion () const |
void | SetVersion (sal_Int32 n) |
bool | eof () const |
end of input seen during previous i/o operation More... | |
bool | bad () const |
stream is broken More... | |
bool | good () const |
Get state. More... | |
Protected Member Functions | |
virtual std::size_t | GetData (void *pData, std::size_t nSize) override |
virtual std::size_t | PutData (const void *pData, std::size_t nSize) override |
virtual sal_uInt64 | SeekPos (sal_uInt64 nPos) override |
virtual void | SetSize (sal_uInt64 nSize) override |
virtual void | FlushData () override |
void | AllocateMemory (std::size_t nSize) |
AllocateMemory must update pBuf accordingly. More... | |
bool | ReAllocateMemory (tools::Long nDiff) |
ReAllocateMemory must update the following variables: More... | |
void | FreeMemory () |
Is called when this stream allocated the buffer or the buffer is resized. More... | |
Protected Member Functions inherited from SvStream | |
virtual std::size_t | GetData (void *pData, std::size_t nSize) |
virtual std::size_t | PutData (const void *pData, std::size_t nSize) |
virtual sal_uInt64 | SeekPos (sal_uInt64 nPos) |
virtual void | FlushData () |
virtual void | SetSize (sal_uInt64 nSize) |
SAL_DLLPRIVATE void | ClearError () |
SAL_DLLPRIVATE void | ClearBuffer () |
SAL_DLLPRIVATE std::size_t | CryptAndWriteBuffer (const void *pStart, std::size_t nLen) |
Encrypt and write. More... | |
SAL_DLLPRIVATE void | EncryptBuffer (void *pStart, std::size_t nLen) const |
Protected Attributes | |
std::size_t | nSize |
std::size_t | nResize |
std::size_t | nPos |
std::size_t | nEndOfData |
sal_uInt8 * | pBuf |
bool | bOwnsData |
Protected Attributes inherited from SvStream | |
sal_uInt64 | m_nBufFilePos |
File position of pBuf[0]. More... | |
StreamMode | m_eStreamMode |
bool | m_isWritable |
Private Member Functions | |
SvMemoryStream (const SvMemoryStream &)=delete | |
SvMemoryStream & | operator= (const SvMemoryStream &)=delete |
Definition at line 625 of file stream.hxx.
|
privatedelete |
SvMemoryStream::SvMemoryStream | ( | void * | pBuf, |
std::size_t | nSize, | ||
StreamMode | eMode | ||
) |
Definition at line 1501 of file stream.cxx.
References bOwnsData, eMode, SvStream::m_isWritable, nEndOfData, nPos, nResize, nSize, pBuf, SvStream::SetBufferSize(), and WRITE.
SvMemoryStream::SvMemoryStream | ( | std::size_t | nInitSize = 512 , |
std::size_t | nResize = 64 |
||
) |
Definition at line 1517 of file stream.cxx.
References AllocateMemory(), bOwnsData, SvStream::m_isWritable, nEndOfData, nPos, nResize, nSize, pBuf, and SvStream::SetBufferSize().
|
overridevirtual |
Definition at line 1533 of file stream.cxx.
References bOwnsData, SvStream::FlushBuffer(), FreeMemory(), and pBuf.
|
protected |
AllocateMemory must update pBuf accordingly.
Definition at line 1680 of file stream.cxx.
References pBuf.
Referenced by SvMemoryStream(), and SwitchBuffer().
|
overrideprotectedvirtual |
Reimplemented from SvStream.
Definition at line 1671 of file stream.cxx.
|
protected |
Is called when this stream allocated the buffer or the buffer is resized.
FreeMemory may need to NULLify handles in derived classes.
Definition at line 1736 of file stream.cxx.
References bOwnsData, and pBuf.
Referenced by ReAllocateMemory(), SetBuffer(), and ~SvMemoryStream().
|
inline |
Definition at line 669 of file stream.hxx.
|
overrideprotectedvirtual |
Reimplemented from SvStream.
Definition at line 1565 of file stream.cxx.
References nCount, nEndOfData, nPos, pBuf, and pData.
|
inline |
Definition at line 668 of file stream.hxx.
|
inline |
Definition at line 667 of file stream.hxx.
void SvMemoryStream::MakeReadOnly | ( | ) |
Makes the stream read-only after it was (possibly) initially writable, without having to copy the data or change buffers.
Definition at line 1781 of file stream.cxx.
References SvStream::FlushBuffer(), SvStream::m_isWritable, nResize, and SvStream::SetBufferSize().
|
inline |
Definition at line 676 of file stream.hxx.
|
privatedelete |
|
overrideprotectedvirtual |
Reimplemented from SvStream.
Definition at line 1578 of file stream.cxx.
References SvStream::GetError(), nCount, nEndOfData, nPos, nResize, nSize, pBuf, pData, ReAllocateMemory(), SvStream::SetError(), SVSTREAM_OUTOFMEMORY, and SVSTREAM_WRITE_ERROR.
|
protected |
ReAllocateMemory must update the following variables:
Definition at line 1686 of file stream.cxx.
References bOwnsData, FreeMemory(), SvStream::m_isWritable, nEndOfData, nPos, nSize, and pBuf.
|
overridevirtual |
Reimplemented from SvStream.
Definition at line 1675 of file stream.cxx.
References SvStream::ClearError().
Referenced by SetBuffer(), and SwitchBuffer().
|
overrideprotectedvirtual |
Reimplemented from SvStream.
Definition at line 1633 of file stream.cxx.
References nEndOfData, nPos, nResize, nSize, ReAllocateMemory(), SAL_MAX_UINT32, and STREAM_SEEK_TO_END.
void SvMemoryStream::SetBuffer | ( | void * | pBuf, |
std::size_t | nSize, | ||
std::size_t | nEOF | ||
) |
Definition at line 1544 of file stream.cxx.
References bOwnsData, FreeMemory(), nCount, nEndOfData, nPos, nResize, nSize, pBuf, ResetError(), SvStream::Seek(), and SvStream::SetBufferSize().
|
inline |
Definition at line 681 of file stream.hxx.
|
overrideprotectedvirtual |
Reimplemented from SvStream.
Definition at line 1769 of file stream.cxx.
References SvStream::m_isWritable, nSize, ReAllocateMemory(), SvStream::SetError(), and SVSTREAM_INVALID_HANDLE.
void * SvMemoryStream::SwitchBuffer | ( | ) |
Definition at line 1746 of file stream.cxx.
References AllocateMemory(), bOwnsData, SvStream::FlushBuffer(), nEndOfData, nPos, nResize, nSize, pBuf, ResetError(), SvStream::Seek(), SvStream::SetBufferSize(), and STREAM_SEEK_TO_BEGIN.
|
inlineoverridevirtual |
Reimplemented from SvStream.
Definition at line 682 of file stream.hxx.
|
protected |
Definition at line 636 of file stream.hxx.
Referenced by FreeMemory(), ReAllocateMemory(), SetBuffer(), SvMemoryStream(), SwitchBuffer(), and ~SvMemoryStream().
|
protected |
Definition at line 634 of file stream.hxx.
Referenced by GetData(), PutData(), ReAllocateMemory(), SeekPos(), SetBuffer(), SvMemoryStream(), and SwitchBuffer().
|
protected |
Definition at line 633 of file stream.hxx.
Referenced by GetData(), PutData(), ReAllocateMemory(), SeekPos(), SetBuffer(), SvMemoryStream(), and SwitchBuffer().
|
protected |
Definition at line 632 of file stream.hxx.
Referenced by MakeReadOnly(), PutData(), SeekPos(), SetBuffer(), SvMemoryStream(), and SwitchBuffer().
|
protected |
Definition at line 631 of file stream.hxx.
Referenced by PutData(), ReAllocateMemory(), SeekPos(), SetBuffer(), SetSize(), SvMemoryStream(), and SwitchBuffer().
|
protected |
Definition at line 635 of file stream.hxx.
Referenced by AllocateMemory(), FreeMemory(), GetData(), PutData(), ReAllocateMemory(), SetBuffer(), SvMemoryStream(), SwitchBuffer(), and ~SvMemoryStream().