forked from byterazor/EventManager
ADD: support disable scheduling by manager
This commit is contained in:
parent
2141eb0c61
commit
c2a609c913
@ -139,6 +139,11 @@
|
|||||||
*/
|
*/
|
||||||
void _enableScheduling();
|
void _enableScheduling();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief disable scheduling of this particpant through the EventManager::Manager
|
||||||
|
*/
|
||||||
|
void _disableScheduling();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief check if the participant is scheduled by event manager
|
* @brief check if the participant is scheduled by event manager
|
||||||
*/
|
*/
|
||||||
|
@ -118,6 +118,14 @@ void EventManager::Participant::_enableScheduling()
|
|||||||
isScheduledByManager_=true;
|
isScheduledByManager_=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EventManager::Participant::_disableScheduling() {
|
||||||
|
if (manager_ == nullptr) {
|
||||||
|
throw std::runtime_error("no event manager set yet");
|
||||||
|
}
|
||||||
|
manager_->unschedule(shared_from_this());
|
||||||
|
isScheduledByManager_ = false;
|
||||||
|
}
|
||||||
|
|
||||||
void EventManager::Participant::_subscribe(std::uint32_t type)
|
void EventManager::Participant::_subscribe(std::uint32_t type)
|
||||||
{
|
{
|
||||||
if (manager_ == nullptr)
|
if (manager_ == nullptr)
|
||||||
|
Loading…
Reference in New Issue
Block a user