-map<string, list<string> > * gdcmDictSet::GetPubDictTagNamesByCategory(void) {
- map<string, list<string> > * Result = new map<string, list<string> >;
- TagKeyHT entries = gdcmDictSet::DefaultPubDict->GetEntries();
+std::map<std::string, std::list<std::string> > *gdcmDictSet::GetPubDictEntryNamesByCategory(void)
+{
+ return(GetDefaultPubDict()->GetDictEntryNamesByCategory());
+}
+
+/**
+ * \ingroup gdcmDictSet
+ * \brief Loads a dictionary from a specified file, and add it
+ * to already the existing ones contained in this gdcmDictSet.
+ * @param FileName Absolute or relative filename containing the
+ * dictionary to load.
+ * @param Name Symbolic name that be used as identifier of the newly
+ * created dictionary.
+ */
+gdcmDict *gdcmDictSet::LoadDictFromFile(std::string FileName, DictKey Name)
+{
+ gdcmDict *NewDict = new gdcmDict(FileName);
+ AppendDict(NewDict,Name);
+ return(NewDict);
+}
+
+/**
+ * \ingroup gdcmDictSet
+ * \brief Retrieve the specified dictionary (when existing) from this
+ * gdcmDictSet.
+ * @param DictName The symbolic name of the searched dictionary.
+ * \result The retrieved dictionary.
+ */
+gdcmDict *gdcmDictSet::GetDict(DictKey DictName)
+{
+ DictSetHT::iterator dict = Dicts.find(DictName);
+ if(dict!=Dicts.end())
+ return dict->second;
+ return NULL;
+}
+
+/**
+ * \ingroup gdcmDictSet
+ * \brief Retrieve the default reference DICOM V3 public dictionary.
+ * \result The retrieved default dictionary.
+ */
+gdcmDict *gdcmDictSet::GetDefaultPubDict()
+{
+ return GetDict(PUB_DICT_NAME);
+}