Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ObjectBuffer Class Reference

#include <cObjectBuffer.h>

Collaboration diagram for ObjectBuffer:

Collaboration graph
[legend]
List of all members.

Public Methods

 ObjectBuffer ()
 ~ObjectBuffer ()
bool Init (const enum LockingStrategy aLockingStrategy, const enum UpdatingStrategy anUpdateStrategy, const enum WaitingStrategy aWaitingStrategy)
ObjectIsInMemory (const class RefBase &DbPtr)
bool RegisterObject (const class RefBase &DbPtr, const class Object *const MemPtr)
bool RemoveObject (class Object *MemPtr, const class Connection *const DbCon)
bool RemoveObject (const class RefBase &DbPtr)
bool UpdateAll ()
bool UpdateAll (const class Connection *const DbC)
bool UpdateAll (const class Database *const DB)
bool RemoveAll ()
bool RemoveAll (const class Connection *const DbC)
bool RemoveAll (const class Database *const DB)
virtual enum UpdatingStrategy CurrentUpdatingStrategy () const
virtual bool SetUpdatingStrategy (enum UpdatingStrategy anUpdateStrategy)
virtual enum WaitingStrategy CurrentWaitingStrategy () const
virtual bool SetWaitingStrategy (enum WaitingStrategy aWaitingStrategy)
virtual enum LockingStrategy CurrentLockingStrategy () const
virtual bool SetLockingStrategy (enum LockingStrategy aLockingStrategy)
virtual enum ReadingStrategy CurrentReadingStrategy () const
virtual bool SetReadingStrategy (enum ReadingStrategy aReadingStrategy)
bool RemoveAllMemoryLocks ()
bool RemoveAllMemoryLocks (class Database &DB)
bool RemoveAllMemoryLocks (class Connection &DbConn)
ObjectGetReferencedObject (const class RefBase &DbPtr)

Protected Methods

unsigned long _GarbageCollector ()
unsigned int _Hash (const char *values) const
BufferItem_FindItem (const class RefBase &DbPtr)
bool _RemoveConnection (int ConHandle)
bool RemoveConnection (int ConHandle)
bool UpdateConnection (int ConHandle)
bool _RemoveAll ()
bool _RemoveAll (const class Connection *const DbC)
bool _RemoveAll (const class Database *const DB)

Protected Attributes

bool _Initialised
bool _ResetForUpdateFlags
unsigned long int _Requests
unsigned long int _Hits
unsigned short _Strategies
BufferItem_LastAccessedItem
BufferItem_Structure [MAX_CONNECTION][HASH_TABLE_SIZE]
unsigned long _ObjectsInBuffer

Friends

class Connection
class Database
class RefBase

Constructor & Destructor Documentation

ObjectBuffer::ObjectBuffer  
 

Definition at line 150 of file cObjectBuffer.cpp.

References DEFAULT_STRATEGIES, HASH_TABLE_SIZE, and MAX_CONNECTION.

ObjectBuffer::~ObjectBuffer  
 

Definition at line 173 of file cObjectBuffer.cpp.

References BufferItem::_Next, HASH_TABLE_SIZE, and MAX_CONNECTION.


Member Function Documentation

class BufferItem* ObjectBuffer::_FindItem const class RefBase   DbPtr [protected]
 

unsigned long ObjectBuffer::_GarbageCollector   [protected]
 

Definition at line 35 of file cObjectBuffer.cpp.

References Object::_FreeWasDone, BufferItem::_MemoryPointer, BufferItem::_Next, BufferItem::_RefBase, BufferItem::GetMemoryPointer(), HASH_TABLE_SIZE, MAX_CONNECTION, Object::MemoryLocked(), and Object::Update().

unsigned int ObjectBuffer::_Hash const char *    values const [protected]
 

Definition at line 85 of file cObjectBuffer.cpp.

References HASH_TABLE_SIZE.

bool ObjectBuffer::_RemoveAll const class Database *const    DB [protected]
 

