Program: gdcm
Module: $RCSfile: gdcmGlobal.h,v $
Language: C++
- Date: $Date: 2004/10/12 04:35:46 $
- Version: $Revision: 1.4 $
+ 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
=========================================================================*/
-#ifndef GDCMGLOBAL_H
-#define GDCMGLOBAL_H
+#ifndef _GDCMGLOBAL_H_
+#define _GDCMGLOBAL_H_
-#include "gdcmVR.h"
-#include "gdcmTS.h"
-#include "gdcmDictSet.h"
-#include "gdcmDicomDirElement.h"
+#include "gdcmCommon.h"
-namespace gdcm
+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 Dict;
class GDCM_EXPORT Global
{
+friend class DictSet; // to allow setting DefaultPubDict without
+ // providing anybody an accesor !
public:
Global();
~Global();
- static DictSet *GetDicts();
- static VR *GetVR();
- static TS *GetTS();
- static DicomDirElement *GetDicomDirElements();
+ /// \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 DictSet *Dicts;
+ /// 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