1 #ifndef __CPPLUGINS__DATAOBJECT__H__
2 #define __CPPLUGINS__DATAOBJECT__H__
4 #include <cpPlugins/Object.h>
8 // Some forward declarations
13 class cpPlugins_EXPORT DataObject
17 typedef DataObject Self;
18 typedef Object Superclass;
19 typedef itk::SmartPointer< Self > Pointer;
20 typedef itk::SmartPointer< const Self > ConstPointer;
24 itkTypeMacro( DataObject, Object );
25 cpPlugins_Id_Macro( DataObject, Object );
28 ProcessObject* GetSource( );
29 const ProcessObject* GetSource( ) const;
30 void SetSource( ProcessObject* src );
32 void DisconnectFromPipeline( );
36 virtual ~DataObject( );
39 // Purposely not implemented
40 DataObject( const Self& );
41 Self& operator=( const Self& );
44 ProcessObject* m_Source;
49 #endif // __CPPLUGINS__DATAOBJECT__H__