#include <OW_HDB.hpp>
Collaboration diagram for OW_NAMESPACE::HDB:
Public Types | |
typedef bool HDB::* | safe_bool |
Public Member Functions | |
HDB () | |
Create a new HDB object. | |
~HDB () | |
Destroy this HDB object. | |
void | open (const char *fileName) |
Open this HDB object up for business. | |
void | close () |
Close this HDB object. | |
HDBHandle | getHandle () |
Create a new HDBHandle that is associated with this HDB object. | |
operator safe_bool () const | |
bool | operator! () const |
int | getHandleCount () const |
String | getFileName () const |
Static Public Member Functions | |
static void | writeBlock (HDBBlock &fblk, File &file, Int32 offset) |
Write the given HDBBlock. | |
static void | readBlock (HDBBlock &fblk, const File &file, Int32 offset) |
Read the given HDBBlock. | |
Private Member Functions | |
bool | createFile () |
void | checkFile () |
void | setOffsets (File &file, Int32 firstRootOffset, Int32 lastRootOffset, Int32 firstFreeOffset) |
void | setFirstRootOffSet (File &file, Int32 offset) |
void | setLastRootOffset (File &file, Int32 offset) |
void | setFirstFreeOffSet (File &file, Int32 offset) |
Int32 | getFirstRootOffSet () |
Int32 | getLastRootOffset () |
Int32 | getFirstFreeOffSet () |
Int32 | findBlock (File &file, int size) |
void | removeBlockFromFreeList (File &file, HDBBlock &fblk) |
void | addRootNode (File &file, HDBBlock &fblk, Int32 offset) |
void | addBlockToFreeList (File &file, const HDBBlock &parmblk, Int32 offset) |
Int32 | getVersion () |
Int32 | incVersion () |
void | decHandleCount () |
IndexEntry | findFirstIndexEntry (const char *key=NULL) |
IndexEntry | findNextIndexEntry () |
IndexEntry | findPrevIndexEntry () |
IndexEntry | findIndexEntry (const char *key) |
bool | addIndexEntry (const char *key, Int32 offset) |
bool | removeIndexEntry (const char *key) |
bool | updateIndexEntry (const char *key, Int32 newOffset) |
void | flushIndex () |
Private Attributes | |
HDBHeaderBlock | m_hdrBlock |
File | m_lockFile |
String | m_fileName |
Int32 | m_version |
int | m_hdlCount |
bool | m_opened |
IndexRef | m_pindex |
Mutex | m_indexGuard |
Mutex | m_guard |
Friends | |
class | HDBNode |
class | HDBHandle |
struct | HDBHandle::HDBHandleData |
Definition at line 257 of file OW_HDB.hpp.
|
Definition at line 287 of file OW_HDB.hpp. |
|
Create a new HDB object.
Definition at line 58 of file OW_HDB.cpp. |
|
Destroy this HDB object.
Definition at line 64 of file OW_HDB.cpp. References close(), and m_hdlCount. |
|
Definition at line 335 of file OW_HDB.cpp. References OW_NAMESPACE::HDBHeaderBlock::firstFree, OW_NAMESPACE::HDBBlock::isFree, m_guard, m_hdrBlock, OW_NAMESPACE::HDBBlock::nextSib, OW_NAMESPACE::HDBBlock::prevSib, readBlock(), setFirstFreeOffSet(), OW_NAMESPACE::HDBBlock::size, and writeBlock(). Referenced by OW_NAMESPACE::HDBNode::write(). |
|
Definition at line 500 of file OW_HDB.cpp. References m_indexGuard, m_opened, m_pindex, and OW_THROW. |
|
Definition at line 401 of file OW_HDB.cpp. References OW_NAMESPACE::HDBHeaderBlock::firstFree, OW_NAMESPACE::HDBHeaderBlock::firstRoot, OW_NAMESPACE::HDBHeaderBlock::lastRoot, m_guard, m_hdrBlock, OW_NAMESPACE::HDBBlock::nextSib, OW_NAMESPACE::HDBBlock::parent, OW_NAMESPACE::HDBBlock::prevSib, readBlock(), setLastRootOffset(), setOffsets(), and writeBlock(). Referenced by OW_NAMESPACE::HDBNode::write(). |
|
|
Close this HDB object.
Definition at line 81 of file OW_HDB.cpp. References OW_NAMESPACE::File::close(), m_lockFile, m_opened, m_pindex, and OW_NAMESPACE::File::unlock(). Referenced by ~HDB(). |
|
Definition at line 130 of file OW_HDB.cpp. References OW_NAMESPACE::String::c_str(), OW_NAMESPACE::File::close(), OW_NAMESPACE::FileSystem::createFile(), OW_NAMESPACE::Index::createIndexObject(), OW_NAMESPACE::HDBVERSION, m_fileName, m_hdrBlock, m_pindex, OW_HDBSIGNATURE, OW_THROW, and OW_NAMESPACE::File::write(). |
|
Definition at line 209 of file OW_HDB.cpp. References m_guard, and m_hdlCount. Referenced by OW_NAMESPACE::HDBHandle::HDBHandleData::~HDBHandleData(). |
|
Referenced by OW_NAMESPACE::HDBNode::write(). |
|
Definition at line 456 of file OW_HDB.cpp. References m_indexGuard, m_opened, m_pindex, and OW_THROW. |
|
Definition at line 489 of file OW_HDB.cpp. References m_indexGuard, m_opened, m_pindex, and OW_THROW. |
|
Definition at line 467 of file OW_HDB.cpp. References m_indexGuard, m_opened, m_pindex, and OW_THROW. |
|
Definition at line 478 of file OW_HDB.cpp. References m_indexGuard, m_opened, m_pindex, and OW_THROW. |
|
Definition at line 533 of file OW_HDB.cpp. References m_indexGuard, m_opened, and m_pindex. |
|
Definition at line 302 of file OW_HDB.hpp. |
|
Definition at line 330 of file OW_HDB.hpp. |
|
Definition at line 328 of file OW_HDB.hpp. Referenced by OW_NAMESPACE::HDBNode::remove(), and OW_NAMESPACE::HDBNode::updateOffsets(). |
|
Create a new HDBHandle that is associated with this HDB object.
Definition at line 192 of file OW_HDB.cpp. References HDBHandle, m_fileName, m_guard, m_hdlCount, m_opened, OW_NAMESPACE::FileSystem::openFile(), and OW_THROW. |
|
Definition at line 298 of file OW_HDB.hpp. |
|
Definition at line 329 of file OW_HDB.hpp. Referenced by OW_NAMESPACE::HDBNode::remove(), and OW_NAMESPACE::HDBNode::updateOffsets(). |
|
Definition at line 336 of file OW_HDB.hpp. |
|
Definition at line 184 of file OW_HDB.cpp. |
|
Open this HDB object up for business.
Definition at line 94 of file OW_HDB.cpp. References m_fileName, m_guard, m_hdlCount, m_lockFile, m_opened, m_version, OW_NAMESPACE::FileSystem::openOrCreateFile(), OW_THROW, and OW_NAMESPACE::File::tryLock(). Referenced by OW_NAMESPACE::GenericHDBRepository::open(). |
|
Definition at line 291 of file OW_HDB.hpp. References m_opened. |
|
Definition at line 293 of file OW_HDB.hpp. |
|
Read the given HDBBlock.
Definition at line 439 of file OW_HDB.cpp. References OW_NAMESPACE::calcCheckSum(), OW_THROW, and OW_NAMESPACE::File::read(). Referenced by addBlockToFreeList(), OW_NAMESPACE::HDBNode::addChild(), addRootNode(), OW_NAMESPACE::HDBNode::read(), OW_NAMESPACE::HDBNode::remove(), OW_NAMESPACE::HDBNode::removeBlock(), removeBlockFromFreeList(), and OW_NAMESPACE::HDBNode::updateOffsets(). |
|
Definition at line 302 of file OW_HDB.cpp. References OW_NAMESPACE::HDBHeaderBlock::firstFree, m_guard, m_hdrBlock, OW_NAMESPACE::HDBBlock::nextSib, OW_NAMESPACE::HDBBlock::prevSib, readBlock(), setFirstFreeOffSet(), and writeBlock(). |
|
Definition at line 511 of file OW_HDB.cpp. References m_indexGuard, m_opened, m_pindex, and OW_THROW. |
|
Definition at line 242 of file OW_HDB.cpp. References OW_NAMESPACE::HDBHeaderBlock::firstRoot, OW_NAMESPACE::HDBHeaderBlock::lastRoot, m_hdrBlock, and setOffsets(). Referenced by addBlockToFreeList(), and removeBlockFromFreeList(). |
|
Definition at line 230 of file OW_HDB.cpp. References OW_NAMESPACE::HDBHeaderBlock::firstFree, OW_NAMESPACE::HDBHeaderBlock::lastRoot, m_hdrBlock, and setOffsets(). Referenced by OW_NAMESPACE::HDBNode::remove(), and OW_NAMESPACE::HDBNode::updateOffsets(). |
|
Definition at line 236 of file OW_HDB.cpp. References OW_NAMESPACE::HDBHeaderBlock::firstFree, OW_NAMESPACE::HDBHeaderBlock::firstRoot, m_hdrBlock, and setOffsets(). Referenced by addRootNode(), OW_NAMESPACE::HDBNode::remove(), and OW_NAMESPACE::HDBNode::updateOffsets(). |
|
Definition at line 216 of file OW_HDB.cpp. References OW_NAMESPACE::HDBHeaderBlock::firstFree, OW_NAMESPACE::HDBHeaderBlock::firstRoot, OW_NAMESPACE::HDBHeaderBlock::lastRoot, m_guard, m_hdrBlock, OW_THROW, and OW_NAMESPACE::File::write(). Referenced by addRootNode(), setFirstFreeOffSet(), setFirstRootOffSet(), and setLastRootOffset(). |
|
Definition at line 522 of file OW_HDB.cpp. References m_indexGuard, m_opened, m_pindex, and OW_THROW. |
|
Write the given HDBBlock.
Definition at line 425 of file OW_HDB.cpp. References OW_NAMESPACE::calcCheckSum(), OW_NAMESPACE::HDBBlock::chkSum, OW_THROW, and OW_NAMESPACE::File::write(). Referenced by addBlockToFreeList(), OW_NAMESPACE::HDBNode::addChild(), addRootNode(), OW_NAMESPACE::HDBNode::remove(), removeBlockFromFreeList(), OW_NAMESPACE::HDBNode::updateOffsets(), and OW_NAMESPACE::HDBNode::write(). |
|
Definition at line 363 of file OW_HDB.hpp. Referenced by getHandle(). |
|
Definition at line 364 of file OW_HDB.hpp. |
|
Definition at line 362 of file OW_HDB.hpp. |
|
Definition at line 355 of file OW_HDB.hpp. Referenced by checkFile(), createFile(), getHandle(), and open(). |
|
Definition at line 361 of file OW_HDB.hpp. Referenced by addBlockToFreeList(), addRootNode(), decHandleCount(), getHandle(), incVersion(), open(), removeBlockFromFreeList(), and setOffsets(). |
|
Definition at line 357 of file OW_HDB.hpp. Referenced by decHandleCount(), getHandle(), open(), and ~HDB(). |
|
Definition at line 353 of file OW_HDB.hpp. Referenced by addBlockToFreeList(), addRootNode(), checkFile(), createFile(), removeBlockFromFreeList(), setFirstFreeOffSet(), setFirstRootOffSet(), setLastRootOffset(), and setOffsets(). |
|
Definition at line 360 of file OW_HDB.hpp. Referenced by addIndexEntry(), findFirstIndexEntry(), findIndexEntry(), findNextIndexEntry(), findPrevIndexEntry(), flushIndex(), removeIndexEntry(), and updateIndexEntry(). |
|
Definition at line 354 of file OW_HDB.hpp. |
|
Definition at line 358 of file OW_HDB.hpp. Referenced by addIndexEntry(), close(), findFirstIndexEntry(), findIndexEntry(), findNextIndexEntry(), findPrevIndexEntry(), flushIndex(), getHandle(), open(), operator safe_bool(), removeIndexEntry(), and updateIndexEntry(). |
|
Definition at line 359 of file OW_HDB.hpp. Referenced by addIndexEntry(), checkFile(), close(), createFile(), findFirstIndexEntry(), findIndexEntry(), findNextIndexEntry(), findPrevIndexEntry(), flushIndex(), removeIndexEntry(), and updateIndexEntry(). |
|
Definition at line 356 of file OW_HDB.hpp. Referenced by incVersion(), and open(). |