Main Page | Class Hierarchy | Class List | File List | Class Members

dbBlobIterator Class Reference

#include <blob.h>

Inheritance diagram for dbBlobIterator:

dbBlobReadIterator List of all members.

Public Member Functions

virtual size_t getAvailableSize ()=0
size_t getAvailableBufferSize ()
virtual void * mapBuffer ()=0
virtual void unmapBuffer (size_t proceeded)
virtual void close ()
 dbBlobIterator (dbDatabase &db, oid_t oid)
virtual ~dbBlobIterator ()

Protected Attributes

size_t size
offs_t pos
dbDatabasedb
oid_t oid
oid_t next
void * buf
bool closed

Detailed Description

Large binary object iterator. BLOB consist of several linked BLOB segments. BLOB iterator performs traversal through all thoses segments.


Constructor & Destructor Documentation

dbBlobIterator::dbBlobIterator dbDatabase db,
oid_t  oid
 

BLOB iterator constructor

Parameters:
db reference to the database
oid object identifier of BLOB

virtual dbBlobIterator::~dbBlobIterator  )  [virtual]
 

BLOB destructor


Member Function Documentation

virtual void dbBlobIterator::close  )  [virtual]
 

Close BLOB iterator

Reimplemented in dbBlobReadIterator.

size_t dbBlobIterator::getAvailableBufferSize  )  [inline]
 

Get size of available BLOB buffer. This method should be invoked after mapBuffer().

Returns:
number of bytes which can be directly written to the BLOB.

virtual size_t dbBlobIterator::getAvailableSize  )  [pure virtual]
 

Get size of sequential BLOB segment

Returns:
number of bytes which is available to read/write in current BLOB segment. If this method return 0, it means that end of BLOB is reached.

Implemented in dbBlobReadIterator.

virtual void* dbBlobIterator::mapBuffer  )  [pure virtual]
 

Map current BLOB buffer to the memory, allowing direct access (read or write) to the buffer

Returns:
pointer to the buffer

Implemented in dbBlobReadIterator.

virtual void dbBlobIterator::unmapBuffer size_t  proceeded  )  [virtual]
 

Release BLBO buffer

Parameters:
proceeded number of proceeded (read or write) bytes


The documentation for this class was generated from the following file:
Generated on Thu Feb 12 18:46:27 2004 for GigaBASE by doxygen 1.3.5