diff options
| author | 2017-06-08 23:55:18 -0700 | |
|---|---|---|
| committer | 2017-06-11 13:07:33 -0700 | |
| commit | 05fee702117dd5000109257ac35efe28c820d828 (patch) | |
| tree | 3fff26257b7cab86738dcad26e2bf12bf22fcae8 /src/core/hle/kernel | |
| parent | ServiceFramework: Use separate copy of command buffer (diff) | |
| download | yuzu-05fee702117dd5000109257ac35efe28c820d828.tar.gz yuzu-05fee702117dd5000109257ac35efe28c820d828.tar.xz yuzu-05fee702117dd5000109257ac35efe28c820d828.zip | |
Kernel: Add methods in HLERequestContext abstracting handle creation
Diffstat (limited to 'src/core/hle/kernel')
| -rw-r--r-- | src/core/hle/kernel/hle_ipc.cpp | 9 | ||||
| -rw-r--r-- | src/core/hle/kernel/hle_ipc.h | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp index a60b8ef00..5a74645c7 100644 --- a/src/core/hle/kernel/hle_ipc.cpp +++ b/src/core/hle/kernel/hle_ipc.cpp | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #include <boost/range/algorithm_ext/erase.hpp> | 5 | #include <boost/range/algorithm_ext/erase.hpp> |
| 6 | #include "common/assert.h" | 6 | #include "common/assert.h" |
| 7 | #include "common/common_types.h" | 7 | #include "common/common_types.h" |
| 8 | #include "core/hle/kernel/handle_table.h" | ||
| 8 | #include "core/hle/kernel/hle_ipc.h" | 9 | #include "core/hle/kernel/hle_ipc.h" |
| 9 | #include "core/hle/kernel/kernel.h" | 10 | #include "core/hle/kernel/kernel.h" |
| 10 | #include "core/hle/kernel/server_session.h" | 11 | #include "core/hle/kernel/server_session.h" |
| @@ -23,4 +24,12 @@ void SessionRequestHandler::ClientDisconnected(SharedPtr<ServerSession> server_s | |||
| 23 | 24 | ||
| 24 | HLERequestContext::~HLERequestContext() = default; | 25 | HLERequestContext::~HLERequestContext() = default; |
| 25 | 26 | ||
| 27 | SharedPtr<Object> HLERequestContext::GetIncomingHandle(Handle id_from_cmdbuf) const { | ||
| 28 | return Kernel::g_handle_table.GetGeneric(id_from_cmdbuf); | ||
| 29 | } | ||
| 30 | |||
| 31 | Handle HLERequestContext::AddOutgoingHandle(SharedPtr<Object> object) { | ||
| 32 | return Kernel::g_handle_table.Create(object).Unwrap(); | ||
| 33 | } | ||
| 34 | |||
| 26 | } // namespace Kernel | 35 | } // namespace Kernel |
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index aa0046001..f23daa7ea 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h | |||
| @@ -80,6 +80,9 @@ public: | |||
| 80 | return session; | 80 | return session; |
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | SharedPtr<Object> GetIncomingHandle(Handle id_from_cmdbuf) const; | ||
| 84 | Handle AddOutgoingHandle(SharedPtr<Object> object); | ||
| 85 | |||
| 83 | private: | 86 | private: |
| 84 | friend class Service::ServiceFrameworkBase; | 87 | friend class Service::ServiceFrameworkBase; |
| 85 | 88 | ||