OW_NAMESPACE::AssocDb Class Reference

#include <OW_AssocDb.hpp>

Collaboration diagram for OW_NAMESPACE::AssocDb:

Collaboration graph
[legend]
List of all members.

Public Types

typedef bool AssocDb::* safe_bool

Public Member Functions

 AssocDb ()
 ~AssocDb ()
void open (const String &fileName)
 Open this AssocDb object up for business.
void init (const ServiceEnvironmentIFCRef &env)
void close ()
 Close this AssocDb object.
AssocDbHandle 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

Private Member Functions

AssocDbEntry findEntry (const String &objectKey, AssocDbHandle &hdl)
AssocDbEntry nextEntry (AssocDbHandle &hdl)
void deleteEntry (const AssocDbEntry &entry, AssocDbHandle &hdl)
void deleteEntry (const CIMObjectPath &objectName, const CIMName &assocClassName, const CIMName &resultClass, const CIMName &role, const CIMName &resultRole, const CIMObjectPath &associatedObject, const CIMObjectPath &assocClassPath, AssocDbHandle &hdl)
void addEntry (const AssocDbEntry &entry, AssocDbHandle &hdl)
void addEntry (const CIMObjectPath &objectName, const CIMName &assocClassName, const CIMName &resultClass, const CIMName &role, const CIMName &resultRole, const CIMObjectPath &associatedObject, const CIMObjectPath &assocClassPath, AssocDbHandle &hdl)
void decHandleCount ()
MutexLock getDbLock ()
AssocDbEntry readEntry (Int32 offset, AssocDbHandle &hdl)
void addToFreeList (Int32 offset, AssocDbHandle &hdl)
AssocDbRecHeader getNewBlock (Int32 &offset, UInt32 blkSize, AssocDbHandle &hdl)
bool createFile ()
void checkFile ()

Private Attributes

AssocDbHeader m_hdrBlock
IndexRef m_pIndex
String m_fileName
int m_hdlCount
bool m_opened
Mutex m_guard
ServiceEnvironmentIFCRef m_env

Friends

class AssocDbHandle
struct AssocDbHandle::AssocDbHandleData

Detailed Description

Definition at line 269 of file OW_AssocDb.hpp.


Member Typedef Documentation

typedef bool AssocDb::* OW_NAMESPACE::AssocDb::safe_bool
 

Definition at line 293 of file OW_AssocDb.hpp.


Constructor & Destructor Documentation

OW_NAMESPACE::AssocDb::AssocDb  ) 
 

Definition at line 463 of file OW_AssocDb.cpp.

OW_NAMESPACE::AssocDb::~AssocDb  ) 
 

Definition at line 471 of file OW_AssocDb.cpp.

References close(), OW_NAMESPACE::COMPONENT_NAME, m_env, m_hdlCount, and OW_LOG_DEBUG.


Member Function Documentation

void OW_NAMESPACE::AssocDb::addEntry const CIMObjectPath objectName,
const CIMName assocClassName,
const CIMName resultClass,
const CIMName role,
const CIMName resultRole,
const CIMObjectPath associatedObject,
const CIMObjectPath assocClassPath,
AssocDbHandle hdl
[private]
 

Definition at line 741 of file OW_AssocDb.cpp.

References addEntry(), deleteEntry(), findEntry(), getDbLock(), hdl, OW_NAMESPACE::AssocDbEntry::entry::m_assocClass, OW_NAMESPACE::AssocDbEntry::entry::m_associatedObject, OW_NAMESPACE::AssocDbEntry::entry::m_associationPath, OW_NAMESPACE::AssocDbEntry::m_entries, OW_NAMESPACE::AssocDbEntry::entry::m_resultClass, OW_NAMESPACE::AssocDbEntry::makeKey(), and OW_NAMESPACE::Array< T >::push_back().

void OW_NAMESPACE::AssocDb::addEntry const AssocDbEntry entry,
AssocDbHandle hdl
[private]
 

