diff --git a/Code/ApplicationEngine/otbWrapperApplication.cxx b/Code/ApplicationEngine/otbWrapperApplication.cxx index f4f08676c28c30a48c774efe3f85afe5d7071277..af47ed6724cbc3fff03b9bf248aa858d6fb1a947 100644 --- a/Code/ApplicationEngine/otbWrapperApplication.cxx +++ b/Code/ApplicationEngine/otbWrapperApplication.cxx @@ -35,6 +35,8 @@ #include "otbWrapperParameterGroup.h" +#include "otbWrapperAddProcessToWatchEvent.h" + namespace otb { namespace Wrapper @@ -125,7 +127,9 @@ void Application::ExecuteAndWriteOutput() { Parameter* param = GetParameterByKey(*it); OutputImageParameter* outputParam = dynamic_cast<OutputImageParameter*>(param); + outputParam->InitializeWriters(); m_CurrentProcess = outputParam->GetWriter(); + AddProcess(outputParam->GetWriter(),"Writer "); outputParam->Write(); m_WroteOutput++; } @@ -754,12 +758,21 @@ Application::IsApplicationReady() // Check all Input Parameters if (!this->HasValue(*it) && IsMandatory(*it)) { - ready = false; + return false; } } return ready; } +void +Application::AddProcess(itk::ProcessObject* object, std::string description) +{ + AddProcessToWatchEvent event; + event.SetProcess(object); + event.SetProcessDescription(description); + this->InvokeEvent(event); +} + } } diff --git a/Code/ApplicationEngine/otbWrapperApplication.h b/Code/ApplicationEngine/otbWrapperApplication.h index 1fd4c9fa65d0ddccf99afc28c43650f4cc1c5a19..05035adbbc9d2b8e93de624fdf61f25f2274eddc 100644 --- a/Code/ApplicationEngine/otbWrapperApplication.h +++ b/Code/ApplicationEngine/otbWrapperApplication.h @@ -39,7 +39,7 @@ namespace Wrapper * TODO * */ - class ITK_EXPORT Application: public itk::Object +class ITK_EXPORT Application: public itk::Object { public: /** Standard class typedefs. */ @@ -353,6 +353,8 @@ public: itk::Logger* GetLogger(); + void AddProcess(itk::ProcessObject* object, std::string description); + protected: /** Constructor */ Application();