summaryrefslogtreecommitdiffhomepage
path: root/Private/KernelKit/ProcessManager.hpp
diff options
context:
space:
mode:
authoramlal <amlal@el-mahrouss-logic.com>2024-03-08 12:35:05 +0000
committeramlal <amlal@el-mahrouss-logic.com>2024-03-08 12:43:36 +0000
commit6f5eddc17785607e1cd5e8245d576874f1939beb (patch)
treedbc1f113be4e90b0de8de6916c7bd5084f6f604b /Private/KernelKit/ProcessManager.hpp
parent842d35cdd8511adf379c4ccb52010b9b71e0757f (diff)
HCR-14: Fixes and improvements.
Signed-off-by: amlal <amlal@el-mahrouss-logic.com>
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..