]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Interface/Object.h
03eb2ae1f912047a88153ad96031f91a7bb4e480
[cpPlugins.git] / lib / cpPlugins / Interface / Object.h
1 #ifndef __CPPLUGINS__INTERFACE__OBJECT__H__
2 #define __CPPLUGINS__INTERFACE__OBJECT__H__
3
4 #include <cpPlugins/Interface/Macros.h>
5
6 #include <string>
7 #include <itkObject.h>
8 #include <itkObjectFactory.h>
9
10 namespace cpPlugins
11 {
12   namespace Interface
13   {
14     /**
15      */
16     class cpPlugins_Interface_EXPORT Object
17       : public itk::Object
18     {
19     public:
20       typedef Object                          Self;
21       typedef itk::Object                     Superclass;
22       typedef itk::SmartPointer< Self >       Pointer;
23       typedef itk::SmartPointer< const Self > ConstPointer;
24
25     public:
26       itkNewMacro( Self );
27       itkTypeMacro( Object, itkObject );
28       cpPlugins_Id_Macro( Object, "BaseObject" );
29
30       itkGetStringMacro( Name );
31       itkSetStringMacro( Name );
32
33     protected:
34       Object( );
35       virtual ~Object( );
36
37     private:
38       // Purposely not implemented
39       Object( const Self& );
40       Self& operator=( const Self& );
41
42     protected:
43       std::string m_Name;
44     };
45
46   } // ecapseman
47
48 } // ecapseman
49
50 #endif // __CPPLUGINS__INTERFACE__OBJECT__H__
51
52 // eof - $RCSfile$