summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit/ProcessManager.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'Private/KernelKit/ProcessManager.hpp')
-rw-r--r--Private/KernelKit/ProcessManager.hpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/Private/KernelKit/ProcessManager.hpp b/Private/KernelKit/ProcessManager.hpp
index d7a3d39e..0eb3f80e 100644
--- a/Private/KernelKit/ProcessManager.hpp
+++ b/Private/KernelKit/ProcessManager.hpp
@@ -24,6 +24,10 @@
////////////////////////////////////////////////////
namespace HCore {
+class Process;
+class ProcessTeam;
+class ProcessManager;
+
//! @brief Process identifier.
typedef Int64 ProcessID;
@@ -180,6 +184,24 @@ class Process final {
friend ProcessHelper;
};
+/// \brief Processs Team (contains multiple processes inside it.)
+/// Equivalent to a process batch
+class ProcessTeam final {
+public:
+ explicit ProcessTeam() = default;
+ ~ProcessTeam() = default;
+
+ HCORE_COPY_DEFAULT(ProcessTeam);
+
+ MutableArray<Ref<Process>>& AsArray() { return mProcessList; }
+ Ref<Process>& AsRef() { return mCurrentProcess; }
+
+public:
+ MutableArray<Ref<Process>> mProcessList;
+ Ref<Process> mCurrentProcess;
+
+};
+
using ProcessPtr = Process *;
//! @brief Kernel scheduler..