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