]> Creatis software - gdcm.git/blob - src/gdcmDocEntrySet.h
* In order to fix memory leaks:
[gdcm.git] / src / gdcmDocEntrySet.h
1 // gdcmDocEntrySet.h
2 //-----------------------------------------------------------------------------
3 #ifndef GDCMDOCENTRYSET_H
4 #define GDCMDOCENTRYSET_H
5
6 #include "gdcmException.h"
7 #include "gdcmDocEntry.h"
8  
9 //-----------------------------------------------------------------------------
10
11 class GDCM_EXPORT gdcmDocEntrySet
12 {
13
14 public:
15
16    gdcmDocEntrySet(int depth = 0); 
17    ~gdcmDocEntrySet(void);
18
19    /// \brief adds any type of entry to the entry set (pure vitual)
20    virtual bool AddEntry(gdcmDocEntry *Entry) = 0; // pure virtual
21          
22    /// \brief prints any type of entry to the entry set (pure vitual)
23    virtual void Print (std::ostream & os = std::cout) = 0;// pure virtual
24
25    /// \brief Gets the depth level of a Dicom Header Entry embedded in a
26    ///        SeQuence
27    inline int GetDepthLevel(void) {return(SQDepthLevel);}
28
29    /// \brief Sets the depth level of a Dicom Header Entry embedded in a
30    /// SeQuence
31    inline void SetDepthLevel(int depth) {SQDepthLevel = depth;}
32          
33 protected:
34    /// \brief   Build a new Element Value from all the low level arguments. 
35    ///         Check for existence of dictionary entry, and build
36    ///          a default one when absent (pure virtual)
37    virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, 
38                                              guint16 element)=0; // pure virtual
39
40    /// \brief   Build a new Element Value from all the low level arguments. 
41    ///         Check for existence of dictionary entry, and build
42    ///          a default one when absent (pure virtual)
43    virtual gdcmDocEntry *NewDocEntryByName  (std::string Name)=0;// pure virtual  
44    /// Gives the depth level of the element set inside SeQuences   
45    int SQDepthLevel;
46
47 private:
48     
49 };
50
51
52 //-----------------------------------------------------------------------------
53 #endif
54