Compare commits
2 Commits
9a0efd0b62
...
8f78070770
Author | SHA1 | Date | |
---|---|---|---|
8f78070770 | |||
437feb597d |
@ -135,6 +135,16 @@
|
||||
*/
|
||||
bool isScheduledByManager() const {return isScheduledByManager_;}
|
||||
|
||||
/**
|
||||
* @brief connect a new participant through another participant
|
||||
*/
|
||||
void connect(std::shared_ptr<EventManager::Participant> participant);
|
||||
|
||||
/**
|
||||
* @brief disconnect a participant through another participant
|
||||
*/
|
||||
void disconnect(std::shared_ptr<EventManager::Participant> participant);
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor setting the participant up for use
|
||||
|
@ -331,3 +331,8 @@
|
||||
participant->setManager(shared_from_this());
|
||||
participant->init();
|
||||
}
|
||||
|
||||
void EventManager::Manager::disconnect(std::shared_ptr<EventManager::Participant> participant)
|
||||
{
|
||||
participant->setManager(nullptr);
|
||||
}
|
||||
|
@ -18,6 +18,25 @@ EventManager::Participant::Participant() : manager_(nullptr),
|
||||
|
||||
}
|
||||
|
||||
void EventManager::Participant::connect(std::shared_ptr<EventManager::Participant> participant)
|
||||
{
|
||||
if (manager_ == nullptr)
|
||||
{
|
||||
throw std::runtime_error("no event manager set yet");
|
||||
}
|
||||
manager_->connect(participant);
|
||||
}
|
||||
|
||||
void EventManager::Participant::disconnect(std::shared_ptr<EventManager::Participant> participant)
|
||||
{
|
||||
if (manager_ == nullptr)
|
||||
{
|
||||
throw std::runtime_error("no event manager set yet");
|
||||
}
|
||||
manager_->disconnect(participant);
|
||||
}
|
||||
|
||||
|
||||
void EventManager::Participant::emit(std::shared_ptr<EventManager::Event> event)
|
||||
{
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user