1 #ifndef UMPS_MODULES_PROCESSMANAGER_HPP
2 #define UMPS_MODULES_PROCESSMANAGER_HPP
15 namespace UMPS::Modules
41 void insert(std::unique_ptr<IProcess> &&process);
46 [[nodiscard]]
bool contains(
const std::string &name)
const noexcept;
67 class ProcessManagerImpl;
68 std::unique_ptr<ProcessManagerImpl> pImpl;
A module is typically comprised of multiple processes. This defines the essential qualities that cons...
Definition: process.hpp:13
This is a collection of processes. By adding processes to this module, all processes can be started a...
Definition: processManager.hpp:23
void start()
Attempts to start all processes.
void handleMainThread()
The main thread waits until a stop command is issued by a process.
void stop()
Attempts to stop all processes.
bool contains(const IProcess &process) const noexcept
bool isRunning() const noexcept
ProcessManager()
Constructor.
bool contains(const std::string &name) const noexcept
ProcessManager(std::shared_ptr< UMPS::Logging::ILog > &logger)
Constructs a process manager with a given logger.
void insert(std::unique_ptr< IProcess > &&process)
Adds a process to the manager.