Plasma Engine  2.0
Loading...
Searching...
No Matches
ProcessGroup.h
1#pragma once
2
3#if PL_ENABLED(PL_SUPPORTS_PROCESSES)
4# include <Foundation/System/Process.h>
5
14class PL_FOUNDATION_DLL plProcessGroup
15{
16 PL_DISALLOW_COPY_AND_ASSIGN(plProcessGroup);
17
18public:
20 plProcessGroup(plStringView sGroupName = {});
21 ~plProcessGroup();
22
24 plResult Launch(const plProcessOptions& opt);
25
31 plResult WaitToFinish(plTime timeout = plTime::MakeZero());
32
37 plResult TerminateAll(plInt32 iForcedExitCode = -2);
38
42 const plHybridArray<plProcess, 8>& GetProcesses() const;
43
44private:
46
48};
49#endif
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
A Unique ptr manages an object and destroys that object when it goes out of scope....
Definition UniquePtr.h:10
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12
PL_ALWAYS_INLINE static constexpr plTime MakeZero()
Creates an instance of plTime that was initialized with zero.
Definition Time.h:42