]> Creatis software - gdcm.git/blob - src/gdcmDocEntrySet.h
Last commit before the final(?) one, for the new version.
[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    virtual bool AddEntry(gdcmDocEntry *Entry) = 0; // pure virtual
20    bool CheckEntryVR(gdcmDocEntry *Entry, std::string vr); 
21    virtual void Print (std::ostream & os = std::cout) = 0;// pure virtual
22
23    inline int GetDepthLevel(void) 
24       {return(SQDepthLevel);}
25    void SetDepthLevel(int depth) 
26       {SQDepthLevel = depth;}
27          
28 protected:
29
30    void gdcmDocEntrySet::FindDocEntryLength (gdcmDocEntry *Entry);
31    
32    // DocEntry related utilities
33     
34    virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, 
35                                              guint16 element)=0; // pure virtual
36    virtual gdcmDocEntry *NewDocEntryByName  (std::string Name)=0;// pure virtual  
37
38    int SQDepthLevel;
39                                                           
40 private:
41     
42 };
43
44
45 //-----------------------------------------------------------------------------
46 #endif
47