#ifndef __CPPLUGINS__INTERFACE__OBJECT__H__
#define __CPPLUGINS__INTERFACE__OBJECT__H__
+#include <cpPlugins/Interface/Macros.h>
+
#include <string>
-#include <Pluma/Pluma.hpp>
#include <itkObject.h>
#include <itkObjectFactory.h>
-#include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
-
-// -------------------------------------------------------------------------
-#define PLUMA_PROVIDER_HEADER_CPPLUGINS( TYPE ) \
- PLUMA_PROVIDER_HEADER_BEGIN( TYPE ) \
- virtual TYPE::Pointer create( ) const = 0; \
- PLUMA_PROVIDER_HEADER_END
-
-// -------------------------------------------------------------------------
-#define PLUMA_INHERIT_PROVIDER_CPPLUGINS( TYPE, SUPER ) \
- class TYPE##Provider \
- : public SUPER##Provider \
- { \
- public: \
- SUPER::Pointer create( ) const \
- { \
- TYPE::Pointer a = TYPE::New( ); \
- SUPER::Pointer b = a.GetPointer( ); \
- return( b ); \
- } \
- };
namespace cpPlugins
{
public:
itkNewMacro( Self );
itkTypeMacro( Object, itkObject );
+ cpPlugins_Id_Macro( Object, "BaseObject" );
- public:
- virtual std::string GetClassName( ) const;
- virtual std::string GetClassType( ) const;
+ itkGetStringMacro( Name );
+ itkSetStringMacro( Name );
protected:
Object( );
// Purposely not implemented
Object( const Self& );
Self& operator=( const Self& );
- };
- // TODO: doc
- PLUMA_PROVIDER_HEADER_CPPLUGINS( Object );
+ protected:
+ std::string m_Name;
+ };
} // ecapseman