UniSet
1.4.0
|
#include <LT_Object.h>
Классы | |
class | Timer_eq |
struct | TimerInfo |
Открытые члены | |
timeout_t | askTimer (UniSetTypes::TimerId timerid, timeout_t timeMS, clock_t ticks=-1, UniSetTypes::Message::Priority p=UniSetTypes::Message::High) |
timeout_t | checkTimers (UniSetObject *obj) |
Защищенные типы | |
typedef std::list< TimerInfo > | TimersList |
Примерный код использования выглядит так:
class MyClass: public UniSetObject { ... int sleepTime; UniSetObject_LT lt; void callback(); } void callback() { // При реализации с использованием waitMessage() каждый раз при вызове askTimer() необходимо // проверять возвращаемое значение на UniSetTimers::WaitUpTime и вызывать termWaiting(), // чтобы избежать ситуации, когда процесс до заказа таймера 'спал'(в функции waitMessage()) и после // заказа продолжит спать(т.е. обработчик вызван не будет)... try { if( waitMessage(msg, sleepTime) ) processingMessage(&msg); sleepTime=lt.checkTimers(this); } catch(Exception& ex) { cout << myname << "(callback): " << ex << endl; } } void askTimers() { // проверяйте возвращаемое значение if( lt.askTimer(Timer1, 1000) != UniSetTimer::WaitUpTime ) termWaiting(); }
timeout_t LT_Object::askTimer | ( | UniSetTypes::TimerId | timerid, |
timeout_t | timeMS, | ||
clock_t | ticks = -1 , |
||
UniSetTypes::Message::Priority | p = UniSetTypes::Message::High |
||
) |
заказ таймера
timerid | - идентификатор таймера |
timeMS | - период. 0 - означает отказ от таймера |
ticks | - количество уведомлений. "-1"- постоянно |
p | - приоритет присылаемого сообщения |
Перекрестные ссылки DebugStream::debugging(), UniSetTimer::MinQuantityTime, UniSetTypes::unideb и UniSetTimer::WaitUpTime.
Используется в IONotifyController_LT::askTimer(), UniSetObject_LT::askTimer() и ObjectsManager_LT::askTimer().
timeout_t LT_Object::checkTimers | ( | UniSetObject * | obj | ) |
основная функция обработки.
obj | - указатель на объект, которому посылается уведомление |
Перекрестные ссылки PassiveTimer::getCurrent(), UniSetTimer::MinQuantityTime, UniSetObject::push(), PassiveTimer::reset(), UniSetTypes::unideb и UniSetTimer::WaitUpTime.
Используется в IONotifyController_LT::callback(), UniSetObject_LT::callback() и ObjectsManager_LT::callback().