X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmGlobal.cxx;h=1a31c1c60ee27c4054f766ed7e345939c75a2797;hb=e51bf0565bbe4c0e269dd941cb4071ebde6012e4;hp=d875390a31a8c121edd37b003aaba4f5981e43e3;hpb=1d69b92978803204089d270599133917d944c651;p=gdcm.git diff --git a/src/gdcmGlobal.cxx b/src/gdcmGlobal.cxx index d875390a..1a31c1c6 100644 --- a/src/gdcmGlobal.cxx +++ b/src/gdcmGlobal.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmGlobal.cxx,v $ Language: C++ - Date: $Date: 2004/10/12 04:35:46 $ - Version: $Revision: 1.5 $ + Date: $Date: 2005/02/11 15:22:18 $ + Version: $Revision: 1.21 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -17,52 +17,51 @@ =========================================================================*/ #include "gdcmGlobal.h" + #include "gdcmDebug.h" +#include "gdcmVR.h" +#include "gdcmTS.h" +#include "gdcmDictSet.h" +#include "gdcmDicomDirElement.h" namespace gdcm { +//----------------------------------------------------------------------------- +/// \brief Those global string that are return by reference everywhere in +/// gdcm code used to be in gdcmCommon.h but due to a 'bug' in gcc/MacOSX +/// you cannot have static initialization in a multithreaded environment +/// since there is a lazy construction everything got skrew up somehow +/// Therefore the actual initialization is done in a cxx file (avoid +/// duplicated symbol), and an extern is used in gdcmCommon.h +const std::string GDCM_UNKNOWN = "gdcm::Unknown"; +const std::string GDCM_UNFOUND = "gdcm::Unfound"; +const std::string GDCM_BINLOADED = "gdcm::Binary data loaded"; +const std::string GDCM_NOTLOADED = "gdcm::NotLoaded"; +const std::string GDCM_UNREAD = "gdcm::UnRead"; -/** - * \ingroup Globals - * \brief Pointer to a container, holding _all_ the Dicom Dictionaries. - */ -DictSet *Global::Dicts = (DictSet *)0; - -/** - * \ingroup Globals - * \brief Pointer to a hash table containing the 'Value Representations'. - */ -VR *Global::ValRes = (VR *)0; - -/** - * \ingroup Globals - * \brief Pointer to a hash table containing the Transfer Syntax codes - * and their english description - */ -TS *Global::TranSyn = (TS *)0; +//----------------------------------------------------------------------------- +DictSet *Global::Dicts = (DictSet *)0; +VR *Global::ValRes = (VR *)0; +TS *Global::TranSyn = (TS *)0; +DicomDirElement *Global::ddElem = (DicomDirElement *)0; +//----------------------------------------------------------------------------- /** - * \ingroup Globals - * \brief Pointer to the hash table containing the Dicom Elements - * necessary to describe each part of a DICOMDIR - */ -DicomDirElement *Global::ddElem = (DicomDirElement *)0; - -/** - * \ingroup Globals * \brief Global container */ Global Glob; +//------------------------------------------------------------------------- +// Constructor / Destructor /** - * \ingroup Global * \brief constructor : populates the various H Tables */ Global::Global() { if (ValRes || TranSyn || Dicts || ddElem) { - dbg.Verbose(0, "Global::Global : VR or TS or Dicts already allocated"); + gdcmWarningMacro( "VR or TS or Dicts already allocated"); + return; } Dicts = new DictSet(); ValRes = new VR(); @@ -71,7 +70,6 @@ Global::Global() } /** - * \ingroup Global * \brief canonical destructor */ Global::~Global() @@ -81,36 +79,49 @@ Global::~Global() delete TranSyn; delete ddElem; } + +//----------------------------------------------------------------------------- +// Public +/** + * \brief returns a pointer to Dictionaries Table + */ +DictSet *Global::GetDicts() +{ + return Dicts; +} + /** - * \ingroup Global * \brief returns a pointer to the 'Value Representation Table' */ VR *Global::GetVR() { return ValRes; } + /** - * \ingroup Global - * \brief returns a pointer to the 'Transfert Syntax Table' + * \brief returns a pointer to the 'Transfer Syntax Table' */ TS *Global::GetTS() { return TranSyn; } + /** - * \ingroup Global - * \brief returns a pointer to Dictionaries Table - */ -DictSet *Global::GetDicts() -{ - return Dicts; -} -/** - * \ingroup Global * \brief returns a pointer to the DicomDir related elements Table */ DicomDirElement *Global::GetDicomDirElements() { return ddElem; } + +//----------------------------------------------------------------------------- +// Protected + +//----------------------------------------------------------------------------- +// Private + +//----------------------------------------------------------------------------- +// Print + +//----------------------------------------------------------------------------- } // end namespace gdcm