]> Creatis software - gdcm.git/blob - src/gdcmSQItem.h
general commit of (future) new classes.
[gdcm.git] / src / gdcmSQItem.h
1 // gdcmSQItem.h
2 //-----------------------------------------------------------------------------
3 #ifndef GDCMSQITEM_H
4 #define GDCMSQITEM_H
5
6 #include <list>
7
8 #include "gdcmDocEntry.h"
9 #include "gdcmDocEntrySet.h"
10
11 //-----------------------------------------------------------------------------
12 typedef std::list<gdcmDocEntry *> ListDocEntry;
13 //-----------------------------------------------------------------------------
14 class GDCM_EXPORT gdcmSQItem : public gdcmDocEntrySet
15 {
16 public:
17    gdcmSQItem(void);
18    ~gdcmSQItem(void);
19
20    virtual void Print(std::ostream &os = std::cout); 
21
22  /// \brief   returns the DocEntry chained List for this SQ Item.
23    inline ListDocEntry &GetDocEntries() 
24       {return docEntries;};   
25    
26  /// \brief   adds the passed DocEntry to the DocEntry chained List for this SQ Item.      
27    inline void AddDocEntry(gdcmDocEntry *e) 
28       {docEntries.push_back(e);};         
29
30    virtual bool AddEntry(gdcmDocEntry *Entry); // add to the List
31                
32 protected:
33
34 private:
35
36    // DocEntry related utilities 
37    
38       
39    virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group,
40                                              guint16 element);
41    virtual gdcmDocEntry *NewDocEntryByName  (std::string Name); 
42
43 // Variables
44
45 /// \brief chained list of (Elementary) Doc Entries
46   ListDocEntry docEntries;
47 };
48
49
50 //-----------------------------------------------------------------------------
51 #endif
52