home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C++ / Applications / Nuntius 1.2 / src / Nuntius / UPeriodic.h < prev    next >
Encoding:
Text File  |  1994-03-16  |  1.0 KB  |  42 lines  |  [TEXT/MPS ]

  1. // Copyright © 1993 Peter Speck (speck@dat.ruc.dk).  All rights reserved.
  2. // UPeriodic.h
  3.  
  4. #define __UPERIODIC__
  5.  
  6. class TDoTPeriodicActionCommand;
  7. class TThreadList;
  8.  
  9. class TPeriodicAction : public TEventHandler
  10. {
  11.     public:
  12.         virtual pascal Boolean DoIdle(IdlePhase phase); // override DoPeriodic
  13.  
  14.         virtual void WakeUp();
  15.         virtual void GoSleep();
  16.         virtual void SetSleep(unsigned long sleepTicks);
  17.         virtual Boolean IsBusy(); // true if having thread
  18.  
  19.         virtual void DumpDebugDescription();
  20.         
  21.         TPeriodicAction();
  22.         virtual pascal void Initialize();
  23.         void IPeriodicAction(Boolean useThread);
  24.         virtual void Close();
  25.         virtual pascal void Free();
  26.  
  27.     protected:
  28.         virtual void DoPeriodic(); // override to do your stuff        
  29.         virtual const char *GetDebugDescription(); // eg classname
  30.  
  31.         virtual Boolean NeedTime(); // default is true
  32.         virtual Boolean SkipFirstCheckAfterWakeUp(); // default is false
  33.  
  34.     private:
  35.         friend TDoPeriodicActionCommand;
  36.         
  37.         TThreadList *fThreadList;
  38.         unsigned long fLastCheckTick;
  39.         unsigned long fSleepTicks;
  40.         Boolean fCoHandlerInstalled;
  41. };
  42.