aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/object.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-08-01 22:40:00 -0400
committerLioncash <mathew1800@gmail.com>2018-08-01 23:34:42 -0400
commitbf45092c616987a3b58b7a859811938f885aa4d1 (patch)
tree805c60b2692d6a700bea69e5181f9010065134f8 /src/core/hle/kernel/object.cpp
parent746d7d4d280d87606d5033ca28b05261435b927d (diff)
kernel: Move object class to its own source files
General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code.
Diffstat (limited to 'src/core/hle/kernel/object.cpp')
-rw-r--r--src/core/hle/kernel/object.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/hle/kernel/object.cpp b/src/core/hle/kernel/object.cpp
new file mode 100644
index 0000000000..cdba272f57
--- /dev/null
+++ b/src/core/hle/kernel/object.cpp
@@ -0,0 +1,35 @@
+// Copyright 2018 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "common/assert.h"
+#include "core/hle/kernel/object.h"
+
+namespace Kernel {
+
+Object::~Object() = default;
+
+bool Object::IsWaitable() const {
+ switch (GetHandleType()) {
+ case HandleType::Event:
+ case HandleType::Thread:
+ case HandleType::Timer:
+ case HandleType::ServerPort:
+ case HandleType::ServerSession:
+ return true;
+
+ case HandleType::Unknown:
+ case HandleType::SharedMemory:
+ case HandleType::Process:
+ case HandleType::AddressArbiter:
+ case HandleType::ResourceLimit:
+ case HandleType::CodeSet:
+ case HandleType::ClientPort:
+ case HandleType::ClientSession:
+ return false;
+ }
+
+ UNREACHABLE();
+}
+
+} // namespace Kernel