00001 #ifndef OBTEvent_H
00002 #define OBTEvent_H
00003
00004 #include "OBT.h"
00005
00006 namespace OBT
00007 {
00090 template < class TSource>
00091 class Event
00092 {
00093 public:
00094
00099 Event( const TSource& source ) ;
00100
00104 virtual ~Event() ;
00105
00110 const TSource& getSource() const ;
00111
00112 private:
00113
00115 const TSource* source_ ;
00116 };
00117
00118
00119
00120
00121 template < class TSource >
00122 Event< TSource >::Event( const TSource& source )
00123 :
00124 source_( &source )
00125 {
00126 }
00127
00128
00129
00130
00131 template < class TSource >
00132 Event< TSource >::~Event()
00133 {
00134 }
00135
00136
00137
00138
00139 template < class TSource >
00140 inline const TSource&
00141 Event< TSource >::getSource() const
00142 {
00143 return *source_ ;
00144 }
00145 }
00146 #endif