Definition at line 713 of file OW_AssocDb.cpp.

References OW_NAMESPACE::String::c_str(), OW_NAMESPACE::COMPONENT_NAME, OW_NAMESPACE::AssocDbRecHeader::dataSize, getDbLock(), getNewBlock(), hdl, m_env, m_pIndex, OW_NAMESPACE::AssocDbEntry::makeKey(), ostrm, OW_LOG_ERROR, OW_THROW_ERRNO_MSG, OW_NAMESPACE::File::write(), OW_NAMESPACE::AssocDbEntry::writeObject(), and OW_NAMESPACE::writeRecHeader().

Referenced by addEntry().

void OW_NAMESPACE::AssocDb::addToFreeList Int32  offset,
AssocDbHandle hdl
[private]
 

Definition at line 769 of file OW_AssocDb.cpp.

References OW_NAMESPACE::AssocDbHeader::firstFree, hdl, m_hdrBlock, OW_NAMESPACE::AssocDbRecHeader::nextFree, OW_THROW_ERRNO_MSG, OW_NAMESPACE::readRecHeader(), OW_NAMESPACE::File::write(), and OW_NAMESPACE::writeRecHeader().

Referenced by deleteEntry().

void OW_NAMESPACE::AssocDb::checkFile  )  [private]
 

Definition at line 531 of file OW_AssocDb.cpp.

References OW_NAMESPACE::String::c_str(), OW_NAMESPACE::File::close(), OW_NAMESPACE::Index::createIndexObject(), OW_NAMESPACE::Index::E_ALLDUPLICATES, OW_NAMESPACE::HDBVERSION, m_fileName, m_hdrBlock, m_pIndex, OW_NAMESPACE::MinHDBVERSION, OW_NAMESPACE::FileSystem::openFile(), OW_ASSOCSIGLEN, OW_ASSOCSIGNATURE, OW_THROW, OW_THROW_ERRNO_MSG, and OW_NAMESPACE::File::read().

Referenced by open().

void OW_NAMESPACE::AssocDb::close  ) 
 

Close this AssocDb object.

Definition at line 561 of file OW_AssocDb.cpp.

References getDbLock(), m_opened, and m_pIndex.

Referenced by OW_NAMESPACE::CIMRepository::close(), and ~AssocDb().

bool OW_NAMESPACE::AssocDb::createFile  )  [private]
 

Definition at line 511 of file OW_AssocDb.cpp.

References OW_NAMESPACE::String::c_str(), OW_NAMESPACE::File::close(), OW_NAMESPACE::FileSystem::createFile(), OW_NAMESPACE::Index::createIndexObject(), OW_NAMESPACE::Index::E_ALLDUPLICATES, OW_NAMESPACE::HDBVERSION, m_fileName, m_hdrBlock, m_pIndex, OW_ASSOCSIGNATURE, OW_THROW_ERRNO_MSG, and OW_NAMESPACE::File::write().

Referenced by open().

void OW_NAMESPACE::AssocDb::decHandleCount  )  [private]
 

Definition at line 588 of file OW_AssocDb.cpp.

References getDbLock(), and m_hdlCount.

Referenced by OW_NAMESPACE::AssocDbHandle::AssocDbHandleData::~AssocDbHandleData().

void OW_NAMESPACE::AssocDb::deleteEntry const CIMObjectPath objectName,
const CIMName assocClassName,
const CIMName resultClass,
const CIMName role,
const CIMName resultRole,
const CIMObjectPath associatedObject,
const CIMObjectPath assocClassPath,
AssocDbHandle hdl
[private]
 

Definition at line 642 of file OW_AssocDb.cpp.

