Program: gdcm
Module: $RCSfile: gdcmDocEntrySet.cxx,v $
Language: C++
- Date: $Date: 2005/10/21 10:48:16 $
- Version: $Revision: 1.64 $
+ Date: $Date: 2005/10/27 09:13:18 $
+ Version: $Revision: 1.67 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
{
DocEntry *currentEntry = GetDocEntry(group, elem);
if ( !currentEntry )
- {
- gdcmWarningMacro( "No corresponding SeqEntry " << std::hex << group <<
- "," << elem);
return NULL;
- }
-
+
return dynamic_cast<SeqEntry*>(currentEntry);
}
if ( !AddEntry(dataEntry) )
{
gdcmWarningMacro("AddEntry failed although this is a creation.");
-
- delete dataEntry;
+ dataEntry->Delete();
return NULL;
}
+ dataEntry->Delete();
}
// Set the dataEntry value
if ( !AddEntry(dataEntry) )
{
gdcmWarningMacro( "AddEntry failed although this is a creation.");
-
- delete dataEntry;
+ dataEntry->Delete();
return NULL;
}
+ dataEntry->Delete();
}
// Set the dataEntry value
if ( !AddEntry(seqEntry) )
{
gdcmWarningMacro( "AddEntry failed although this is a creation.");
-
- delete seqEntry;
+ seqEntry->Delete();
return NULL;
}
+ seqEntry->Delete();
}
// TODO : Find a trick to insert a SequenceDelimitationItem
* @param group Group number of the new Entry
* @param elem Element number of the new Entry
* @param vr V(alue) R(epresentation) of the new Entry
+ * \remarks The user of this method must destroy the DataEntry when unused
*/
DataEntry *DocEntrySet::NewDataEntry(uint16_t group,uint16_t elem,
VRKey const &vr)
{
DictEntry *dictEntry = GetDictEntry(group, elem, vr);
- DataEntry *newEntry = new DataEntry(dictEntry);
+ DataEntry *newEntry = DataEntry::New(dictEntry);
dictEntry->Unregister(); // GetDictEntry register it
if (!newEntry)
{
* a default one when absent.
* @param group Group number of the new Entry
* @param elem Element number of the new Entry
+ * \remarks The user of this method must destroy the SeqEntry when unused
*/
SeqEntry* DocEntrySet::NewSeqEntry(uint16_t group, uint16_t elem)
{
DictEntry *dictEntry = GetDictEntry(group, elem, "SQ");
- SeqEntry *newEntry = new SeqEntry( dictEntry );
+ SeqEntry *newEntry = SeqEntry::New( dictEntry );
dictEntry->Unregister(); // GetDictEntry register it
if (!newEntry)
{