Public Member Functions | Static Public Member Functions | List of all members
Celartem::PartialStorage Class Referenceabstract

#include <cel_storage.h>

Inheritance diagram for Celartem::PartialStorage:
Inheritance graph
[legend]

Public Member Functions

virtual StoragegetBaseStorage ()=0
 
virtual uint64_t getOffset () const =0
 
virtual void offset (size_t inAdditionalOffset)=0
 
- Public Member Functions inherited from Celartem::Storage
virtual uint64_t getSize () const =0
 
virtual uint64_t getPos () const =0
 
virtual void reserve (uint64_t inReservationSize)=0
 
virtual void setPos (uint64_t inPosition)=0
 
virtual void setPosRelative (int64_t inPosition)=0
 
virtual void setPosFromEnd (int64_t inPosition)=0
 
virtual void setEof ()=0
 
virtual String getStorageId () const =0
 
virtual AutoPtr< Storageduplicate () const =0
 
virtual Time getLastUpdateTime () const =0
 
- Public Member Functions inherited from Celartem::Stream
virtual size_t readBytes (void *buffer, size_t inSize, bool wouldBlock=false)=0
 
virtual void writeBytes (const void *buffer, size_t inSize)=0
 
virtual void flushBuffer ()=0
 
virtual bool isEof () const =0
 
virtual size_t duplicateStream (Stream *inStream, size_t inBufferSize=1024, DuplicateStreamCallback inCallback=NULL, void *inCallbackContext=NULL)
 
virtual size_t duplicateStreamBytes (Stream *inStream, size_t inMaximumByteSize, size_t inBufferSize=1024, DuplicateStreamCallback inCallback=NULL, void *inCallbackContext=NULL)
 
- Public Member Functions inherited from Celartem::Referable
 Referable ()
 
void addRef () const
 
void releaseRef () const
 
size_t getReferenceCount () const
 
- Public Member Functions inherited from Celartem::Lockable
virtual void lock () const =0
 
virtual void unlock () const =0
 

Static Public Member Functions

static AutoPtr< PartialStoragecreate (Storage *inStorage, uint64_t inOffset, uint64_t inSize, bool inReadOnly)
 
- Static Public Member Functions inherited from Celartem::Storage
static AutoPtr< Storagecreate (const String &inUriOrFileName, bool inLateBinding=false, ResourceBroker *inBroker=NULL)
 
static AutoPtr< StoragecreateTempNoLock ()
 
- Static Public Member Functions inherited from Celartem::Referable
static void dumpDbgAllRefCount ()
 

Detailed Description

This class creates a virtual Storage based on a existing one. The created Storage cannot be expanded by writeBytes method.

See Also
storages

Member Function Documentation

static AutoPtr<PartialStorage> Celartem::PartialStorage::create ( Storage inStorage,
uint64_t  inOffset,
uint64_t  inSize,
bool  inReadOnly 
)
static

This method creates virtual Storage.

Parameters
inStorageA storage.
inOffsetOffset in bytes.
inSizeThe size in bytes.
inReadOnlytrue if the new storage should be readonly; otherwise false.
Returns
Pointer to the newly created storage.

Referenced by Celartem::DjVu::StorageData::getReadOnlyStorage().

virtual Storage* Celartem::PartialStorage::getBaseStorage ( )
pure virtual

Get underlying storage.
NOTE: Modification to the underlying instance may causes some inconsistency issues.

Returns
Underlying Storage instance.
virtual uint64_t Celartem::PartialStorage::getOffset ( ) const
pure virtual

Get the offset on the underlying storage instance.

Returns
Offset on the underlying storage instance.
virtual void Celartem::PartialStorage::offset ( size_t  inAdditionalOffset)
pure virtual

Additionally offset the storage.
This method also conditions the current position according to the offset change.

Parameters
inAdditionalOffsetAdditional offset.

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

Cuminas DjVu SDK 3.0.33103
This document is made with doxygen 1.8.5 at Sun Dec 15 2013 19:38:06.
Cuminas Logo