home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-17 | 580 b | 40 lines | [TEXT/CWIE] |
- // Atomizer.cp
-
- #ifndef Atomizer_h
- #include "Atomizer.h"
- #endif
-
- Atomizer::Atomizer()
- : complete( this, &Atomizer::Complete ),
- function( 0 )
- {
- }
-
- Task *Atomizer::operator()( Procedure& theFunction )
- {
- function = &theFunction;
- return this;
- }
-
- void Atomizer::Launch()
- {
- Assert( function != 0 );
- if ( DeferredTaskTime::IsNow() )
- Complete( DeferredTaskTime() );
- else
- deferer.Defer( complete );
- }
-
- void Atomizer::Kill()
- {
- }
-
- void Atomizer::Complete( DeferredTaskTime )
- {
- Assert( function != 0 );
- (*function)();
- function = 0;
- Task::Complete();
- }
-
-