+ GDCM_LEGACY( bool Load(std::string const &filename) );
+ bool Load( );
+ void Print(std::ostream &os = std::cout, std::string const &indent = "" );
+
+ /// Sets the root Directory name to parse, recursively
+ void SetDirectoryName(std::string const &dirName)
+ { ParseDir = true; if (Filename != dirName)
+ Filename = dirName, IsDocumentModified = true; }
+ /// Accessor to \ref Filename
+ virtual void SetFileName(std::string const &fileName)
+ { ParseDir = false; if (Filename != fileName)
+ Filename = fileName, IsDocumentModified = true;}
+
+ /// DEPRECATED : use SetDirectoryName
+ GDCM_LEGACY( void SetParseDir(bool parseDir) );
+
+ // Informations contained in the parser
+ virtual bool IsReadable();
+
+ // Meta
+ DicomDirMeta *NewMeta();
+ /// Returns a pointer to the DicomDirMeta for this DICOMDIR.
+ DicomDirMeta *GetMeta() { return MetaElems; }
+
+ // Patients
+ DicomDirPatient *NewPatient();
+ void ClearPatient();
+
+ DicomDirPatient *GetFirstPatient();
+ DicomDirPatient *GetNextPatient();
+
+ // Parsing
+ void ParseDirectory();
+
+ // Note: the DicomDir:: namespace prefix is needed by Swig in the
+ // following method declarations. Refer to gdcmPython/gdcm.i
+ // for the reasons of this unnecessary notation at C++ level.
+ void SetStartMethod( DicomDir::Method *method,
+ void *arg = NULL );
+ void SetProgressMethod( DicomDir::Method *method,
+ void *arg = NULL );
+ void SetEndMethod( DicomDir::Method *method,
+ void *arg = NULL );
+ // Note: replace DicomDir::Method *method to void(*method)(void *) to
+ // avoid wrapping problems with the typemap conversions
+ void SetStartMethod( void(*method)(void *), // DicomDir::Method *method
+ void *arg,
+ void(*argDelete)(void *));
+ void SetProgressMethod( void(*method)(void *), // DicomDir::Method *method
+ void *arg,
+ void(*argDelete)(void *));
+ void SetEndMethod( void(*method)(void *), // DicomDir::Method *method
+ void *arg,
+ void(*argDelete)(void *));
+ void SetStartMethodArgDelete ( DicomDir::Method *method );
+ void SetProgressMethodArgDelete( DicomDir::Method *method );
+ void SetEndMethodArgDelete ( DicomDir::Method *method );
+
+ /// GetProgress GetProgress
+ float GetProgress() { return Progress; }
+ /// AbortProgress AbortProgress
+ void AbortProgress() { Abort = true; }
+ /// IsAborted IsAborted
+ bool IsAborted() { return Abort; }
+
+ // Write
+ bool Write(std::string const &fileName);
+
+ bool Anonymize();
+
+ /// Types of the DicomDirObject within the DicomDir