- // TODO: do the same for other activity kinds once comms are cleaned up
- auto* exec = dynamic_cast<activity::ExecImpl*>(action->get_activity());
- if (exec != nullptr && exec->get_actor() == maestro_) {
- exec->set_finish_time(action->get_finish_time());
- exec->get_iface()->complete(s4u::Activity::State::FINISHED);
- }
- auto* io = dynamic_cast<activity::IoImpl*>(action->get_activity());
- if (io != nullptr && io->get_actor() == maestro_)
- io->get_iface()->complete(s4u::Activity::State::FINISHED);
+ action->get_activity()->set_finish_time(action->get_finish_time());
+
+ if (action->get_activity()->get_actor() == maestro_)
+ action->get_activity()->get_iface()->complete(s4u::Activity::State::FINISHED);