00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __OBJECT_H__
00023 #define __OBJECT_H__
00024
00025 #include <string>
00026 #include <boost/utility.hpp>
00027 #include <boost/signal.hpp>
00028
00029 namespace Spm
00030 {
00031 namespace Util
00032 {
00033 class Object : boost::noncopyable
00034 {
00035 protected :
00036 std::string __name;
00037 boost::signal<void (Object *)> __modified;
00038 public :
00039 virtual ~Object ()
00040 {
00041 }
00042 const std::string & getName ()
00043 {
00044 return __name;
00045 }
00046
00047 const std::string & getName () const
00048 {
00049 return __name;
00050 }
00051
00052 boost::signal<void (Object *)> & modified ()
00053 {
00054 return __modified;
00055 }
00056 };
00057 }
00058 }
00059 #endif