#include <LT_Object.h>
Производные классы:TestGen_SK, TestGenAlone_SK и UObject_SK.
Классы | |
| 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.
Используется в UniSetObject_LT::askTimer(), ObjectsManager_LT::askTimer() и IONotifyController_LT::askTimer().
| timeout_t LT_Object::checkTimers | ( | UniSetObject * | obj | ) |
основная функция обработки.
| obj | - указатель на объект, которому посылается уведомление |
Перекрестные ссылки PassiveTimer::getCurrent(), UniSetTimer::MinQuantityTime, UniSetObject::push(), PassiveTimer::reset(), UniSetTypes::unideb и UniSetTimer::WaitUpTime.
Используется в UniSetObject_LT::callback(), ObjectsManager_LT::callback() и IONotifyController_LT::callback().
1.5.9