+ /// \brief canonical Printer
+ /// \sa SetPrintLevel
+ virtual void Print(std::ostream &os = std::cout);
+
+// Informations contained in the parser
+ virtual bool IsReadable();
+
+ /// Returns a pointer to the gdcmDicomDirMeta for this DICOMDIR.
+ gdcmDicomDirMeta* GetDicomDirMeta() { return metaElems; };
+
+ /// Returns the PATIENT chained List for this DICOMDIR.
+ ListDicomDirPatient &GetDicomDirPatients() { return patients; };
+
+// Parsing
+ void ParseDirectory();
+
+ void SetStartMethod(gdcmMethod *,void * =NULL,gdcmMethod * =NULL);
+ void SetStartMethodArgDelete(gdcmMethod *);
+ void SetProgressMethod(gdcmMethod *,void * =NULL,gdcmMethod * =NULL);
+ void SetProgressMethodArgDelete(gdcmMethod *);
+ void SetEndMethod(gdcmMethod *,void * =NULL,gdcmMethod * =NULL);
+ void SetEndMethodArgDelete(gdcmMethod *);
+
+ /// GetProgress GetProgress
+ float GetProgress() { return progress; };
+
+ /// AbortProgress AbortProgress
+ void AbortProgress() { abort = true; };
+
+ /// IsAborted IsAborted
+ bool IsAborted() { return abort; };
+
+// Adding
+ gdcmDicomDirMeta* NewMeta();
+ gdcmDicomDirPatient* NewPatient();
+
+// Write
+ bool Write(std::string const & fileName);
+
+ /// Types of the gdcmObject within the gdcmDicomDir
+ typedef enum
+ {
+ GDCM_DICOMDIR_NONE,
+ GDCM_DICOMDIR_META,
+ GDCM_DICOMDIR_PATIENT,
+ GDCM_DICOMDIR_STUDY,
+ GDCM_DICOMDIR_SERIE,
+ GDCM_DICOMDIR_IMAGE,
+ } gdcmDicomDirType;