aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/kernel_helpers.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-06-28 14:41:24 -0700
committerbunnei <bunneidev@gmail.com>2021-07-20 18:54:55 -0700
commit015058fadf8dbc72c186e833512e7189c625474b (patch)
treebc8839ef4b46c86283fda20cf95e4b0c6ab18e54 /src/core/hle/service/kernel_helpers.h
parent929994132a4f39ca4ab2975caf47a2a99a19b518 (diff)
hle: service: Add a helper module for managing kernel objects.
Diffstat (limited to 'src/core/hle/service/kernel_helpers.h')
-rw-r--r--src/core/hle/service/kernel_helpers.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/hle/service/kernel_helpers.h b/src/core/hle/service/kernel_helpers.h
new file mode 100644
index 000000000..4f3e95f67
--- /dev/null
+++ b/src/core/hle/service/kernel_helpers.h
@@ -0,0 +1,35 @@
+// Copyright 2021 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <string>
+
+namespace Core {
+class System;
+}
+
+namespace Kernel {
+class KernelCore;
+class KEvent;
+class KProcess;
+} // namespace Kernel
+
+namespace Service::KernelHelpers {
+
+class ServiceContext {
+public:
+ ServiceContext(Core::System& system_, std::string name_);
+ ~ServiceContext();
+
+ Kernel::KEvent* CreateEvent(std::string&& name);
+
+ void CloseEvent(Kernel::KEvent* event);
+
+private:
+ Kernel::KernelCore& kernel;
+ Kernel::KProcess* process{};
+};
+
+} // namespace Service::KernelHelpers