OFFIS DCMTK  Version 3.6.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
OFConfigFileCursor Class Reference

structure used by class OFConfigFile to store a cursor pointing to the currently selected section and entry in the config data More...

Collaboration diagram for OFConfigFileCursor:
[legend]

Public Member Functions

 OFConfigFileCursor (unsigned int maxLevel)
 default constructor
 
 OFConfigFileCursor (const OFConfigFileCursor &source)
 copy constructor
 
 ~OFConfigFileCursor ()
 destructor
 
OFConfigFileCursoroperator= (const OFConfigFileCursor &source)
 assignment operator
 
void clear ()
 return object to default constructed state (invalid cursor)
 
const char * getKeyword (unsigned int level) const
 return keyword as C string.
 
const char * getValue (unsigned int level) const
 return value as C string Precondition is that section_valid(level) return true.
 
OFBool section_valid (unsigned int level) const
 checks if the cursor points to a valid location up to the given level
 
void set_section (unsigned int level, const char *key, OFConfigFileNode *anchor)
 sets cursor to the entry with keyword "key" at the given level.
 
void first_section (unsigned int level, OFConfigFileNode *anchor)
 sets cursor to the first entry at the given level (without changing the cursor position at higher levels).
 
void next_section (unsigned int level)
 sets cursor to the next entry at the given level (without changing the cursor position at higher levels).
 
void insert (unsigned int level, OFConfigFileNode *&newnode, OFConfigFileNode *&anchor, OFBool orderedMode)
 inserts a new node into the tree at the current cursor position
 
OFBool operator< (const OFConfigFileCursor &) const
 dummy comparison operator, needed by MSVC5 with STL.
 
OFBool operator== (const OFConfigFileCursor &) const
 dummy comparison operator, needed by MSVC5 with STL.
 

Private Member Functions

void orderedInsert (OFConfigFileNode *parent, OFConfigFileNode *&newnode)
 helper method that is called by insert() in ordered mode to insert a new node at a given tree level (i.e.
 

Private Attributes

OFConfigFileNodePtrarray_
 the cursor is an array of pointers to OFConfigFileNode objects
 
unsigned int maxLevel_
 depth of tree, i.e. number of entries in array_
 

Detailed Description

structure used by class OFConfigFile to store a cursor pointing to the currently selected section and entry in the config data

Definition at line 194 of file ofconfig.h.

Member Function Documentation

void OFConfigFileCursor::first_section ( unsigned int  level,
OFConfigFileNode anchor 
)

sets cursor to the first entry at the given level (without changing the cursor position at higher levels).

Cursor must be valid at the level higher than the one specified. If no section is found the cursor becomes invalid at the specified level. The cursor always becomes invalid at all levels lower than specified.

Parameters
levelcursor level
anchorpointer to anchor node in config tree

Referenced by OFConfigFile::first_section().

const char* OFConfigFileCursor::getKeyword ( unsigned int  level) const
inline

return keyword as C string.

Precondition is that section_valid(level) return true.

Parameters
levelcursor level

Definition at line 228 of file ofconfig.h.

References array_, OFConfigFileNode::getKeyword(), and maxLevel_.

const char* OFConfigFileCursor::getValue ( unsigned int  level) const
inline

return value as C string Precondition is that section_valid(level) return true.

Parameters
levelcursor level

Definition at line 237 of file ofconfig.h.

References array_, OFConfigFileNode::getValue(), and maxLevel_.

void OFConfigFileCursor::insert ( unsigned int  level,
OFConfigFileNode *&  newnode,
OFConfigFileNode *&  anchor,
OFBool  orderedMode 
)

inserts a new node into the tree at the current cursor position

Parameters
levellevel of insertion
newnodenode to be inserted, must not be NULL
anchorpointer to anchor node of tree, may be modified
orderedModemode flag for processing configuration files. See documentation of OFConfigFile::orderedMode_
void OFConfigFileCursor::next_section ( unsigned int  level)

sets cursor to the next entry at the given level (without changing the cursor position at higher levels).

Cursor must be valid at the level specified. If no section is found the cursor becomes invalid at the specified level. The cursor always becomes invalid at all levels lower than specified.

Parameters
levelcursor level

Referenced by OFConfigFile::next_section().

OFBool OFConfigFileCursor::operator< ( const OFConfigFileCursor ) const
inline

dummy comparison operator, needed by MSVC5 with STL.

Returns
always false

Definition at line 303 of file ofconfig.h.

OFBool OFConfigFileCursor::operator== ( const OFConfigFileCursor ) const
inline

dummy comparison operator, needed by MSVC5 with STL.

Returns
always true

Definition at line 311 of file ofconfig.h.

void OFConfigFileCursor::orderedInsert ( OFConfigFileNode parent,
OFConfigFileNode *&  newnode 
)
private

helper method that is called by insert() in ordered mode to insert a new node at a given tree level (i.e.

within a list of nodes that share the same parent node) in alphabetical order, replacing any older node with identical keyword.

Parameters
parentparent node of new new to be inserted
newnodepointer to new node to be inserted
OFBool OFConfigFileCursor::section_valid ( unsigned int  level) const

checks if the cursor points to a valid location up to the given level

Parameters
levelcursor level
Returns
true if valid, false otherwise

Referenced by OFConfigFile::section_valid().

void OFConfigFileCursor::set_section ( unsigned int  level,
const char *  key,
OFConfigFileNode anchor 
)

sets cursor to the entry with keyword "key" at the given level.

Cursor must be valid at the level higher than the one specified. If the keyword exists more than once, the first occurance is found. If the keyword does not exist, the cursor becomes invalid at the specified level. The cursor always becomes invalid at all levels lower than specified.

Parameters
levelcursor level
keykey value
anchorpointer to anchor node in config tree

Referenced by OFConfigFile::set_section().


The documentation for this class was generated from the following file:


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2