home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-11 | 630 b | 48 lines | [TEXT/CWIE] |
- // Task.h
-
- #ifndef Task_h
- #define Task_h
-
- #ifndef Assert_h
- #include "Assert.h"
- #endif
- #ifndef DeferredTaskTime_h
- #include "DeferredTaskTime.h"
- #endif
-
- class TaskLife;
-
- class Task
- {
- friend class TaskLife;
-
- private:
- TaskLife *life;
-
- // not implemented:
- Task( const Task& );
- void operator=( const Task& );
-
- protected:
- Task()
- : life( 0 )
- {
- Assert( !DeferredTaskTime::IsNow() );
- }
-
- ~Task()
- {
- Assert( life == 0 );
- Assert( !DeferredTaskTime::IsNow() );
- }
-
- virtual void Launch() = 0;
- virtual void Kill() = 0;
-
- virtual void AtCompletion() {}
-
- void Complete();
- };
-
- #endif
-