X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmGlobal.h;h=fbe1e4580fbabbb4bcec42e6cf5844ff0811e536;hb=224876ca6cbe71952f2a1d66d9853eca7745d3a0;hp=e17c8ed5941126dee481b4a8b7262f8d68bb4f00;hpb=1bc5ccd72098866fc29ca8a786e8bb6852f388ea;p=gdcm.git diff --git a/src/gdcmGlobal.h b/src/gdcmGlobal.h index e17c8ed5..fbe1e458 100644 --- a/src/gdcmGlobal.h +++ b/src/gdcmGlobal.h @@ -1,34 +1,77 @@ -// gdcmGlobal.h -//----------------------------------------------------------------------------- -#ifndef GDCMGLOBAL_H -#define GDCMGLOBAL_H +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmGlobal.h,v $ + Language: C++ + Date: $Date: 2007/08/22 16:14:04 $ + Version: $Revision: 1.13 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + +#ifndef _GDCMGLOBAL_H_ +#define _GDCMGLOBAL_H_ -#include "gdcmVR.h" -#include "gdcmTS.h" -#include "gdcmDictSet.h" -#include "gdcmDicomDirElement.h" +#include "gdcmCommon.h" +namespace GDCM_NAME_SPACE +{ +class DictSet; +class VR; +class TS; +class DictGroupName; +class DicomDirElement; //----------------------------------------------------------------------------- /** * \brief This class contains all globals elements that might be * instanciated only once (singletons). */ -class GDCM_EXPORT gdcmGlobal { +class Dict; +class GDCM_EXPORT Global +{ +friend class DictSet; // to allow setting DefaultPubDict without + // providing anybody an accesor ! public: - gdcmGlobal(void); - ~gdcmGlobal(); + Global(); + ~Global(); - static gdcmDictSet *GetDicts(void); - static gdcmVR *GetVR(void); - static gdcmTS *GetTS(void); - static gdcmDicomDirElement *GetDicomDirElements(void); + /// \brief returns a pointer to Dictionaries Table + static DictSet *GetDicts() { return Dicts;} + /// \brief returns a pointer to the 'Value Representation Table' + static VR *GetVR(){ return ValRes; } + /// \brief returns a pointer to the 'Transfer Syntax Table' + static TS *GetTS(){ return TranSyn; } + /// \brief returns a pointer to the Group name correspondance table + static DictGroupName *GetDictGroupName() { return GroupName; } + /// \brief returns a pointer to the DicomDir related elements Table + static DicomDirElement *GetDicomDirElements(){ return ddElem; } private: - static gdcmDictSet *Dicts; - static gdcmVR *VR; - static gdcmTS *TS; - static gdcmDicomDirElement *ddElem; + /// Pointer to a container, holding _all_ the Dicom Dictionaries. + static DictSet *Dicts; + /// Pointer to a hash table containing the 'Value Representations'. + static VR *ValRes; + /// \brief Pointer to a hash table containing the Transfer Syntax codes + /// and their english description + static TS *TranSyn; + /// \brief Pointer to a hash table containing the Group codes + /// and their english name (from NIH) + static DictGroupName *GroupName; + /// \brief Pointer to the hash table containing the Dicom Elements necessary + /// to describe each part of a DICOMDIR + static DicomDirElement *ddElem; + /// pointer to the Default Public Dictionnary, redundantly store here, + /// in order not to acces the HTable every time! + static Dict *DefaultPubDict; }; +} // end namespace gdcm //----------------------------------------------------------------------------- #endif