20 using namespace EL::msgEventLoop;
31 ManagerData () noexcept
37 ~ManagerData () noexcept
43 addManager (std::unique_ptr<Manager>
manager)
45 if (managers.find (
manager->getManagerOrder()) != managers.end())
46 throw std::logic_error (
"duplicate manager order " +
std::to_string (
unsigned (
manager->getManagerOrder().first)) +
" " +
manager->getManagerOrder().second);
47 managers.insert (std::make_pair (
manager->getManagerOrder(), std::move (
manager)));
56 throw std::logic_error (
"ManagerData::run() called twice");
63 for (
const auto&
manager : managers)
65 if (
manager.second->doManagerStep (*this).isFailure())
69 return ::StatusCode::FAILURE;
73 return ::StatusCode::SUCCESS;