LibreOffice Module writerperfect (master) 1
Public Member Functions | Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
writerperfect::WPXSvInputStreamImpl Class Reference

Public Member Functions

 WPXSvInputStreamImpl (css::uno::Reference< css::io::XInputStream > const &xStream)
 
bool isStructured ()
 
unsigned subStreamCount ()
 
const char * subStreamName (unsigned id)
 
bool existsSubStream (const char *name)
 
librevenge::RVNGInputStream * getSubStreamByName (const char *name)
 
librevenge::RVNGInputStream * getSubStreamById (unsigned id)
 
const unsigned char * read (unsigned long numBytes, unsigned long &numBytesRead)
 
int seek (tools::Long offset)
 
tools::Long tell ()
 
bool isEnd ()
 
void invalidateReadBuffer ()
 

Public Attributes

sal_Int64 mnLength
 
const unsigned char * mpReadBuffer
 
unsigned long mnReadBufferLength
 
unsigned long mnReadBufferPos
 

Private Member Functions

bool isOLE ()
 
void ensureOLEIsInitialized ()
 
bool isZip ()
 
void ensureZipIsInitialized ()
 

Static Private Member Functions

static librevenge::RVNGInputStream * createWPXStream (const tools::SvRef< SotStorageStream > &rxStorage)
 
static librevenge::RVNGInputStream * createWPXStream (const Reference< XInputStream > &rxStream)
 

Private Attributes

css::uno::Reference< css::io::XInputStream > mxStream
 
css::uno::Reference< css::io::XSeekable > mxSeekable
 
css::uno::Sequence< sal_Int8maData
 
std::unique_ptr< OLEStorageImpl > mpOLEStorage
 
std::unique_ptr< ZipStorageImpl > mpZipStorage
 
bool mbCheckedOLE
 
bool mbCheckedZip
 

Detailed Description

Definition at line 398 of file WPXSvInputStream.cxx.

Constructor & Destructor Documentation

◆ WPXSvInputStreamImpl()

writerperfect::WPXSvInputStreamImpl::WPXSvInputStreamImpl ( css::uno::Reference< css::io::XInputStream > const &  xStream)
explicit

Definition at line 444 of file WPXSvInputStream.cxx.

References maData, mnLength, mxSeekable, mxStream, SAL_WARN, and xStream.

Member Function Documentation

◆ createWPXStream() [1/2]

librevenge::RVNGInputStream * writerperfect::WPXSvInputStreamImpl::createWPXStream ( const Reference< XInputStream > &  rxStream)
staticprivate

Definition at line 740 of file WPXSvInputStream.cxx.

◆ createWPXStream() [2/2]

librevenge::RVNGInputStream * writerperfect::WPXSvInputStreamImpl::createWPXStream ( const tools::SvRef< SotStorageStream > &  rxStorage)
staticprivate

◆ ensureOLEIsInitialized()

void writerperfect::WPXSvInputStreamImpl::ensureOLEIsInitialized ( )
private

◆ ensureZipIsInitialized()

void writerperfect::WPXSvInputStreamImpl::ensureZipIsInitialized ( )
private

◆ existsSubStream()

bool writerperfect::WPXSvInputStreamImpl::existsSubStream ( const char *  name)

◆ getSubStreamById()

librevenge::RVNGInputStream * writerperfect::WPXSvInputStreamImpl::getSubStreamById ( unsigned  id)

◆ getSubStreamByName()

librevenge::RVNGInputStream * writerperfect::WPXSvInputStreamImpl::getSubStreamByName ( const char *  name)

◆ invalidateReadBuffer()

void writerperfect::WPXSvInputStreamImpl::invalidateReadBuffer ( )

Definition at line 716 of file WPXSvInputStream.cxx.

References mnReadBufferLength, mnReadBufferPos, mpReadBuffer, seek(), and tell().

◆ isEnd()

bool writerperfect::WPXSvInputStreamImpl::isEnd ( )

Definition at line 526 of file WPXSvInputStream.cxx.

References mnLength, mxSeekable, and mxStream.

Referenced by read().

◆ isOLE()

bool writerperfect::WPXSvInputStreamImpl::isOLE ( )
private

◆ isStructured()

bool writerperfect::WPXSvInputStreamImpl::isStructured ( )

Definition at line 533 of file WPXSvInputStream.cxx.

References isOLE(), isZip(), mnLength, mxSeekable, mxStream, and pos.

◆ isZip()

bool writerperfect::WPXSvInputStreamImpl::isZip ( )
private

◆ read()

const unsigned char * writerperfect::WPXSvInputStreamImpl::read ( unsigned long  numBytes,
unsigned long &  numBytesRead 
)

Definition at line 478 of file WPXSvInputStream.cxx.

References isEnd(), maData, and mxStream.

◆ seek()

int writerperfect::WPXSvInputStreamImpl::seek ( tools::Long  offset)

Definition at line 505 of file WPXSvInputStream.cxx.

References LONG_MAX, mnLength, mxSeekable, mxStream, and SAL_WARN.

Referenced by invalidateReadBuffer().

◆ subStreamCount()

unsigned writerperfect::WPXSvInputStreamImpl::subStreamCount ( )

◆ subStreamName()

const char * writerperfect::WPXSvInputStreamImpl::subStreamName ( unsigned  id)

◆ tell()

tools::Long writerperfect::WPXSvInputStreamImpl::tell ( )

Definition at line 492 of file WPXSvInputStream.cxx.

References LONG_MAX, mnLength, mxSeekable, and mxStream.

Referenced by invalidateReadBuffer().

Member Data Documentation

◆ maData

css::uno::Sequence<sal_Int8> writerperfect::WPXSvInputStreamImpl::maData
private

Definition at line 431 of file WPXSvInputStream.cxx.

Referenced by read().

◆ mbCheckedOLE

bool writerperfect::WPXSvInputStreamImpl::mbCheckedOLE
private

Definition at line 434 of file WPXSvInputStream.cxx.

Referenced by isOLE().

◆ mbCheckedZip

bool writerperfect::WPXSvInputStreamImpl::mbCheckedZip
private

Definition at line 435 of file WPXSvInputStream.cxx.

Referenced by isZip().

◆ mnLength

sal_Int64 writerperfect::WPXSvInputStreamImpl::mnLength

◆ mnReadBufferLength

unsigned long writerperfect::WPXSvInputStreamImpl::mnReadBufferLength

Definition at line 440 of file WPXSvInputStream.cxx.

Referenced by invalidateReadBuffer().

◆ mnReadBufferPos

unsigned long writerperfect::WPXSvInputStreamImpl::mnReadBufferPos

Definition at line 441 of file WPXSvInputStream.cxx.

Referenced by invalidateReadBuffer().

◆ mpOLEStorage

std::unique_ptr<OLEStorageImpl> writerperfect::WPXSvInputStreamImpl::mpOLEStorage
private

◆ mpReadBuffer

const unsigned char* writerperfect::WPXSvInputStreamImpl::mpReadBuffer

Definition at line 439 of file WPXSvInputStream.cxx.

Referenced by invalidateReadBuffer().

◆ mpZipStorage

std::unique_ptr<ZipStorageImpl> writerperfect::WPXSvInputStreamImpl::mpZipStorage
private

◆ mxSeekable

css::uno::Reference<css::io::XSeekable> writerperfect::WPXSvInputStreamImpl::mxSeekable
private

◆ mxStream

css::uno::Reference<css::io::XInputStream> writerperfect::WPXSvInputStreamImpl::mxStream
private

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