- gdcmDicomDirElement(void);
- ~gdcmDicomDirElement(void);
-
- void Print(std::ostream &os);
-
- ListDicomDirMetaElem &GetDicomDirMetaElements(void)
- {return(DicomDirMetaList);};
- ListDicomDirPatientElem &GetDicomDirPatientElements(void)
- {return(DicomDirPatientList);};
- ListDicomDirStudyElem &GetDicomDirStudyElements(void)
- {return(DicomDirStudyList);};
- ListDicomDirSerieElem &GetDicomDirSerieElements(void)
- {return(DicomDirSerieList);};
- ListDicomDirImageElem &GetDicomDirImageElements(void)
- {return(DicomDirImageList);};
+/// \brief Contructs a DicomDirElement with a RefCounter
+ static DicomDirElement *New() {return new DicomDirElement();}
+
+ /**
+ * \brief canonical Printer
+ */
+ virtual void Print(std::ostream &os = std::cout,
+ std::string const &indent = "" );
+
+ /**
+ * \brief returns a reference to the chained List
+ * related to the META Elements of a DICOMDIR.
+ */
+ ListDicomDirMetaElem const &GetDicomDirMetaElements() const
+ { return DicomDirMetaList; }
+
+ /**
+ * \brief returns a reference to the chained List
+ * related to the PATIENT Elements of a DICOMDIR.
+ */
+ ListDicomDirPatientElem const &GetDicomDirPatientElements() const
+ { return DicomDirPatientList; }
+
+ /**
+ * \brief returns a reference to the chained List
+ * related to the STUDY Elements of a DICOMDIR.
+ */
+ ListDicomDirStudyElem const &GetDicomDirStudyElements() const
+ { return DicomDirStudyList; }
+
+ /**
+ * \brief returns a reference to the chained List
+ * related to the VISIT Elements of a DICOMDIR.
+ */
+ ListDicomDirVisitElem const &GetDicomDirVisitElements() const
+ { return DicomDirVisitList; }
+ /**
+ * \brief returns a reference to the chained List
+ * related to the SERIE Elements of a DICOMDIR.
+ */
+ ListDicomDirSerieElem const &GetDicomDirSerieElements() const
+ { return DicomDirSerieList; }
+
+ /**
+ * \brief returns a reference to the chained List
+ * related to the IMAGE Elements of a DICOMDIR.
+ */
+ ListDicomDirImageElem const &GetDicomDirImageElements() const
+ { return DicomDirImageList; }
+
+ /**
+ * \brief returns a reference to the chained List
+ * related to the PRIVATE Elements of a DICOMDIR.
+ */
+ ListDicomDirPrivateElem const &GetDicomDirPrivateElements() const
+ { return DicomDirPrivateList; }
+
+
+ // Public method to add an element
+ bool AddEntry(DicomDirType type, DicomElement const &elem);
+
+ // Only one instance of ddElem
+ void AddDicomDirElement(DicomDirType type,
+ uint16_t group, uint16_t elem, VRKey vr);
+
+protected:
+ DicomDirElement();
+ ~DicomDirElement();