62 template <
typename... Args>
65 auto p = std::make_shared<ChildProcess>();
67 if (! p->start (std::forward<Args> (args)...))
71 timer.startTimer (1000);
82 return listeners.addListener (std::move (listener));
90 return timer.isTimerRunning();
97 void checkProcesses();
99 std::set<std::shared_ptr<ChildProcess>> processes;
100 detail::CallbackListenerList<ChildProcess*> listeners;
101 TimedCallback timer { [
this] { checkProcesses(); } };
auto addChildProcessExitedListener(std::function< void(ChildProcess *)> listener)
auto hasRunningProcess() const
std::shared_ptr< ChildProcess > createAndStartManagedChildProcess(Args &&... args)