FairMQ: Implement PluginServices - Control

This commit is contained in:
Dennis Klein
2017-06-26 15:30:08 +02:00
committed by Mohammad Al-Turany
parent 9b61b924b2
commit 739460b2fe
8 changed files with 200 additions and 50 deletions

View File

@@ -226,8 +226,13 @@ bool FairMQStateMachine::WaitForEndOfStateForMs(std::string event, int durationI
return WaitForEndOfStateForMs(GetEventNumber(event), durationInMs);
}
void FairMQStateMachine::OnStateChange(std::function<void(const State)> callback)
void FairMQStateMachine::OnStateChange(const std::string& key, std::function<void(const State)> callback)
{
fStateChangeCallback.connect(callback);
fStateChangeCallbacksMap.insert({key, fStateChangeCallback.connect(callback)});
}
void FairMQStateMachine::UnsubscribeFromStateChange(const std::string& key)
{
fStateChangeCallbacksMap.at(key).disconnect();
//fStateChangeCallbacksMap.erase(key);
}