References addToFreeList(), OW_NAMESPACE::Array< T >::begin(), OW_NAMESPACE::String::c_str(), OW_NAMESPACE::Array< T >::end(), OW_NAMESPACE::String::equals(), OW_NAMESPACE::Array< T >::erase(), getDbLock(), OW_NAMESPACE::AssocDbEntry::getOffset(), hdl, OW_NAMESPACE::AssocDbEntry::m_entries, m_pIndex, OW_NAMESPACE::AssocDbEntry::makeKey(), OW_NAMESPACE::IndexEntry::offset, OW_ASSERT, readEntry(), and OW_NAMESPACE::Array< T >::size().

void OW_NAMESPACE::AssocDb::deleteEntry const AssocDbEntry entry,
AssocDbHandle hdl
[private]
 

Definition at line 688 of file OW_AssocDb.cpp.

References addToFreeList(), OW_NAMESPACE::String::c_str(), OW_NAMESPACE::String::equals(), getDbLock(), OW_NAMESPACE::AssocDbEntry::getOffset(), hdl, m_pIndex, OW_NAMESPACE::AssocDbEntry::makeKey(), OW_NAMESPACE::IndexEntry::offset, and readEntry().

Referenced by addEntry().

AssocDbEntry OW_NAMESPACE::AssocDb::findEntry const String objectKey,
AssocDbHandle hdl
[private]
 

Definition at line 596 of file OW_AssocDb.cpp.

References OW_NAMESPACE::String::c_str(), OW_NAMESPACE::String::equals(), getDbLock(), hdl, OW_NAMESPACE::IndexEntry::key, m_pIndex, OW_NAMESPACE::IndexEntry::offset, and readEntry().

Referenced by addEntry().

MutexLock OW_NAMESPACE::AssocDb::getDbLock  )  [inline, private]
 

Definition at line 326 of file OW_AssocDb.hpp.

References m_guard.

Referenced by addEntry(), close(), decHandleCount(), deleteEntry(), findEntry(), getHandle(), nextEntry(), and open().

String OW_NAMESPACE::AssocDb::getFileName  )  const [inline]
 

Returns:
The file name for this HDB object

Definition at line 308 of file OW_AssocDb.hpp.

AssocDbHandle OW_NAMESPACE::AssocDb::getHandle  ) 
 

Create a new HDBHandle that is associated with this HDB object.

Returns:
An HDBHandle object that can be used to operate on this HDB object.
Exceptions:
HDBException if this HDB is not opened.

Definition at line 573 of file OW_AssocDb.cpp.

References AssocDbHandle, getDbLock(), m_fileName, m_hdlCount, OW_NAMESPACE::FileSystem::openFile(), and OW_THROW_ERRNO_MSG.

Referenced by OW_NAMESPACE::CIMRepository::_staticAssociatorNames(), OW_NAMESPACE::CIMRepository::_staticAssociators(), OW_NAMESPACE::CIMRepository::_staticAssociatorsClass(), OW_NAMESPACE::CIMRepository::_staticReferenceNames(), OW_NAMESPACE::CIMRepository::_staticReferences(), OW_NAMESPACE::CIMRepository::_staticReferencesClass(), OW_NAMESPACE::CIMRepository::deleteInstance(), and OW_NAMESPACE::CIMRepository::modifyInstance().

int OW_NAMESPACE::AssocDb::getHandleCount  )  const [inline]
 

Returns:
The number of outstanding handles on this AssocDb

Definition at line 304 of file OW_AssocDb.hpp.

AssocDbRecHeader OW_NAMESPACE::AssocDb::getNewBlock Int32 offset,
UInt32  blkSize,
AssocDbHandle hdl
[private]
 

Definition at line 786 of file OW_AssocDb.cpp.

References OW_NAMESPACE::AssocDbRecHeader::blkSize, OW_NAMESPACE::AssocDbHeader::firstFree, hdl, m_hdrBlock, OW_NAMESPACE::AssocDbRecHeader::nextFree, OW_THROW_ERRNO_MSG, OW_NAMESPACE::readRecHeader(), and OW_NAMESPACE::writeRecHeader().

