]> Creatis software - gdcm.git/blob - src/gdcmDocEntrySet.h
general commit of (future) new classes.
[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(void); 
17    ~gdcmDocEntrySet(void);
18
19    void FindDocEntryLength (gdcmDocEntry *Entry, FileType filetype, FILE* fp);
20    virtual bool AddEntry(gdcmDocEntry *Entry) =0; // pure virtual
21    bool CheckEntryVR(gdcmDocEntry *Entry, std::string vr);
22    gdcmDictEntry *NewVirtualDictEntry(guint16 group, 
23                                       guint16 element,
24                                       std::string vr     = "unkn",
25                                       std::string fourth = "unkn",
26                                       std::string name   = "unkn"); 
27                                           
28 protected:
29
30    void gdcmDocEntrySet::FindDocEntryLength (gdcmDocEntry *Entry);
31       
32 private:
33    
34    // DocEntry related utilities
35     
36    virtual gdcmDocEntry *NewDocEntryByNumber(guint16 group, 
37                                              guint16 element)=0; // pure virtual
38    virtual gdcmDocEntry *NewDocEntryByName  (std::string Name)=0; // pure virtual  
39   
40      
41 };
42
43
44 //-----------------------------------------------------------------------------
45 #endif
46