DCMTK  Version 3.6.1 20131114
OFFIS DICOM Toolkit
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GlobalDcmDataDictionary Class Reference

encapsulates a data dictionary with access methods which allow safe read and write access from multiple threads in parallel. More...

+ Collaboration diagram for GlobalDcmDataDictionary:

Public Member Functions

 GlobalDcmDataDictionary ()
 constructor.
 
 ~GlobalDcmDataDictionary ()
 destructor
 
const DcmDataDictionaryrdlock ()
 acquires a read lock and returns a const reference to the dictionary. More...
 
DcmDataDictionarywrlock ()
 acquires a write lock and returns a non-const reference to the dictionary. More...
 
void unlock ()
 unlocks the read or write lock which must have been acquired previously.
 
OFBool isDictionaryLoaded ()
 checks if a data dictionary has been loaded. More...
 
void clear ()
 erases the contents of the dictionary. More...
 

Private Member Functions

GlobalDcmDataDictionaryoperator= (const GlobalDcmDataDictionary &)
 private undefined assignment operator
 
 GlobalDcmDataDictionary (const GlobalDcmDataDictionary &)
 private undefined copy constructor
 
void createDataDict ()
 create the data dictionary instance for this class. More...
 

Private Attributes

DcmDataDictionarydataDict
 the data dictionary managed by this class
 
OFReadWriteLock dataDictLock
 the read/write lock used to protect access from multiple threads
 

Detailed Description

encapsulates a data dictionary with access methods which allow safe read and write access from multiple threads in parallel.

A read/write lock is used to protect threads from each other. This allows parallel read-only access by multiple threads, which is the most common case.

Member Function Documentation

void GlobalDcmDataDictionary::clear ( )

erases the contents of the dictionary.

This method acquires and releases a write lock. It must not be called with another lock on the dictionary being held by the calling thread. This method is intended as a help for debugging memory leaks.

void GlobalDcmDataDictionary::createDataDict ( )
private

create the data dictionary instance for this class.

The caller must not have dataDictLock locked.

OFBool GlobalDcmDataDictionary::isDictionaryLoaded ( )

checks if a data dictionary has been loaded.

This method acquires and releases a read lock. It must not be called with another lock on the dictionary being held by the calling thread.

Returns
OFTrue if dictionary has been loaded, OFFalse otherwise.
const DcmDataDictionary& GlobalDcmDataDictionary::rdlock ( )

acquires a read lock and returns a const reference to the dictionary.

Returns
const reference to dictionary
DcmDataDictionary& GlobalDcmDataDictionary::wrlock ( )

acquires a write lock and returns a non-const reference to the dictionary.

Returns
non-const reference to dictionary.

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


Generated on Tue Nov 26 2013 for DCMTK Version 3.6.1 20131114 by Doxygen 1.8.5