DcmDataDictionary Class Reference

this class implements a loadable DICOM Data Dictionary More...

List of all members.

Public Member Functions

 DcmDataDictionary (OFBool loadBuiltin, OFBool loadExternal)
 constructor
 ~DcmDataDictionary ()
 destructor
OFBool isDictionaryLoaded () const
 checks if a data dictionary is loaded (excluding the skeleton dictionary)
int numberOfNormalTagEntries () const
 returns the number of normal (non-repeating) tag entries
int numberOfRepeatingTagEntries () const
 returns the number of repeating tag entries
int numberOfEntries () const
 returns the number of dictionary entries that were loaded either from file or from a built-in dictionary or both.
int numberOfSkeletonEntries () const
 returns the number of skeleton entries.
OFBool reloadDictionaries (OFBool loadBuiltin, OFBool loadExternal)
 reload data dictionaries.
OFBool loadDictionary (const char *fileName, OFBool errorIfAbsent=OFTrue)
 load a particular dictionary from file.
const DcmDictEntryfindEntry (const DcmTagKey &key, const char *privCreator) const
 dictionary lookup for the given tag key and private creator name.
const DcmDictEntryfindEntry (const char *name) const
 dictionary lookup for the given attribute name.
void clear ()
 deletes all dictionary entries
void addEntry (DcmDictEntry *entry)
 adds an entry to the dictionary.
DcmHashDictIterator normalBegin ()
 returns an iterator to the start of the normal (non-repeating) dictionary
DcmHashDictIterator normalEnd ()
 returns an iterator to the end of the normal (non-repeating) dictionary
DcmDictEntryListIterator repeatingBegin ()
 returns an iterator to the start of the repeating tag dictionary
DcmDictEntryListIterator repeatingEnd ()
 returns an iterator to the end of the repeating tag dictionary

Private Member Functions

DcmDataDictionaryoperator= (const DcmDataDictionary &)
 private undefined assignment operator
 DcmDataDictionary (const DcmDataDictionary &)
 private undefined copy constructor
OFBool loadExternalDictionaries ()
 loads external dictionaries defined via environment variables
void loadBuiltinDictionary ()
 loads a builtin (compiled) data dictionary.
OFBool loadSkeletonDictionary ()
 loads the skeleton dictionary (the bare minimum needed to run)
const DcmDictEntryfindEntry (const DcmDictEntry &entry) const
 looks up the given directory entry in the two dictionaries.
void deleteEntry (const DcmDictEntry &entry)
 deletes the given entry from either dictionary

Private Attributes

DcmHashDict hashDict
 dictionary of normal tags
DcmDictEntryList repDict
 dictionary of repeating tags
int skeletonCount
 the number of skeleton entries
OFBool dictionaryLoaded
 is a dictionary loaded (more than skeleton)


Detailed Description

this class implements a loadable DICOM Data Dictionary

Definition at line 62 of file dcdict.h.


Constructor & Destructor Documentation

DcmDataDictionary::DcmDataDictionary ( OFBool  loadBuiltin,
OFBool  loadExternal 
)

constructor

Parameters:
loadBuiltin flag indicating if a built-in data dictionary (if any) should be loaded.
loadExternal flag indicating if an external data dictionary should be read from file.


Member Function Documentation

OFBool DcmDataDictionary::isDictionaryLoaded (  )  const [inline]

checks if a data dictionary is loaded (excluding the skeleton dictionary)

Returns:
true if loaded, false if no dictionary is present

Definition at line 80 of file dcdict.h.

References dictionaryLoaded.

int DcmDataDictionary::numberOfSkeletonEntries (  )  const [inline]

returns the number of skeleton entries.

The skeleton is a collection of dictionary entries which are always present, even if neither internal nor external dictionary have been loaded. It contains very basic things like item delimitation and sequence delimitation.

Definition at line 100 of file dcdict.h.

References skeletonCount.

OFBool DcmDataDictionary::reloadDictionaries ( OFBool  loadBuiltin,
OFBool  loadExternal 
)

reload data dictionaries.

First, all dictionary entries are deleted.

Parameters:
loadBuiltin flag indicating if a built-in data dictionary (if any) should be loaded.
loadExternal flag indicating if an external data dictionary should be read from file.
Returns:
true if reload was successful, false if an error occurred

OFBool DcmDataDictionary::loadDictionary ( const char *  fileName,
OFBool  errorIfAbsent = OFTrue 
)

load a particular dictionary from file.

Parameters:
fileName filename
errorIfAbsent causes the method to return false if the file cannot be opened
Returns:
false if the file contains a parse error or if the file could not be opened and errorIfAbsent was set, true otherwise.

const DcmDictEntry* DcmDataDictionary::findEntry ( const DcmTagKey key,
const char *  privCreator 
) const

dictionary lookup for the given tag key and private creator name.

First the normal tag dictionary is searched. If not found then the repeating tag dictionary is searched.

Parameters:
key tag key
privCreator private creator name, may be NULL

const DcmDictEntry* DcmDataDictionary::findEntry ( const char *  name  )  const

dictionary lookup for the given attribute name.

First the normal tag dictionary is searched. If not found then the repeating tag dictionary is searched. Only considers standard attributes (i. e. without private creator)

Parameters:
name attribute name

void DcmDataDictionary::addEntry ( DcmDictEntry entry  ) 

adds an entry to the dictionary.

Must be allocated via new. The entry becomes the property of the dictionary and will be deallocated (via delete) upon clear() or dictionary destruction. If an equivalent entry already exists it will be replaced by the new entry and the old entry deallocated (via delete).

Parameters:
entry pointer to new entry

OFBool DcmDataDictionary::loadExternalDictionaries (  )  [private]

loads external dictionaries defined via environment variables

Returns:
true if successful

void DcmDataDictionary::loadBuiltinDictionary (  )  [private]

loads a builtin (compiled) data dictionary.

Depending on which code is in use, this function may not do anything.

OFBool DcmDataDictionary::loadSkeletonDictionary (  )  [private]

loads the skeleton dictionary (the bare minimum needed to run)

Returns:
true if successful

const DcmDictEntry* DcmDataDictionary::findEntry ( const DcmDictEntry entry  )  const [private]

looks up the given directory entry in the two dictionaries.

Returns:
pointer to entry if found, NULL otherwise


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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1