OW_NAMESPACE::HDBNode Class Reference

#include <OW_HDBNode.hpp>

Collaboration diagram for OW_NAMESPACE::HDBNode:

Collaboration graph
[legend]
List of all members.

Public Types

typedef HDBNodeDataRef HDBNode::* safe_bool

Public Member Functions

 HDBNode ()
 Create a null HDBNode object.
 HDBNode (const String &key, int dataLen, const unsigned char *data)
 Create an HDBNode associated with a given key and data.
 HDBNode (const HDBNode &x)
 Copy constructor.
HDBNodeoperator= (const HDBNode &x)
 Assignment operator.
UInt32 getFlags ()
bool areAllFlagsOn (UInt32 flags) const
 Determine if all of the user defined flags are on.
bool areSomeFlagsOn (UInt32 flags) const
 Determine if some of the user defined flags are on.
bool turnFlagsOn (HDBHandle &hdl, UInt32 flags)
 Turn the user defined flags on in this node.
bool turnFlagsOff (HDBHandle &hdl, UInt32 flags)
 Turn the user defined flags off in this node.
String getKey () const
Int32 getDataLen () const
const unsigned char * getData () const
bool hasParent () const
bool hasNextSibling () const
bool hasPreviousSibling () const
bool hasChildren () const
bool isRoot () const
bool isChild () const
bool isSibling () const
 operator safe_bool () const
bool operator! () const

Private Types

typedef IntrusiveReference<
HDBNodeData
HDBNodeDataRef
enum  EWriteHeaderFlag { E_WRITE_ALL, E_WRITE_ONLY_HEADER }

Private Member Functions

 HDBNode (const char *key, HDBHandle &hdl)
 HDBNode (Int32 offset, HDBHandle &hdl)
void read (Int32 offset, HDBHandle &hdl)
bool reload (HDBHandle &hdl)
Int32 write (HDBHandle &hdl, EWriteHeaderFlag onlyHeader=E_WRITE_ALL)
void updateOffsets (HDBHandle &hdl, Int32 offset)
Int32 getParentOffset () const
Int32 getFirstChildOffset () const
Int32 getLastChildOffset () const
Int32 getNextSiblingOffset () const
Int32 getPrevSiblingOffset () const
Int32 getOffset () const
bool remove (HDBHandle &hdl)
void removeBlock (HDBHandle &hdl, HDBBlock &fblk, Int32 offset)
void addChild (HDBHandle &hdl, HDBNode &arg)
bool updateData (HDBHandle &hdl, int dataLen, const unsigned char *data)
void setNull ()

Private Attributes

HDBNodeDataRef m_pdata

Friends

class HDBHandle

Classes

struct  HDBNodeData

Detailed Description

Definition at line 50 of file OW_HDBNode.hpp.


Member Typedef Documentation

typedef IntrusiveReference<HDBNodeData> OW_NAMESPACE::HDBNode::HDBNodeDataRef [private]
 

Definition at line 67 of file OW_HDBNode.hpp.

typedef HDBNodeDataRef HDBNode::* OW_NAMESPACE::HDBNode::safe_bool
 

Definition at line 182 of file OW_HDBNode.hpp.


Member Enumeration Documentation

enum OW_NAMESPACE::HDBNode::EWriteHeaderFlag [private]
 

Enumerator:
E_WRITE_ALL 
E_WRITE_ONLY_HEADER 

Definition at line 195 of file OW_HDBNode.hpp.


Constructor & Destructor Documentation

OW_NAMESPACE::HDBNode::HDBNode  )  [inline]
 

Create a null HDBNode object.

Definition at line 73 of file OW_HDBNode.hpp.

OW_NAMESPACE::HDBNode::HDBNode const String key,
int  dataLen,
const unsigned char *  data
 

Create an HDBNode associated with a given key and data.

The node will not be persistant until it is added to the HDB.

Parameters:
key The key associated with the given HDBNode
dataLen The length of the data associated with the node.
data The data associated with the node.

Definition at line 112 of file OW_HDBNode.cpp.

References OW_NAMESPACE::String::empty().

OW_NAMESPACE::HDBNode::HDBNode const HDBNode x  )  [inline]
 

