X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcpPlugins%2FInterface%2FObject.h;h=03eb2ae1f912047a88153ad96031f91a7bb4e480;hb=00b54bc0344d74f31df8b93f7c28a07cfc8d6873;hp=d4436f68db36a6619947081124fd61275e120a21;hpb=c29448936abc15d110205b2da435035131398a87;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/Object.h b/lib/cpPlugins/Interface/Object.h index d4436f6..03eb2ae 100644 --- a/lib/cpPlugins/Interface/Object.h +++ b/lib/cpPlugins/Interface/Object.h @@ -1,9 +1,11 @@ #ifndef __CPPLUGINS__INTERFACE__OBJECT__H__ #define __CPPLUGINS__INTERFACE__OBJECT__H__ +#include + #include -#include -#include +#include +#include namespace cpPlugins { @@ -12,16 +14,34 @@ namespace cpPlugins /** */ class cpPlugins_Interface_EXPORT Object + : public itk::Object { public: + typedef Object Self; + typedef itk::Object Superclass; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; + + public: + itkNewMacro( Self ); + itkTypeMacro( Object, itkObject ); + cpPlugins_Id_Macro( Object, "BaseObject" ); + + itkGetStringMacro( Name ); + itkSetStringMacro( Name ); + + protected: Object( ); virtual ~Object( ); - virtual std::string GetClassName( ) const; - }; + private: + // Purposely not implemented + Object( const Self& ); + Self& operator=( const Self& ); - // TODO: doc - PLUMA_PROVIDER_HEADER( Object ); + protected: + std::string m_Name; + }; } // ecapseman