HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FS_ReaderStream Class Reference

#include <FS_ReaderStream.h>

Public Member Functions

 FS_ReaderStream ()
 
 FS_ReaderStream (FS_ReaderStream &src, int64 stream_offset, int64 stream_size, int64 data_size, const FS_IStreamFilterFactory *factory)
 
 FS_ReaderStream (const UT_StringHolder &file, const UT_Options *options=nullptr)
 
 FS_ReaderStream (const char *data, int len, time_t modtime, const UT_StringHolder &file=UT_StringHolder())
 
 FS_ReaderStream (UT_WorkBuffer &buffer, time_t modtime, const UT_StringHolder &file=UT_StringHolder())
 
virtual ~FS_ReaderStream ()
 
virtual int64 getMemoryUsage (bool inclusive) const
 Get the amount of memory owned by this FS_ReaderStream. More...
 
UT_IStreamgetStream () const
 Returns the actual input stream to read the data from. More...
 
bool isGood () const
 
const UT_StringHoldergetFilename () const
 
int64 getLength () const
 
void setSubStreamReadFilterFactory (FS_IStreamFilterFactory *f)
 
FS_IStreamFilterFactorygetSubStreamReadFilterFactory () const
 
void setSubStreamWriteFilterFactory (FS_WriteFilterFactory *f)
 
FS_WriteFilterFactorygetSubStreamWriteFilterFactory () const
 
void setModTime (time_t modtime)
 
time_t getModTime () const
 

Protected Attributes

FS_IStreamFilterFactorymySubStreamReadFilterFactory
 
FS_WriteFilterFactorymySubStreamWriteFilterFactory
 
UT_UniquePtr< UT_IStreammyStream
 
UT_StringHolder myFile
 
int64 myDataSize
 
time_t myModTime
 
UT_WorkBuffer myMemBuffer
 

Detailed Description

Examples:
FS/FS_HomeHelper.C, and FS/FS_HomeHelper.h.

Definition at line 35 of file FS_ReaderStream.h.

Constructor & Destructor Documentation

FS_ReaderStream::FS_ReaderStream ( )
FS_ReaderStream::FS_ReaderStream ( FS_ReaderStream src,
int64  stream_offset,
int64  stream_size,
int64  data_size,
const FS_IStreamFilterFactory factory 
)
FS_ReaderStream::FS_ReaderStream ( const UT_StringHolder file,
const UT_Options options = nullptr 
)
FS_ReaderStream::FS_ReaderStream ( const char *  data,
int  len,
time_t  modtime,
const UT_StringHolder file = UT_StringHolder() 
)

Creates a memory buffer reader stream. Note, the reader stream object keeps a shallow reference to the data, thus the buffer needs to stay valid for the duration of the reader life span. Otherwise, use the constructor that takes UT_WorkBuffer.

FS_ReaderStream::FS_ReaderStream ( UT_WorkBuffer buffer,
time_t  modtime,
const UT_StringHolder file = UT_StringHolder() 
)
virtual FS_ReaderStream::~FS_ReaderStream ( )
virtual

Member Function Documentation

const UT_StringHolder& FS_ReaderStream::getFilename ( ) const
inline

Definition at line 84 of file FS_ReaderStream.h.

int64 FS_ReaderStream::getLength ( ) const
inline

Returns the size of the data (ie, after filtering the raw stream). If no filtering is performed, this is the same as raw stream size.

Definition at line 88 of file FS_ReaderStream.h.

virtual int64 FS_ReaderStream::getMemoryUsage ( bool  inclusive) const
virtual

Get the amount of memory owned by this FS_ReaderStream.

time_t FS_ReaderStream::getModTime ( ) const
inline

Accessor for modification time on the stream.

Definition at line 93 of file FS_ReaderStream.h.

UT_IStream* FS_ReaderStream::getStream ( ) const
inline

Returns the actual input stream to read the data from.

Definition at line 81 of file FS_ReaderStream.h.

FS_IStreamFilterFactory* FS_ReaderStream::getSubStreamReadFilterFactory ( ) const
FS_WriteFilterFactory* FS_ReaderStream::getSubStreamWriteFilterFactory ( ) const
bool FS_ReaderStream::isGood ( ) const
void FS_ReaderStream::setModTime ( time_t  modtime)
inline

Accessor for modification time on the stream.

Definition at line 92 of file FS_ReaderStream.h.

void FS_ReaderStream::setSubStreamReadFilterFactory ( FS_IStreamFilterFactory f)

Sets the factory that should be used for this stream's substreams (but not for the whole stream). It is a way to piggyback the filter info to potential substream readers.

void FS_ReaderStream::setSubStreamWriteFilterFactory ( FS_WriteFilterFactory f)

Member Data Documentation

int64 FS_ReaderStream::myDataSize
protected

Definition at line 119 of file FS_ReaderStream.h.

UT_StringHolder FS_ReaderStream::myFile
protected

Definition at line 118 of file FS_ReaderStream.h.

UT_WorkBuffer FS_ReaderStream::myMemBuffer
protected

Definition at line 121 of file FS_ReaderStream.h.

time_t FS_ReaderStream::myModTime
protected

Definition at line 120 of file FS_ReaderStream.h.

UT_UniquePtr<UT_IStream> FS_ReaderStream::myStream
protected

Definition at line 117 of file FS_ReaderStream.h.

FS_IStreamFilterFactory* FS_ReaderStream::mySubStreamReadFilterFactory
protected

Definition at line 114 of file FS_ReaderStream.h.

FS_WriteFilterFactory* FS_ReaderStream::mySubStreamWriteFilterFactory
protected

Definition at line 115 of file FS_ReaderStream.h.


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