00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef TIMER_H_
00009 #define TIMER_H_
00010 
00011 #include <boost/date_time/posix_time/posix_time.hpp>
00012 using namespace boost::posix_time;
00013 #include <utils.h>
00014 
00015 namespace FastEcslent {
00016 
00017 
00018         class MilliSecondTimer {
00019         private:
00020 
00021                 ptime start;
00022                 time_duration diff;
00023                 float         interval;
00024                 ptime current;
00025 
00026         public:
00027                 MilliSecondTimer(float inter) {
00028                         start = getCurrentTime();
00029                         interval = inter;
00030                 }
00031 
00032                 bool hasFired(){
00033                         current = getCurrentTime();
00034                         diff = current - start;
00035                         if (diff.total_milliseconds() > interval) {
00036                                 start = current;
00037                                 return true;
00038                         }
00039                         return false;
00040                 }
00041 
00042         };
00043 
00044 
00045 
00046 }
00047 
00048 
00049 #endif