+ gdcmTypeMacro(CommandStart);
+ gdcmNewMacro(CommandStart);
+
+public :
+ virtual void Execute()
+ {
+ std::cerr << "Start parsing" << std::endl;
+ }
+
+protected :
+ CommandStart() {}
+};
+
+class CommandEnd : public gdcm::Command
+{
+ gdcmTypeMacro(CommandEnd);
+ gdcmNewMacro(CommandEnd);
+
+public :
+ virtual void Execute()
+ {
+ std::cerr << "End parsing" << std::endl;
+ }
+
+protected :
+ CommandEnd() {}
+};
+
+class CommandProgress : public gdcm::Command
+{
+ gdcmTypeMacro(CommandProgress);
+ gdcmNewMacro(CommandProgress);
+
+public :
+ virtual void Execute()
+ {
+ gdcm::DicomDir *dd=dynamic_cast<gdcm::DicomDir *>(GetObject());
+
+ if(dd)
+ std::cerr << "Progress parsing (" << dd->GetProgress() << ")" << std::endl;
+ else
+ std::cerr << "Progress parsing (NULL)" << std::endl;
+ }
+
+protected :
+ CommandProgress() {}
+};