-class GDCM_EXPORT gdcmDictSet {
-private:
- DictSetHT dicts;
- int AppendDict(gdcmDict* NewDict);
- void LoadDictFromFile(string filename, DictKey);
+class GDCM_EXPORT DictSet : public Base
+{
+public:
+ DictSet();
+ ~DictSet();
+
+ void Print(std::ostream &os = std::cout, std::string const &indent = "" );
+
+ // Probabely useless !
+ //EntryNamesList *GetPubDictEntryNames();
+ //EntryNamesByCatMap *GetPubDictEntryNamesByCategory();
+
+ Dict *LoadDictFromFile( std::string const &fileName,
+ DictKey const &name );
+
+ Dict *GetDict( DictKey const &DictName );
+
+ /// \brief Returns the default reference DICOM V3 public dictionary.
+ Dict* GetDefaultPubDict() { return GetDict(PUB_DICT_NAME); };
+
+ // \ brief Returns the virtual references DICOM dictionary.
+ // \ warning : not end user intended
+ // Dict *GetVirtualDict() { return &VirtualEntries; };
+
+ DictEntry *NewVirtualDictEntry(uint16_t group, uint16_t elem,
+ TagName vr = GDCM_UNKNOWN,
+ TagName vm = GDCM_UNKNOWN,
+ TagName name = GDCM_UNKNOWN);
+
+ Dict *GetFirstEntry();
+ Dict *GetNextEntry();
+
+ static std::string BuildDictPath();
+
+protected:
+ bool AppendDict(Dict *NewDict, DictKey const &name);
+