- static list<string> * GetPubDictTagNames(void);
- static map<string, list<string> >* GetPubDictTagNamesByCategory(void);
- static gdcmDict* LoadDefaultPubDict(void);
-
- gdcmDictSet(void);
- // TODO Swig int LoadDictFromFile(string filename);
- // QUESTION: the following function might not be thread safe !? Maybe
- // we need some mutex here, to avoid concurent creation of
- // the same dictionary !?!?!
- // TODO Swig int LoadDictFromName(string filename);
- // TODO Swig int LoadAllDictFromDirectory(string DirectoryName);
- // TODO Swig string* GetAllDictNames();
- //
- void Print(ostream&);
- gdcmDict* GetDict(DictKey DictName);
- gdcmDict* GetDefaultPubDict(void);
+/// \brief Contructs a DictSet with a RefCounter
+ static DictSet *New() {return new 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); }
+ Dict* GetDefaultPubDict() { return Global::DefaultPubDict; }
+
+ // \ brief Returns the virtual references DICOM dictionary.
+ // \ warning : not end user intended
+ // Dict *GetVirtualDict() { return &VirtualEntries; }
+
+ Dict *GetFirstDict();
+ Dict *GetNextDict();
+
+ static std::string BuildDictPath();
+
+protected:
+ DictSet();
+ ~DictSet();
+
+private:
+ /// Hash table of all dictionaries contained in this DictSet
+ DictSetHT Dicts;
+ /// Iterator to visit the Dictionaries of a given DictSet
+ DictSetHT::iterator ItDictHt;
+
+ /// Directory path to dictionaries
+ std::string DictPath;