+
+/**
+ * \ingroup gdcmDictSet
+ * \brief Create a gdcmDictEntry which will be reference
+ * in no dictionnary
+ * @return virtual entry
+ */
+gdcmDictEntry *gdcmDictSet::NewVirtualDictEntry(guint16 group, guint16 element,
+ std::string vr,std::string fourth,
+ std::string name)
+{
+ gdcmDictEntry *entry;
+ std::string tag=gdcmDictEntry::TranslateToKey(group,element)+"#"+vr+"#"+fourth+"#"+name;
+ std::map<std::string,gdcmDictEntry *>::iterator it;
+
+ it=virtualEntry.find(tag);
+ if(it!=virtualEntry.end())
+ {
+ entry=it->second;
+ }
+ else
+ {
+ entry=new gdcmDictEntry(group,element,vr,fourth,name);
+ virtualEntry[tag]=entry;
+ }
+ return(entry);
+}
+
+/**
+ * \ingroup gdcmDictSet
+ * \brief Obtain from the GDCM_DICT_PATH environnement variable the
+ * path to directory containing the dictionnaries. When
+ * the environnement variable is absent the path is defaulted
+ * to "../Dicts/".
+ * @return path to directory containing the dictionnaries
+ */
+std::string gdcmDictSet::BuildDictPath(void)
+{
+ std::string ResultPath;
+ const char *EnvPath = (char*)0;
+ EnvPath = getenv("GDCM_DICT_PATH");
+ if (EnvPath && (strlen(EnvPath) != 0))
+ {
+ ResultPath = EnvPath;
+ if (ResultPath[ResultPath.length() -1] != '/' )
+ ResultPath += '/';
+ dbg.Verbose(1, "gdcmDictSet::BuildDictPath:",
+ "Dictionary path set from environnement");
+ }
+ else
+ ResultPath = PUB_DICT_PATH;
+ return ResultPath;
+}
+
+//-----------------------------------------------------------------------------
+// Protected
+bool gdcmDictSet::AppendDict(gdcmDict *NewDict,DictKey Name)
+{
+ Dicts[Name] = NewDict;
+ return(true);
+}
+
+//-----------------------------------------------------------------------------
+// Private
+
+//-----------------------------------------------------------------------------
+
+