]> Creatis software - gdcm.git/blob - gdcmGlobal.h
74997e6395fd1d179750e9d8beef6d59ce107980
[gdcm.git] / gdcmGlobal.h
1 /*=========================================================================
2                                                                                 
3   Program:   gdcm
4   Module:    $RCSfile: gdcmGlobal.h,v $
5   Language:  C++
6   Date:      $Date: 2005/04/05 10:56:25 $
7   Version:   $Revision: 1.8 $
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 DictGroupName;
30 class DicomDirElement;
31 //-----------------------------------------------------------------------------
32 /**
33  * \brief   This class contains all globals elements that might be
34  *          instanciated only once (singletons).
35  */
36 class GDCM_EXPORT Global
37 {
38 public:
39    Global();
40    ~Global();
41
42    static DictSet *GetDicts();
43    static VR *GetVR();
44    static TS *GetTS();
45    static DictGroupName *GetDictGroupName();
46    static DicomDirElement *GetDicomDirElements();
47
48 private:
49    /// Pointer to a container, holding _all_ the Dicom Dictionaries.
50    static DictSet *Dicts;
51    /// Pointer to a hash table containing the 'Value Representations'.
52    static VR *ValRes;
53    /// \brief Pointer to a hash table containing the Transfer Syntax codes 
54    ///        and their english description 
55    static TS *TranSyn; 
56    /// \brief Pointer to a hash table containing the Group codes 
57    ///        and their english name (from NIH) 
58    static DictGroupName *GroupName; 
59    /// \brief Pointer to the hash table containing the Dicom Elements necessary 
60    ///        to describe each part of a DICOMDIR 
61    static DicomDirElement *ddElem;
62 };
63 } // end namespace gdcm
64
65 //-----------------------------------------------------------------------------
66 #endif