Copy constructor.

Parameters:
x The HDBNode to copy this node from.

Definition at line 86 of file OW_HDBNode.hpp.

OW_NAMESPACE::HDBNode::HDBNode const char *  key,
HDBHandle hdl
[private]
 

Definition at line 87 of file OW_HDBNode.cpp.

References hdl, OW_NAMESPACE::IndexEntry::offset, and read().

OW_NAMESPACE::HDBNode::HDBNode Int32  offset,
HDBHandle hdl
[private]
 

Definition at line 102 of file OW_HDBNode.cpp.

References hdl, and read().


Member Function Documentation

void OW_NAMESPACE::HDBNode::addChild HDBHandle hdl,
HDBNode arg
[private]
 

Definition at line 485 of file OW_HDBNode.cpp.

References hdl, m_pdata, OW_NAMESPACE::HDBBlock::nextSib, OW_THROW, OW_NAMESPACE::HDB::readBlock(), write(), and OW_NAMESPACE::HDB::writeBlock().

bool OW_NAMESPACE::HDBNode::areAllFlagsOn UInt32  flags  )  const [inline]
 

Determine if all of the user defined flags are on.

Parameters:
flags The user defined flags to check.
Returns:
true if all flags are on in this node. Othewise false.

Definition at line 109 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::InstanceRepository::deleteClass(), OW_NAMESPACE::MetaRepository::enumQualifierTypes(), OW_NAMESPACE::InstanceRepository::getCIMInstances(), OW_NAMESPACE::InstanceRepository::getInstanceNames(), and OW_NAMESPACE::GenericHDBRepository::nameSpaceExists().

bool OW_NAMESPACE::HDBNode::areSomeFlagsOn UInt32  flags  )  const [inline]
 

Determine if some of the user defined flags are on.

Parameters:
flags The user defined flags to check.
Returns:
true if some flags are on in this node. Othewise false.

Definition at line 118 of file OW_HDBNode.hpp.

const unsigned char* OW_NAMESPACE::HDBNode::getData  )  const [inline]
 

Returns:
A pointer to the data associated with this HDBNode.

Definition at line 149 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::MetaRepository::_getClassNameFromNode(), and OW_NAMESPACE::GenericHDBRepository::nodeToCIMObject().

Int32 OW_NAMESPACE::HDBNode::getDataLen  )  const [inline]
 

Returns:
The length of the data associated with this HDBNode.

Definition at line 145 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::MetaRepository::_getClassNameFromNode(), and OW_NAMESPACE::GenericHDBRepository::nodeToCIMObject().

Int32 OW_NAMESPACE::HDBNode::getFirstChildOffset  )  const [inline, private]
 

Definition at line 203 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::HDBHandle::getFirstChild().

UInt32 OW_NAMESPACE::HDBNode::getFlags  )  [inline]
 

Returns:
The value of the flags field on this HDBNode object.

Definition at line 100 of file OW_HDBNode.hpp.

String OW_NAMESPACE::HDBNode::getKey  )  const [inline]
 

Returns:
The key associated with this HDBNode.

Definition at line 141 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::HDBHandle::addRootNode().

Int32 OW_NAMESPACE::HDBNode::getLastChildOffset  )  const [inline, private]
 

Definition at line 204 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::HDBHandle::getLastChild().

Int32 OW_NAMESPACE::HDBNode::getNextSiblingOffset  )  const [inline, private]
 

Definition at line 205 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::HDBHandle::getNextSibling().

Int32 OW_NAMESPACE::HDBNode::getOffset  )  const [inline, private]
 

Definition at line 207 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::HDBHandle::addChild(), OW_NAMESPACE::HDBHandle::addRootNode(), OW_NAMESPACE::HDBHandle::removeNode(), OW_NAMESPACE::HDBHandle::turnFlagsOff(), OW_NAMESPACE::HDBHandle::turnFlagsOn(), and OW_NAMESPACE::HDBHandle::updateNode().

Int32 OW_NAMESPACE::HDBNode::getParentOffset  )  const [inline, private]
 

Definition at line 202 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::HDBHandle::getParent().

Int32 OW_NAMESPACE::HDBNode::getPrevSiblingOffset  )  const [inline, private]
 

