]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/DataObject.cxx
Garbage collector added
[cpPlugins.git] / lib / cpPlugins / Interface / DataObject.cxx
index 310cbb3b8d91db6b3454fe5909759600e49decfb..21b5f1d416d4dbfe0046e11b5799c333ead3f54d 100644 (file)
@@ -1,42 +1,42 @@
 #include <cpPlugins/Interface/DataObject.h>
 
 // -------------------------------------------------------------------------
-cpPlugins::Interface::DataObject::
-DataObject( )
-  : Superclass( ),
-    m_Source( NULL )
+std::string cpPlugins::Interface::DataObject::
+GetClassName( ) const
 {
+  return( "cpPlugins::Interface::DataObject" );
 }
 
 // -------------------------------------------------------------------------
-cpPlugins::Interface::DataObject::
-~DataObject( )
+std::string cpPlugins::Interface::DataObject::
+GetClassType( ) const
 {
+  return( "DataObject" );
 }
 
 // -------------------------------------------------------------------------
-std::string cpPlugins::Interface::DataObject::
-GetClassName( ) const
+itk::DataObject* cpPlugins::Interface::DataObject::
+GetRealDataObject( ) const
 {
-  return( "cpPlugins::Interface::DataObject" );
+  return( this->m_RealDataObject );
 }
 
 // -------------------------------------------------------------------------
-itk::DataObject* cpPlugins::Interface::DataObject::
-GetDataObject( ) const
+void cpPlugins::Interface::DataObject::
+SetRealDataObject( itk::DataObject* dobj )
 {
-  return( this->m_DataObject );
+  this->m_RealDataObject = dobj;
 }
 
 // -------------------------------------------------------------------------
-void cpPlugins::Interface::DataObject::
-SetDataObject( itk::DataObject* dobj )
+cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
+GetSource( )
 {
-  this->m_DataObject = dobj;
+  return( this->m_Source );
 }
 
 // -------------------------------------------------------------------------
-cpPlugins::Interface::ProcessObject* cpPlugins::Interface::DataObject::
+const cpPlugins::Interface::Object* cpPlugins::Interface::DataObject::
 GetSource( ) const
 {
   return( this->m_Source );
@@ -44,7 +44,7 @@ GetSource( ) const
 
 // -------------------------------------------------------------------------
 void cpPlugins::Interface::DataObject::
-SetSource( cpPlugins::Interface::ProcessObject* src )
+SetSource( cpPlugins::Interface::Object* src )
 {
   this->m_Source = src;
 }
@@ -53,12 +53,27 @@ SetSource( cpPlugins::Interface::ProcessObject* src )
 void cpPlugins::Interface::DataObject::
 DisconnectPipeline( )
 {
-  if( this->m_DataObject.IsNotNull( ) )
+  if( this->m_RealDataObject.IsNotNull( ) )
   {
-    this->m_DataObject->DisconnectPipeline( );
-    this->m_Source = NULL;
+    this->m_RealDataObject->DisconnectPipeline( );
+    if( this->m_Source.IsNotNull( ) )
+      this->m_Source->Delete( );
+    this->Register( );
 
   } // fi
 }
 
+// -------------------------------------------------------------------------
+cpPlugins::Interface::DataObject::
+DataObject( )
+  : Superclass( )
+{
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::Interface::DataObject::
+~DataObject( )
+{
+}
+
 // eof - $RCSfile$