DCMTK  Version 3.6.1 20120515
OFFIS DICOM Toolkit
Public Member Functions | Private Member Functions | Private Attributes
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


Constructor & Destructor Documentation

DcmDataDictionary::DcmDataDictionary ( OFBool  loadBuiltin,
OFBool  loadExternal 
)

constructor

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

Member Function Documentation

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:
entrypointer to new entry
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:
keytag key
privCreatorprivate 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:
nameattribute name
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
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

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

loads external dictionaries defined via environment variables

Returns:
true if successful

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

Returns:
true if successful

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.

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

reload data dictionaries.

First, all dictionary entries are deleted.

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

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


Generated on Tue May 15 2012 for DCMTK Version 3.6.1 20120515 by Doxygen 1.7.5.1-20111027