Definition at line 206 of file OW_HDBNode.hpp.

Referenced by OW_NAMESPACE::HDBHandle::getPrevSibling().

bool OW_NAMESPACE::HDBNode::hasChildren  )  const [inline]
 

Returns:
true if this HDBNode has any children.

Definition at line 165 of file OW_HDBNode.hpp.

bool OW_NAMESPACE::HDBNode::hasNextSibling  )  const [inline]
 

Returns:
true if this HDBNode has a next sibling.

Definition at line 157 of file OW_HDBNode.hpp.

bool OW_NAMESPACE::HDBNode::hasParent  )  const [inline]
 

Returns:
true if this HDBNode has a parent.

Definition at line 153 of file OW_HDBNode.hpp.

bool OW_NAMESPACE::HDBNode::hasPreviousSibling  )  const [inline]
 

Returns:
true if this HDBNode has a previous sibling.

Definition at line 161 of file OW_HDBNode.hpp.

bool OW_NAMESPACE::HDBNode::isChild  )  const [inline]
 

Returns:
true if this HDBNode is a child.

Definition at line 173 of file OW_HDBNode.hpp.

bool OW_NAMESPACE::HDBNode::isRoot  )  const [inline]
 

Returns:
true if this HDBNode is a root node (has no parent).

Definition at line 169 of file OW_HDBNode.hpp.

bool OW_NAMESPACE::HDBNode::isSibling  )  const [inline]
 

Returns:
true if this HDBNode has any siblings.

Definition at line 177 of file OW_HDBNode.hpp.

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

Returns:
true if this HDBNode is valid.

Definition at line 186 of file OW_HDBNode.hpp.

References m_pdata.

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

Definition at line 188 of file OW_HDBNode.hpp.

HDBNode& OW_NAMESPACE::HDBNode::operator= const HDBNode x  )  [inline]
 

Assignment operator.

Parameters:
x The HDBNode to assign to this one.
Returns:
A reference to this HDBNode.

Definition at line 92 of file OW_HDBNode.hpp.

References m_pdata.

void OW_NAMESPACE::HDBNode::read Int32  offset,
HDBHandle hdl
[private]
 

Definition at line 146 of file OW_HDBNode.cpp.

References hdl, OW_NAMESPACE::HDBBlock::isFree, OW_NAMESPACE::HDBBlock::keyLength, OW_THROW, OW_THROW_ERRNO_MSG, OW_NAMESPACE::File::read(), OW_NAMESPACE::HDB::readBlock(), and setNull().

Referenced by HDBNode().

bool OW_NAMESPACE::HDBNode::reload HDBHandle hdl  )  [private]
 

Definition at line 193 of file OW_HDBNode.cpp.

References hdl, and m_pdata.

Referenced by OW_NAMESPACE::HDBHandle::getFirstChild(), OW_NAMESPACE::HDBHandle::getLastChild(), OW_NAMESPACE::HDBHandle::getNextSibling(), OW_NAMESPACE::HDBHandle::getParent(), OW_NAMESPACE::HDBHandle::getPrevSibling(), OW_NAMESPACE::HDBHandle::removeNode(), OW_NAMESPACE::HDBHandle::turnFlagsOff(), OW_NAMESPACE::HDBHandle::turnFlagsOn(), updateData(), and OW_NAMESPACE::HDBHandle::updateNode().

bool OW_NAMESPACE::HDBNode::remove HDBHandle hdl  )  [private]
 

Definition at line 538 of file OW_HDBNode.cpp.

References OW_NAMESPACE::HDBBlock::firstChild, OW_NAMESPACE::HDB::getFirstRootOffSet(), OW_NAMESPACE::HDB::getLastRootOffset(), hdl, OW_NAMESPACE::HDBBlock::lastChild, m_pdata, OW_NAMESPACE::HDBBlock::nextSib, OW_NAMESPACE::HDBBlock::prevSib, OW_NAMESPACE::HDB::readBlock(), removeBlock(), OW_NAMESPACE::HDB::setFirstRootOffSet(), OW_NAMESPACE::HDB::setLastRootOffset(), and OW_NAMESPACE::HDB::writeBlock().

