Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

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 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 65 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

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

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

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

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

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 83 of file dcdict.h.

References hashDict, and DcmHashDict::size().

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::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.

OFBool DcmDataDictionary::loadExternalDictionaries  )  [private]
 

loads external dictionaries defined via environment variables

Returns:
true if successful

OFBool DcmDataDictionary::loadSkeletonDictionary  )  [private]
 

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

Returns:
true if successful

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 103 of file dcdict.h.

References hashDict.


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


Generated on 27 May 2004 for OFFIS DCMTK Version 3.5.3 by Doxygen 1.3.6