]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Pipeline/Events.h
...
[cpPlugins.git] / lib / cpPlugins / Pipeline / Events.h
1 #ifndef __cpPlugins__Pipeline__Events__h__
2 #define __cpPlugins__Pipeline__Events__h__
3
4 #include <cpPlugins/Config.h>
5 #include <itkEventObject.h>
6
7 // -------------------------------------------------------------------------
8 #define cpPluginsEventsOpenMacro( name )                                \
9   class name                                                            \
10     : public itk::AnyEvent                                              \
11   {                                                                     \
12   public:                                                               \
13     typedef name          Self;                                         \
14     typedef itk::AnyEvent Superclass;                                   \
15   public:                                                               \
16     name( ) : Superclass( ) { }                                         \
17       virtual ~name( )      { }                                         \
18       const char* GetEventName( ) const                                 \
19       { return( "cpPlugins::Pipeline::Events::#name" ); }               \
20       bool CheckEvent( const itk::EventObject* e ) const                \
21       { return( dynamic_cast< const Self* >( e ) != NULL ); }           \
22       itk::EventObject* MakeObject( ) const                             \
23       { return( new Self( ) ); }
24
25 // -------------------------------------------------------------------------
26 #define cpPluginsEventsCloseMacro( name )       \
27   }
28
29 namespace cpPlugins
30 {
31   namespace Pipeline
32   {
33     namespace Events
34     {
35       /**
36        */
37       cpPluginsEventsOpenMacro( Modified )
38         public:
39       itk::ModifiedTimeType Time;
40       long                  Span;
41       cpPluginsEventsCloseMacro( Modified );
42
43     } // ecapseman
44
45   } // ecapseman
46
47 } // ecapseman
48
49 #endif // __cpPlugins__Pipeline__Events__h__
50
51 // eof - $RCSfile$