#include <string>
#include <list>
#include "gdcmCommon.h"
-
+#include "gdcmHeaderEntry.h"
+#include "gdcmParser.h"
//-----------------------------------------------------------------------------
-
-typedef std::list<std::string> lstring;
+class gdcmObject;
+typedef std::list<gdcmObject *> ListContent;
//-----------------------------------------------------------------------------
-
-class gdcmObject {
+class GDCM_EXPORT gdcmObject
+{
public:
+ gdcmObject(ListTag::iterator begin,ListTag::iterator end);
+ ~gdcmObject(void);
- virtual std::string GetEntryByNumber(guint16 group, guint16 element)=0;
- virtual std::string GetEntryByName(TagName name)=0;
+ void SetPrintLevel(int level) { printLevel = level; };
+ virtual void Print(std::ostream &os = std::cout);
-protected:
-
- //to modify (I don't know the list type) : both iterators (beginning and end)
- lstring::iterator beginIter;
- lstring::iterator endIter;
+ std::string GetEntryByNumber(guint16 group, guint16 element);
+ std::string GetEntryByName(TagName name);
- //pointer to the data list
- lstring *objectData;
+ TagHeaderEntryHT GetEntry(void);
+ ListTag GetListEntry(void);
+ ListTag::iterator debut(void) { return(beginObj);}
+ ListTag::iterator fin (void) { return(endObj); }
+
+protected:
+
+ ListTag::iterator beginObj;
+ ListTag::iterator endObj;
+ int printLevel;
+private:
};
//-----------------------------------------------------------------------------