]> Creatis software - gdcm.git/blob - src/gdcmObject.h
67ba4737bd3773b76f910c98fe13a7f655f10b00
[gdcm.git] / src / gdcmObject.h
1 // gdcmObject.h
2 //-----------------------------------------------------------------------------
3 #ifndef GDCMOBJECT_H
4 #define GDCMOBJECT_H
5
6 #include <string>
7 #include <list>
8 #include "gdcmCommon.h"
9 #include "gdcmDocEntry.h"
10 //#include "gdcmParser.h"
11 #include "gdcmDocument.h"
12 #include "gdcmDicomDirElement.h"
13 #include "gdcmSQItem.h"
14
15 //-----------------------------------------------------------------------------
16 class gdcmObject;
17 typedef std::list<gdcmObject *> ListContent;
18
19 //-----------------------------------------------------------------------------
20 /**
21  * \ingroup gdcmObject
22  * \brief   Base object
23  */
24 class GDCM_EXPORT gdcmObject : public gdcmSQItem
25 {
26 public:
27
28    /**
29     * \ingroup gdcmParser
30     * \brief   Sets the print level for the Dicom Header 
31     * \note    0 for Light Print; 1 for 'medium' Print, 2 for Heavy
32     */
33    void SetPrintLevel(int level) 
34       { printLevel = level; };
35       
36   // std::string GetEntryByNumber(guint16 group, guint16 element);
37   // std::string GetEntryByName(TagName name);
38    bool SetEntryByNumber(std::string val,guint16 group,guint16 element);
39    
40    TagDocEntryHT GetEntry(void);
41    void FillObject(std::list<gdcmElement> elemList);
42
43 protected:
44
45  // constructor and destructor are protected to avoid end user to instanciate this class.
46    gdcmObject(TagDocEntryHT *ptagHT, int depth = 0);
47    virtual ~gdcmObject(void);
48
49 // variables :
50
51 ///\brief detail level to be printed 
52    int printLevel;
53
54 private:
55 };
56
57 //-----------------------------------------------------------------------------
58 #endif