]> Creatis software - gdcm.git/blob - src/gdcmGlobal.h
Avoid warnings
[gdcm.git] / src / gdcmGlobal.h
1 /*=========================================================================
2                                                                                 
3   Program:   gdcm
4   Module:    $RCSfile: gdcmGlobal.h,v $
5   Language:  C++
6   Date:      $Date: 2005/11/30 10:58:28 $
7   Version:   $Revision: 1.9 $
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 Dict;
37 class GDCM_EXPORT Global
38 {
39 public:
40    Global();
41    ~Global();
42
43    /// \brief   returns a pointer to Dictionaries Table 
44    static DictSet *GetDicts() { return Dicts;}
45    /// \brief   returns a pointer to the 'Value Representation Table' 
46    static VR *GetVR(){ return ValRes; }
47    /// \brief   returns a pointer to the 'Transfer Syntax Table'
48    static TS *GetTS(){ return TranSyn; }
49    /// \brief   returns a pointer to the Group name correspondance table
50    static DictGroupName *GetDictGroupName() { return GroupName; }
51    /// \brief   returns a pointer to the DicomDir related elements Table 
52    static DicomDirElement *GetDicomDirElements(){ return ddElem; }
53
54 private:
55    /// Pointer to a container, holding _all_ the Dicom Dictionaries.
56    static DictSet *Dicts;
57    /// Pointer to a hash table containing the 'Value Representations'.
58    static VR *ValRes;
59    /// \brief Pointer to a hash table containing the Transfer Syntax codes 
60    ///        and their english description 
61    static TS *TranSyn; 
62    /// \brief Pointer to a hash table containing the Group codes 
63    ///        and their english name (from NIH) 
64    static DictGroupName *GroupName; 
65    /// \brief Pointer to the hash table containing the Dicom Elements necessary 
66    ///        to describe each part of a DICOMDIR 
67    static DicomDirElement *ddElem;
68 };
69 } // end namespace gdcm
70
71 //-----------------------------------------------------------------------------
72 #endif