Referenced by OW_NAMESPACE::HDBHandle::removeNode().

void OW_NAMESPACE::HDBNode::removeBlock HDBHandle hdl,
HDBBlock fblk,
Int32  offset
[private]
 

Definition at line 634 of file OW_HDBNode.cpp.

References OW_NAMESPACE::AutoPtrVec< X >::get(), hdl, LMAX, OW_THROW_ERRNO_MSG, OW_NAMESPACE::File::read(), and OW_NAMESPACE::HDB::readBlock().

Referenced by remove().

void OW_NAMESPACE::HDBNode::setNull  )  [inline, private]
 

Definition at line 212 of file OW_HDBNode.hpp.

Referenced by read().

bool OW_NAMESPACE::HDBNode::turnFlagsOff HDBHandle hdl,
UInt32  flags
 

Turn the user defined flags off in this node.

Parameters:
hdl 
flags The flags to turn off in this node.
Returns:
true if the flags were changed from this operation. Otherwise false.

Definition at line 292 of file OW_HDBNode.cpp.

References hdl, m_pdata, and write().

Referenced by OW_NAMESPACE::HDBHandle::turnFlagsOff().

bool OW_NAMESPACE::HDBNode::turnFlagsOn HDBHandle hdl,
UInt32  flags
 

Turn the user defined flags on in this node.

Parameters:
hdl 
flags The flags to turn on in this node.
Returns:
true if the flags were changed from this operation. Otherwise false.

Definition at line 271 of file OW_HDBNode.cpp.

References hdl, m_pdata, and write().

Referenced by OW_NAMESPACE::GenericHDBRepository::addCIMObject(), and OW_NAMESPACE::HDBHandle::turnFlagsOn().

bool OW_NAMESPACE::HDBNode::updateData HDBHandle hdl,
int  dataLen,
const unsigned char *  data
[private]
 

Definition at line 313 of file OW_HDBNode.cpp.

References hdl, m_pdata, reload(), and write().

Referenced by OW_NAMESPACE::HDBHandle::updateNode().

void OW_NAMESPACE::HDBNode::updateOffsets HDBHandle hdl,
Int32  offset
[private]
 

Definition at line 419 of file OW_HDBNode.cpp.

References OW_NAMESPACE::HDBBlock::firstChild, OW_NAMESPACE::HDB::getFirstRootOffSet(), OW_NAMESPACE::HDB::getLastRootOffset(), hdl, OW_NAMESPACE::HDBBlock::lastChild, m_pdata, OW_NAMESPACE::HDBBlock::nextSib, OW_NAMESPACE::HDBBlock::prevSib, OW_NAMESPACE::HDB::readBlock(), OW_NAMESPACE::HDB::setFirstRootOffSet(), OW_NAMESPACE::HDB::setLastRootOffset(), and OW_NAMESPACE::HDB::writeBlock().

Referenced by write().

Int32 OW_NAMESPACE::HDBNode::write HDBHandle hdl,
EWriteHeaderFlag  onlyHeader = E_WRITE_ALL
[private]
 

Definition at line 355 of file OW_HDBNode.cpp.

References OW_NAMESPACE::HDB::addBlockToFreeList(), OW_NAMESPACE::HDB::addRootNode(), OW_NAMESPACE::HDB::findBlock(), hdl, m_pdata, OW_THROW, OW_THROW_ERRNO_MSG, updateOffsets(), OW_NAMESPACE::File::write(), and OW_NAMESPACE::HDB::writeBlock().

Referenced by addChild(), OW_NAMESPACE::HDBHandle::addRootNode(), turnFlagsOff(), turnFlagsOn(), and updateData().


Friends And Related Function Documentation

friend class HDBHandle [friend]
 

Definition at line 225 of file OW_HDBNode.hpp.


Member Data Documentation

HDBNodeDataRef OW_NAMESPACE::HDBNode::m_pdata [private]
 

Definition at line 219 of file OW_HDBNode.hpp.

Referenced by addChild(), operator safe_bool(), operator=(), reload(), remove(), turnFlagsOff(), turnFlagsOn(), updateData(), updateOffsets(), and write().


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