]> Creatis software - gdcm.git/blob - src/gdcmElementSet.cxx
general commit of (future) new classes.
[gdcm.git] / src / gdcmElementSet.cxx
1 // gdcmElementSet.cxx
2 //-----------------------------------------------------------------------------
3 //
4 #include "gdcmElementSet.h"
5 #include "gdcmDebug.h"
6
7 //-----------------------------------------------------------------------------
8 // Constructor / Destructor
9 /**
10  * \ingroup gdcmElementSet
11  * \brief   Constructor from a given gdcmElementSet
12  */
13 gdcmElementSet::gdcmElementSet() {
14    //TagDocEntryHT tagHT est un champ de gdcmElementSet.
15    // inutile de faire new ?
16       
17 }
18
19 /**
20  * \ingroup gdcmElementSet
21  * \brief   Canonical destructor.
22  */
23 gdcmElementSet::~gdcmElementSet() 
24 {
25   gdcmDocEntry* EntryToDelete;  
26   for(TagDocEntryHT::iterator cc = tagHT.begin();cc != tagHT.end();++cc)
27    {
28       EntryToDelete = cc->second;
29       if ( EntryToDelete )
30          delete EntryToDelete;  // TODO : a verifier
31    }
32    tagHT.clear();
33 }
34
35
36 //-----------------------------------------------------------------------------
37 // Public
38
39 bool gdcmElementSet::AddEntry( gdcmDocEntry *NewEntry) {
40    TagKey key;
41    key = NewEntry->GetKey();
42
43    if(tagHT.count(key) == 1)
44    {
45       dbg.Verbose(1, "gdcmElementSet::AddEntry key already present: ", key.c_str());
46       return(false);
47    } 
48    else 
49    {
50       tagHT[NewEntry->GetKey()] = NewEntry;
51       return(true);
52    }   
53 }
54
55 // end-user intended : the guy *wants* to create his own SeQuence ?!?
56 gdcmDocEntry *gdcmElementSet::NewDocEntryByNumber(guint16 group,
57                                                   guint16 element) {
58 // TODO                           
59    gdcmDocEntry *a;   
60    return a;                              
61 }
62
63 gdcmDocEntry *gdcmElementSet::NewDocEntryByName  (std::string Name) {
64 // TODO :                         
65    gdcmDocEntry *a;   
66    return a;
67 }
68
69 //-----------------------------------------------------------------------------
70 // Protected
71
72 //-----------------------------------------------------------------------------
73 // Private