home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-17 | 822 b | 45 lines | [TEXT/CWIE] |
- // ApplicationTaskQueue.h
-
- #ifndef ApplicationTaskQueue_h
- #define ApplicationTaskQueue_h
-
- #ifndef BoundMethod_h
- #include "BoundMethod.h"
- #endif
- #ifndef OSQueue_h
- #include "OSQueue.h"
- #endif
- #ifndef ApplicationTime_h
- #include "ApplicationTime.h"
- #endif
-
- class ApplicationWaker;
-
- class ApplicationTaskQueue
- {
- public:
- typedef OSQueueLink<ApplicationTimeProcedure> Link;
-
- private:
- ApplicationWaker& waker;
- OSQueue< ApplicationTimeProcedure > queue;
-
- ApplicationTaskQueue();
- ~ApplicationTaskQueue() { Assert( ApplicationTime::IsNow() ); }
-
- // not implemented:
- ApplicationTaskQueue( const ApplicationTaskQueue& );
- void operator=( const ApplicationTaskQueue& );
-
- public:
- static ApplicationTaskQueue& The();
-
- bool IsEmpty() const;
-
- void Put( Link& );
-
- void ExecuteOne();
- };
-
- #endif
-