00001 #ifndef HYSTERESIS_IMPLEMENTATION_FILE 00002 #define HYSTERESIS_IMPLEMENTATION_FILE 00003 00004 /*****************************************************************************\ 00005 * * 00006 * Name : hysteresis * 00007 * Author : Chris Koeritz * 00008 * * 00009 ******************************************************************************* 00010 * Copyright (c) 1998-$now By Author. This program is free software; you can * 00011 * redistribute it and/or modify it under the terms of the GNU General Public * 00012 * License as published by the Free Software Foundation; either version 2 of * 00013 * the License or (at your option) any later version. This is online at: * 00014 * http://www.fsf.org/copyleft/gpl.html * 00015 * Please send any updates to: fred@gruntose.com * 00016 \*****************************************************************************/ 00017 00018 #include "hysteresis.h" 00019 00020 #include <basis/istring.h> 00021 00022 bool hysteresis::time_to_process() { return (_end_of_wait < time_stamp()) 00023 || (_last_event < time_stamp(-_staleness_period)); } 00024 00025 istring hysteresis::text_form() const 00026 { 00027 return istring(istring::SPRINTF, "staleness_period=%d, longest_delay=%d, " 00028 "end_of_wait=", _staleness_period, _longest_delay) 00029 + _end_of_wait.text_form() + istring(", last_event=") 00030 + _last_event.text_form(); 00031 } 00032 00033 00034 00035 #endif //HYSTERESIS_IMPLEMENTATION_FILE 00036
1.5.1