]> Creatis software - gdcm.git/blob - src/gdcmDocEntrySet.h
Still in a debugging status.
[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 //   bool CheckEntryVR(gdcmDocEntry *Entry, std::string vr);
23          
24 /// \brief prints any type of entry to the entry set (pure vitual)      
25    virtual void Print (std::ostream & os = std::cout) = 0;// pure virtual
26
27    /// \brief Gets the depth level of a Dicom Header Entry embedded in a SeQuence
28    inline int GetDepthLevel(void) 
29       {return(SQDepthLevel);}
30                 
31    /// \brief Sets the depth level of a Dicom Header Entry embedded in a SeQuence
32    inline void SetDepthLevel(int depth) 
33       {SQDepthLevel = depth;}
34          
35 protected:
36
37 //   void gdcmDocEntrySet::FindDocEntryLength (gdcmDocEntry *Entry);
38    
39    // DocEntry related utilities
40     
41  /// \brief   Build a new Element Value from all the low level arguments. 
42  ///         Check for existence of dictionary entry, and build
43  ///          a default one when absent (pure virtual)
44    virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, 
45                                              guint16 element)=0; // pure virtual
46
47  /// \brief   Build a new Element Value from all the low level arguments. 
48  ///         Check for existence of dictionary entry, and build
49  ///          a default one when absent (pure virtual)
50     virtual gdcmDocEntry *NewDocEntryByName  (std::string Name)=0;// pure virtual  
51
52    /// Gives the depth level of the element set inside SeQuences   
53    int SQDepthLevel;
54                                                           
55 private:
56     
57 };
58
59
60 //-----------------------------------------------------------------------------
61 #endif
62