Referenced by addEntry().

void OW_NAMESPACE::AssocDb::init const ServiceEnvironmentIFCRef env  ) 
 

Definition at line 489 of file OW_AssocDb.cpp.

References env, and m_env.

Referenced by OW_NAMESPACE::CIMRepository::init().

AssocDbEntry OW_NAMESPACE::AssocDb::nextEntry AssocDbHandle hdl  )  [private]
 

Definition at line 610 of file OW_AssocDb.cpp.

References getDbLock(), hdl, m_pIndex, OW_NAMESPACE::IndexEntry::offset, and readEntry().

void OW_NAMESPACE::AssocDb::open const String fileName  ) 
 

Open this AssocDb object up for business.

Parameters:
fileName The file name associated with the database
Exceptions:
HDBException if an error occurs opening/creating files.

Definition at line 495 of file OW_AssocDb.cpp.

References checkFile(), createFile(), getDbLock(), m_fileName, m_hdlCount, and m_opened.

OW_NAMESPACE::AssocDb::operator safe_bool  )  const [inline]
 

Returns:
true if this AssocDb is currently opened.

Definition at line 297 of file OW_AssocDb.hpp.

References m_opened.

bool OW_NAMESPACE::AssocDb::operator!  )  const [inline]
 

Definition at line 299 of file OW_AssocDb.hpp.

AssocDbEntry OW_NAMESPACE::AssocDb::readEntry Int32  offset,
AssocDbHandle hdl
[private]
 

Definition at line 624 of file OW_AssocDb.cpp.

References OW_NAMESPACE::AssocDbRecHeader::dataSize, hdl, OW_THROW_ERRNO_MSG, OW_NAMESPACE::AssocDbEntry::readObject(), OW_NAMESPACE::readRecHeader(), and OW_NAMESPACE::AssocDbEntry::setOffset().

Referenced by deleteEntry(), findEntry(), and nextEntry().


Friends And Related Function Documentation

friend class AssocDbHandle [friend]
 

Definition at line 346 of file OW_AssocDb.hpp.

Referenced by getHandle().

friend struct AssocDbHandle::AssocDbHandleData [friend]
 

Definition at line 347 of file OW_AssocDb.hpp.


Member Data Documentation

ServiceEnvironmentIFCRef OW_NAMESPACE::AssocDb::m_env [private]
 

Definition at line 345 of file OW_AssocDb.hpp.

Referenced by addEntry(), init(), and ~AssocDb().

String OW_NAMESPACE::AssocDb::m_fileName [private]
 

Definition at line 341 of file OW_AssocDb.hpp.

Referenced by checkFile(), createFile(), getHandle(), and open().

Mutex OW_NAMESPACE::AssocDb::m_guard [private]
 

Definition at line 344 of file OW_AssocDb.hpp.

int OW_NAMESPACE::AssocDb::m_hdlCount [private]
 

Definition at line 342 of file OW_AssocDb.hpp.

Referenced by decHandleCount(), getHandle(), open(), and ~AssocDb().

AssocDbHeader OW_NAMESPACE::AssocDb::m_hdrBlock [private]
 

Definition at line 339 of file OW_AssocDb.hpp.

Referenced by addToFreeList(), checkFile(), createFile(), and getNewBlock().

bool OW_NAMESPACE::AssocDb::m_opened [private]
 

Definition at line 343 of file OW_AssocDb.hpp.

Referenced by close(), open(), and operator safe_bool().

IndexRef OW_NAMESPACE::AssocDb::m_pIndex [private]
 

Definition at line 340 of file OW_AssocDb.hpp.

Referenced by addEntry(), checkFile(), close(), createFile(), deleteEntry(), findEntry(), and nextEntry().


The documentation for this class was generated from the following files:
Generated on Thu Feb 9 09:16:34 2006 for openwbem by  doxygen 1.4.6