00001 /*========================================================================= 00002 00003 Program: gdcm 00004 Module: $RCSfile: gdcmDictSet.h,v $ 00005 Language: C++ 00006 Date: $Date: 2007/08/22 16:14:04 $ 00007 Version: $Revision: 1.55 $ 00008 00009 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de 00010 l'Image). All rights reserved. See Doc/License.txt or 00011 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. 00012 00013 This software is distributed WITHOUT ANY WARRANTY; without even 00014 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00015 PURPOSE. See the above copyright notices for more information. 00016 00017 =========================================================================*/ 00018 00019 #ifndef _GDCMDICTSET_H 00020 #define _GDCMDICTSET_H 00021 00022 #include "gdcmRefCounter.h" 00023 #include "gdcmDict.h" 00024 #include "gdcmGlobal.h" 00025 00026 #include <map> 00027 #include <list> 00028 00029 namespace GDCM_NAME_SPACE 00030 { 00031 //----------------------------------------------------------------------------- 00032 typedef std::map<DictKey, Dict*> DictSetHT; 00033 00034 //----------------------------------------------------------------------------- 00042 class GDCM_EXPORT DictSet : public RefCounter 00043 { 00044 gdcmTypeMacro(DictSet); 00045 00046 public: 00048 static DictSet *New() {return new DictSet();} 00049 00050 void Print(std::ostream &os = std::cout, std::string const &indent = "" ); 00051 00052 // Probabely useless ! 00053 //EntryNamesList *GetPubDictEntryNames(); 00054 //EntryNamesByCatMap *GetPubDictEntryNamesByCategory(); 00055 00056 Dict *LoadDictFromFile( std::string const &fileName, 00057 DictKey const &name ); 00058 00059 Dict *GetDict( DictKey const &DictName ); 00060 00062 //Dict* GetDefaultPubDict() { return GetDict(PUB_DICT_NAME); } 00063 Dict* GetDefaultPubDict() { return Global::DefaultPubDict; } 00064 00065 // \ brief Returns the virtual references DICOM dictionary. 00066 // \ warning : not end user intended 00067 // Dict *GetVirtualDict() { return &VirtualEntries; } 00068 00069 Dict *GetFirstDict(); 00070 Dict *GetNextDict(); 00071 00072 static std::string BuildDictPath(); 00073 00074 protected: 00075 DictSet(); 00076 ~DictSet(); 00077 00078 private: 00080 DictSetHT Dicts; 00082 DictSetHT::iterator ItDictHt; 00083 00085 std::string DictPath; 00086 }; 00087 } // end namespace gdcm 00088 00089 //----------------------------------------------------------------------------- 00090 #endif
1.4.6