bool ObjectBuffer::_RemoveAll const class Connection *const    DbC [protected]
 

Definition at line 659 of file cObjectBuffer.cpp.

bool ObjectBuffer::_RemoveAll   [protected]
 

Definition at line 678 of file cObjectBuffer.cpp.

References MAX_CONNECTION.

bool ObjectBuffer::_RemoveConnection int    ConHandle [protected]
 

Definition at line 623 of file cObjectBuffer.cpp.

References Object::_FreeWasDone, Object::_MarkAsClean(), BufferItem::_Next, BufferItem::_RefBase, BufferItem::GetMemoryPointer(), and HASH_TABLE_SIZE.

virtual enum LockingStrategy ObjectBuffer::CurrentLockingStrategy   const [inline, virtual]
 

Definition at line 124 of file cObjectBuffer.h.

References LockingStrategy, and LS_MASK.

virtual enum ReadingStrategy ObjectBuffer::CurrentReadingStrategy   const [inline, virtual]
 

Definition at line 129 of file cObjectBuffer.h.

References ReadingStrategy, and RS_MASK.

virtual enum UpdatingStrategy ObjectBuffer::CurrentUpdatingStrategy   const [inline, virtual]
 

Definition at line 113 of file cObjectBuffer.h.

References UpdatingStrategy, and US_MASK.

virtual enum WaitingStrategy ObjectBuffer::CurrentWaitingStrategy   const [inline, virtual]
 

Definition at line 119 of file cObjectBuffer.h.

References WaitingStrategy, and WS_MASK.

Object* ObjectBuffer::GetReferencedObject const class RefBase   DbPtr
 

bool ObjectBuffer::Init const enum LockingStrategy    aLockingStrategy,
const enum UpdatingStrategy    anUpdateStrategy,
const enum WaitingStrategy    aWaitingStrategy
 

Definition at line 199 of file cObjectBuffer.cpp.

References HASH_TABLE_SIZE, LockingStrategy, MAX_CONNECTION, UpdatingStrategy, and WaitingStrategy.

class Object* ObjectBuffer::IsInMemory const class RefBase   DbPtr
 

bool ObjectBuffer::RegisterObject const class RefBase   DbPtr,
const class Object *const    MemPtr
 

Definition at line 260 of file cObjectBuffer.cpp.

References BufferItem::_Next, and MAX_OBJECTS_IN_BUFFER.

bool ObjectBuffer::RemoveAll const class Database *const    DB
 

bool ObjectBuffer::RemoveAll const class Connection *const    DbC
 

bool ObjectBuffer::RemoveAll  
 

Definition at line 602 of file cObjectBuffer.cpp.

References MAX_CONNECTION.

bool ObjectBuffer::RemoveAllMemoryLocks class Connection   DbConn
 

Definition at line 766 of file cObjectBuffer.cpp.

References BufferItem::_MemoryPointer, BufferItem::_Next, and HASH_TABLE_SIZE.

bool ObjectBuffer::RemoveAllMemoryLocks class Database   DB
 

Definition at line 744 of file cObjectBuffer.cpp.

References MAX_CONNECTION_PER_DATABASE.

bool ObjectBuffer::RemoveAllMemoryLocks  
 

Definition at line 723 of file cObjectBuffer.cpp.

References Database::_AllConnections, and MAX_CONNECTION.

bool ObjectBuffer::RemoveConnection int    ConHandle [protected]
 

Definition at line 525 of file cObjectBuffer.cpp.

References Object::_FreeWasDone, BufferItem::_MemoryPointer, BufferItem::_Next, BufferItem::GetMemoryPointer(), HASH_TABLE_SIZE, Object::MemoryLocked(), and Object::Update().

bool ObjectBuffer::RemoveObject const class RefBase   DbPtr
 

Definition at line 367 of file cObjectBuffer.cpp.

References BufferItem::_MemoryPointer, BufferItem::_Next, BufferItem::GetRefBase(), and Object::MemoryLocked().

