2 //-----------------------------------------------------------------------------
3 #ifndef GDCMDOCENTRYSET_H
4 #define GDCMDOCENTRYSET_H
6 #include "gdcmException.h"
7 #include "gdcmDocEntry.h"
9 //-----------------------------------------------------------------------------
11 class GDCM_EXPORT gdcmDocEntrySet
16 gdcmDocEntrySet(int depth = 0);
17 ~gdcmDocEntrySet(void);
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);
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
26 /// \brief Gets the depth level of a Dicom Header Entry embedded in a SeQuence
27 inline int GetDepthLevel(void)
28 {return(SQDepthLevel);}
30 /// \brief Sets the depth level of a Dicom Header Entry embedded in a SeQuence
31 inline void SetDepthLevel(int depth)
32 {SQDepthLevel = depth;}
36 // void gdcmDocEntrySet::FindDocEntryLength (gdcmDocEntry *Entry);
38 // DocEntry related utilities
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
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
51 /// Gives the depth level of the element set inside SeQuences
59 //-----------------------------------------------------------------------------