paradiseo/eo/src/utils/eoUpdater.cpp
kuepper cf2a57dd88 Simplify configuration.
Remove support for (outdated) <strstream>, require <sstream>.
Require uint32_t for now, defined in stdint.h according to C99.
Some general cleanup and more documentation.
2005-09-28 21:49:26 +00:00

48 lines
797 B
C++

#ifdef _MSC_VER
#pragma warning(disable:4786)
#endif
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <sstream>
#include <utils/eoState.h>
#include <utils/eoUpdater.h>
using namespace std;
void eoTimedStateSaver::operator()(void)
{
time_t now = time(0);
if (now >= last_time + interval)
{
last_time = now;
ostringstream os;
os << prefix << (now - first_time) << '.' << extension;
state.save(os.str());
}
}
void eoCountedStateSaver::doItNow(void)
{
ostringstream os;
os << prefix << counter << '.' << extension;
state.save(os.str());
}
void eoCountedStateSaver::operator()(void)
{
if (++counter % interval == 0)
doItNow();
}
void eoCountedStateSaver::lastCall(void)
{
if (saveOnLastCall)
doItNow();
}