00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GDCMSQDOCENTRY_H
00020 #define GDCMSQDOCENTRY_H
00021
00022 #include "gdcmDocEntry.h"
00023
00024 #include <list>
00025
00026 namespace gdcm
00027 {
00028 class SQItem;
00029
00030 typedef std::list<SQItem *> ListSQItem;
00031
00032
00040 class GDCM_EXPORT SeqEntry : public DocEntry
00041 {
00042 public:
00043 SeqEntry( DictEntry *e);
00044 SeqEntry( DocEntry *d, int depth );
00045 ~SeqEntry();
00046
00047 void Print(std::ostream &os = std::cout, std::string const &indent = "" );
00048 void WriteContent(std::ofstream *fp, FileType filetype);
00049
00050 void AddSQItem(SQItem *it, int itemNumber);
00051 void ClearSQItem();
00052 SQItem *GetFirstSQItem();
00053 SQItem *GetNextSQItem();
00054 SQItem *GetSQItem(int itemNumber);
00055 unsigned int GetNumberOfSQItems();
00056
00058 void SetDelimitorMode(bool dm) { DelimitorMode = dm; }
00059
00061 void SetDelimitationItem(DocEntry *e) { SeqTerm = e; }
00062
00063
00065 DocEntry *GetDelimitationItem() { return SeqTerm;}
00066
00068 int GetDepthLevel() const { return SQDepthLevel; }
00070 void SetDepthLevel(int depth) { SQDepthLevel = depth; }
00071
00072 protected:
00073
00074 private:
00075
00077 bool DelimitorMode;
00078
00080 ListSQItem Items;
00082 ListSQItem::iterator ItSQItem;
00083
00085 DocEntry *SeqTerm;
00086
00091 int SQDepthLevel;
00092 };
00093 }
00094
00095 #endif
00096