00001
00002
00003 #ifndef GDCMDICTSET_H
00004 #define GDCMDICTSET_H
00005
00006 #include "gdcmDict.h"
00007 #include <map>
00008 #include <list>
00009
00010 typedef std::string DictKey;
00011 typedef std::map<DictKey, gdcmDict*> DictSetHT;
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 class GDCM_EXPORT gdcmDictSet {
00023 public:
00024
00025
00026
00027
00028
00029
00030
00031 gdcmDictSet(void);
00032 ~gdcmDictSet(void);
00033
00034 void Print(std::ostream& os);
00035
00036 std::list<std::string> *GetPubDictEntryNames(void);
00037 std::map<std::string, std::list<std::string> > *
00038 GetPubDictEntryNamesByCategory(void);
00039
00040 gdcmDict *LoadDictFromFile(std::string FileName, DictKey Name);
00041
00042 gdcmDict *GetDict(DictKey DictName);
00043 gdcmDict *GetDefaultPubDict(void);
00044
00045 gdcmDictEntry *NewVirtualDictEntry(guint16 group, guint16 element,
00046 std::string vr = "Unknown",
00047 std::string fourth = "Unknown",
00048 std::string name = "Unknown");
00049
00050 static std::string BuildDictPath(void);
00051
00052 protected:
00053 bool AppendDict(gdcmDict *NewDict,DictKey Name);
00054
00055 private:
00057 DictSetHT Dicts;
00059 std::string DictPath;
00060
00061 std::map<std::string,gdcmDictEntry *> virtualEntry;
00062 };
00063
00064
00065 #endif