]> Creatis software - gdcm.git/blob - src/gdcmGlobal.h
Fix mistypings
[gdcm.git] / src / gdcmGlobal.h
1 /*=========================================================================
2                                                                                 
3   Program:   gdcm
4   Module:    $RCSfile: gdcmGlobal.h,v $
5   Language:  C++
6   Date:      $Date: 2007/08/22 16:14:04 $
7   Version:   $Revision: 1.13 $
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_NAME_SPACE 
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 friend class DictSet; // to allow setting DefaultPubDict without 
40                       // providing anybody an accesor !
41 public:
42    Global();
43    ~Global();
44
45    /// \brief   returns a pointer to Dictionaries Table 
46    static DictSet *GetDicts() { return Dicts;}
47    /// \brief   returns a pointer to the 'Value Representation Table' 
48    static VR *GetVR(){ return ValRes; }
49    /// \brief   returns a pointer to the 'Transfer Syntax Table'
50    static TS *GetTS(){ return TranSyn; }
51    /// \brief   returns a pointer to the Group name correspondance table
52    static DictGroupName *GetDictGroupName() { return GroupName; }
53    /// \brief   returns a pointer to the DicomDir related elements Table 
54    static DicomDirElement *GetDicomDirElements(){ return ddElem; }
55
56 private:
57    /// Pointer to a container, holding _all_ the Dicom Dictionaries.
58    static DictSet *Dicts;
59    /// Pointer to a hash table containing the 'Value Representations'.
60    static VR *ValRes;
61    /// \brief Pointer to a hash table containing the Transfer Syntax codes 
62    ///        and their english description 
63    static TS *TranSyn; 
64    /// \brief Pointer to a hash table containing the Group codes 
65    ///        and their english name (from NIH) 
66    static DictGroupName *GroupName; 
67    /// \brief Pointer to the hash table containing the Dicom Elements necessary 
68    ///        to describe each part of a DICOMDIR 
69    static DicomDirElement *ddElem;
70    /// pointer to the Default Public Dictionnary, redundantly store here, 
71    /// in order not to acces the HTable every time!
72    static Dict *DefaultPubDict; 
73 };
74 } // end namespace gdcm
75
76 //-----------------------------------------------------------------------------
77 #endif