diff options
| author | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-03-12 10:13:31 -0500 |
|---|---|---|
| committer | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-04-15 01:53:16 -0400 |
| commit | e3e6a11ab8fc14a99bce35eb6fd860d583f255d8 (patch) | |
| tree | 4e67f84f2cb516e2a8f00c8059bbbc4cd71928d7 /src/core/hle/kernel/hle_ipc.h | |
| parent | 0a40106cf143c5ae5e029ce3f828bead6d3fdb92 (diff) | |
hle_ipc: Add helper functions to get copy/move handles
Diffstat (limited to 'src/core/hle/kernel/hle_ipc.h')
| -rw-r--r-- | src/core/hle/kernel/hle_ipc.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index 9a769781b..6fba42615 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h @@ -210,6 +210,14 @@ public: /// Helper function to test whether the output buffer at buffer_index can be written bool CanWriteBuffer(std::size_t buffer_index = 0) const; + Handle GetCopyHandle(std::size_t index) const { + return copy_handles.at(index); + } + + Handle GetMoveHandle(std::size_t index) const { + return move_handles.at(index); + } + template <typename T> std::shared_ptr<T> GetCopyObject(std::size_t index) { return DynamicObjectCast<T>(copy_objects.at(index)); @@ -285,6 +293,8 @@ private: std::shared_ptr<Kernel::ServerSession> server_session; std::shared_ptr<KThread> thread; // TODO(yuriks): Check common usage of this and optimize size accordingly + boost::container::small_vector<Handle, 8> move_handles; + boost::container::small_vector<Handle, 8> copy_handles; boost::container::small_vector<std::shared_ptr<Object>, 8> move_objects; boost::container::small_vector<std::shared_ptr<Object>, 8> copy_objects; boost::container::small_vector<std::shared_ptr<SessionRequestHandler>, 8> domain_objects; |
