Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_VIRTCLK_H__
00020 #define __CS_VIRTCLK_H__
00021
00026 #include "csextern.h"
00027 #include "csutil/scf_implementation.h"
00028 #include "iutil/virtclk.h"
00029
00035 class CS_CRYSTALSPACE_EXPORT csVirtualClock :
00036 public scfImplementation1<csVirtualClock, iVirtualClock>
00037 {
00038 private:
00040 enum
00041 {
00043 flagSuspended = 1,
00049 flagFirstShot = 2
00050 };
00052 csTicks elapsedTime;
00054 csTicks currentVirtualTime;
00056 csTicks currentRealTime;
00057 uint flags;
00058 public:
00059 csVirtualClock ();
00060 virtual ~csVirtualClock ();
00061
00062 virtual void Advance ();
00063 virtual void Suspend ();
00064 virtual void Resume ();
00065 virtual csTicks GetElapsedTicks () const { return elapsedTime; }
00066 virtual csTicks GetCurrentTicks () const { return currentVirtualTime; }
00067 };
00068
00069 #endif // __CS_VIRTCLK_H__
00070