bool ObjectBuffer::RemoveObject class Object   MemPtr,
const class Connection *const    DbCon
 

Definition at line 296 of file cObjectBuffer.cpp.

References BufferItem::_MemoryPointer, BufferItem::_Next, BufferItem::GetMemoryPointer(), Object::MemoryLocked(), and StrFree().

bool ObjectBuffer::SetLockingStrategy enum LockingStrategy    aLockingStrategy [virtual]
 

Definition at line 877 of file cObjectBuffer.cpp.

References _Strategies, DEFAULT_LOCKING_STRATEGY, LockingStrategy, LS_Current, LS_Default, LS_Inherited, and LS_MASK.

bool ObjectBuffer::SetReadingStrategy enum ReadingStrategy    aReadingStrategy [virtual]
 

Definition at line 898 of file cObjectBuffer.cpp.

References _Strategies, DEFAULT_READING_STRATEGY, ReadingStrategy, RS_Current, RS_Default, RS_Inherited, and RS_MASK.

bool ObjectBuffer::SetUpdatingStrategy enum UpdatingStrategy    anUpdateStrategy [virtual]
 

Definition at line 835 of file cObjectBuffer.cpp.

References _Strategies, DEFAULT_UPDATING_STRATEGY, UpdatingStrategy, US_Current, US_Default, US_Inherited, and US_MASK.

bool ObjectBuffer::SetWaitingStrategy enum WaitingStrategy    aWaitingStrategy [virtual]
 

Definition at line 856 of file cObjectBuffer.cpp.

References _Strategies, DEFAULT_WAITING_STRATEGY, WaitingStrategy, WS_Current, WS_Default, WS_Inherited, and WS_MASK.

bool ObjectBuffer::UpdateAll const class Database *const    DB
 

bool ObjectBuffer::UpdateAll const class Connection *const    DbC
 

bool ObjectBuffer::UpdateAll  
 

Definition at line 464 of file cObjectBuffer.cpp.

References MAX_CONNECTION.

bool ObjectBuffer::UpdateConnection int    ConHandle [protected]
 

Definition at line 430 of file cObjectBuffer.cpp.

References Object::_ForUpdate, BufferItem::_Next, BufferItem::GetMemoryPointer(), HASH_TABLE_SIZE, and Object::Update().


Friends And Related Function Documentation

friend class Connection [friend]
 

Definition at line 31 of file cObjectBuffer.h.

friend class Database [friend]
 

Definition at line 32 of file cObjectBuffer.h.

friend class RefBase [friend]
 

Definition at line 33 of file cObjectBuffer.h.


Member Data Documentation

unsigned long int ObjectBuffer::_Hits [protected]
 

Definition at line 43 of file cObjectBuffer.h.

bool ObjectBuffer::_Initialised [protected]
 

Definition at line 36 of file cObjectBuffer.h.

class BufferItem* ObjectBuffer::_LastAccessedItem [protected]
 

Definition at line 46 of file cObjectBuffer.h.

unsigned long ObjectBuffer::_ObjectsInBuffer [protected]
 

Definition at line 48 of file cObjectBuffer.h.

unsigned long int ObjectBuffer::_Requests [protected]
 

Definition at line 41 of file cObjectBuffer.h.

bool ObjectBuffer::_ResetForUpdateFlags [protected]
 

Definition at line 37 of file cObjectBuffer.h.

unsigned short ObjectBuffer::_Strategies [protected]
 

Definition at line 45 of file cObjectBuffer.h.

Referenced by SetLockingStrategy(), SetReadingStrategy(), SetUpdatingStrategy(), and SetWaitingStrategy().

class BufferItem* ObjectBuffer::_Structure[MAX_CONNECTION][HASH_TABLE_SIZE] [protected]
 

Definition at line 47 of file cObjectBuffer.h.


The documentation for this class was generated from the following files:
Generated on Sun Jul 14 20:53:09 2002 for POLiTe by doxygen1.2.16