00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GDCMDICTSET_H
00020 #define GDCMDICTSET_H
00021
00022 #include "gdcmRefCounter.h"
00023 #include "gdcmDict.h"
00024
00025 #include <map>
00026 #include <list>
00027
00028 namespace gdcm
00029 {
00030
00031 typedef std::map<DictKey, Dict*> DictSetHT;
00032
00033
00041 class GDCM_EXPORT DictSet : public RefCounter
00042 {
00043 gdcmTypeMacro(DictSet);
00044
00045 public:
00047 static DictSet *New() {return new DictSet();}
00048
00049 void Print(std::ostream &os = std::cout, std::string const &indent = "" );
00050
00051
00052
00053
00054
00055 Dict *LoadDictFromFile( std::string const &fileName,
00056 DictKey const &name );
00057
00058 Dict *GetDict( DictKey const &DictName );
00059
00061 Dict* GetDefaultPubDict() { return GetDict(PUB_DICT_NAME); }
00062
00063
00064
00065
00066
00067 Dict *GetFirstDict();
00068 Dict *GetNextDict();
00069
00070 static std::string BuildDictPath();
00071
00072 protected:
00073 DictSet();
00074 ~DictSet();
00075
00076 private:
00078 DictSetHT Dicts;
00080 DictSetHT::iterator ItDictHt;
00081
00083 std::string DictPath;
00084 };
00085 }
00086
00087
00088 #endif