]> Creatis software - gdcm.git/blob - src/gdcmGlobal.h
* src/*.cxx : first parss to normalize file organisation
[gdcm.git] / src / gdcmGlobal.h
1 /*=========================================================================
2                                                                                 
3   Program:   gdcm
4   Module:    $RCSfile: gdcmGlobal.h,v $
5   Language:  C++
6   Date:      $Date: 2005/02/01 10:29:55 $
7   Version:   $Revision: 1.6 $
8                                                                                 
9   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10   l'Image). All rights reserved. See Doc/License.txt or
11   http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
12                                                                                 
13      This software is distributed WITHOUT ANY WARRANTY; without even
14      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15      PURPOSE.  See the above copyright notices for more information.
16                                                                                 
17 =========================================================================*/
18
19 #ifndef GDCMGLOBAL_H
20 #define GDCMGLOBAL_H
21
22 #include "gdcmCommon.h"
23
24 namespace gdcm 
25 {
26 class DictSet;
27 class VR;
28 class TS;
29 class DicomDirElement;
30 //-----------------------------------------------------------------------------
31 /**
32  * \brief   This class contains all globals elements that might be
33  *          instanciated only once (singletons).
34  */
35 class GDCM_EXPORT Global
36 {
37 public:
38    Global();
39    ~Global();
40
41    static DictSet *GetDicts();
42    static VR *GetVR();
43    static TS *GetTS();
44    static DicomDirElement *GetDicomDirElements();
45
46 private:
47    /// Pointer to a container, holding _all_ the Dicom Dictionaries.
48    static DictSet *Dicts;
49    /// Pointer to a hash table containing the 'Value Representations'.
50    static VR *ValRes;
51    /// Pointer to a hash table containing the Transfer Syntax codes and their 
52    /// english description 
53    static TS *TranSyn; 
54    /// Pointer to the hash table containing the Dicom Elements necessary 
55    /// to describe each part of a DICOMDIR 
56    static DicomDirElement *ddElem;
57 };
58 } // end namespace gdcm
59
60 //-----------------------------------------------------------------------------
61 #endif