00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _eoSecondsElapsedContinue_h
00026 #define _eoSecondsElapsedContinue_h
00027
00028 #include <eoContinue.h>
00032 template< class EOT>
00033 class eoSecondsElapsedContinue: public eoContinue<EOT>
00034 {
00035 time_t start;
00036 int seconds;
00037 public:
00038
00039 eoSecondsElapsedContinue(int nSeconds) : start(time(0)), seconds(nSeconds) {}
00040
00041 virtual bool operator() ( const eoPop<EOT>& _vEO ) {
00042 time_t now = time(0);
00043 time_t diff = now - start;
00044
00045 if (diff >= seconds) return false;
00046 return true;
00047
00048 }
00049
00050
00051 virtual std::string className(void) const { return "eoSecondsElapsedContinue"; }
00052
00053 void readFrom (std :: istream & __is) {
00054
00055 __is >> start >> seconds;
00056 }
00057
00058 void printOn (std :: ostream & __os) const {
00059
00060 __os << start << ' ' << seconds << std :: endl;
00061 }
00062
00063 };
00064
00065 #endif
00066