]> Creatis software - cpPlugins.git/blobdiff - appli/examples/example_ReadImageSeriesWriteImage.cxx
Garbage collector added
[cpPlugins.git] / appli / examples / example_ReadImageSeriesWriteImage.cxx
index cab163c43a0f1d05844919e940e77caf9279aded..e2216ff7c1a997bf007611006b47ec77985d4776 100644 (file)
@@ -38,26 +38,20 @@ int main( int argc, char* argv[] )
   // Create objects
   typedef cpPlugins::Interface::ProcessObject TProcessObject;
   typedef TProcessObject::TParameters         TParameters;
-  cpPlugins::Interface::ProcessObject* reader;
-  cpPlugins::Interface::ProcessObject* writer;
+  cpPlugins::Interface::ProcessObject::Pointer reader;
+  cpPlugins::Interface::ProcessObject::Pointer writer;
 
   reader =
-    dynamic_cast< TProcessObject* >(
-      plugins.CreateObject( "cpPlugins::Plugins::ImageSeriesReader" )
-      );
-  if( reader == NULL )
+    plugins.CreateProcessObject( "cpPlugins::Plugins::ImageSeriesReader" );
+  if( reader.IsNull( ) )
   {
     std::cerr << "No suitable reader found in plugins." << std::endl;
     return( 1 );
 
   } // fi
-  writer =
-    dynamic_cast< TProcessObject* >(
-      plugins.CreateObject( "cpPlugins::Plugins::ImageWriter" )
-      );
-  if( writer == NULL )
+  writer = plugins.CreateProcessObject( "cpPlugins::Plugins::ImageWriter" );
+  if( writer.IsNull( ) )
   {
-    delete reader;
     std::cerr << "No suitable writer found in plugins." << std::endl;
     return( 1 );
 
@@ -84,10 +78,6 @@ int main( int argc, char* argv[] )
   if( msg != "" )
     std::cerr << "ERROR: " << msg << std::endl;
 
-  // Free memory
-  delete writer;
-  delete reader;
-
   return( 0 );
 }