]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/DataObject.cxx
Moved to version 1.0
[cpPlugins.git] / lib / cpPlugins / DataObject.cxx
diff --git a/lib/cpPlugins/DataObject.cxx b/lib/cpPlugins/DataObject.cxx
new file mode 100644 (file)
index 0000000..0131507
--- /dev/null
@@ -0,0 +1,56 @@
+// =========================================================================
+// @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
+// =========================================================================
+
+#include <cpPlugins/DataObject.h>
+#include <cpPlugins/ProcessObject.h>
+
+// -------------------------------------------------------------------------
+bool cpPlugins::DataObject::
+IsUpdated( const TTimeStamp& d ) const
+{
+  bool ok = this->Superclass::IsUpdated( d );
+  if( !( this->m_Source.expired( ) ) )
+    ok = this->m_Source.lock( )->IsUpdated( d );
+  return( ok );
+}
+
+// -------------------------------------------------------------------------
+void cpPlugins::DataObject::
+DisconnectPipeline( )
+{
+  this->m_Source.reset( );
+}
+
+// -------------------------------------------------------------------------
+void cpPlugins::DataObject::
+SetSource( cpPlugins::ProcessObject* source )
+{
+  if( source != NULL )
+    this->m_Source = source->CastWeakPtr< cpPlugins::ProcessObject >( );
+  else
+    this->m_Source.reset( );
+}
+
+// -------------------------------------------------------------------------
+void cpPlugins::DataObject::
+Update( )
+{
+  if( !( this->m_Source.expired( ) ) )
+    this->m_Source.lock( )->Cast< cpPlugins::ProcessObject >( )->Update( );
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::DataObject::
+DataObject( )
+  : Superclass( )
+{
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::DataObject::
+~DataObject( )
+{
+}
+
+// eof - $RCSfile$