diff options
| author | bunnei <bunneidev@gmail.com> | 2018-04-30 23:24:31 -0400 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2018-05-01 21:57:44 -0400 |
| commit | fadab1d5f365c11f0b4c33e74b0d297756f2f3f9 (patch) | |
| tree | d8add81daca8bc72d5344549528ce4f3953f250f /src/core/hle/ipc_helpers.h | |
| parent | 8262aeeac886f8b03cac5a5050580ac7ac77af4c (diff) | |
ipc: Add support for PopIpcInterface() method.
- This can be used for domain objects as inputs to service functions.
Diffstat (limited to 'src/core/hle/ipc_helpers.h')
| -rw-r--r-- | src/core/hle/ipc_helpers.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index 3f87c4297..24605a273 100644 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h @@ -298,6 +298,13 @@ public: template <typename T> Kernel::SharedPtr<T> GetCopyObject(size_t index); + + template <class T> + std::shared_ptr<T> PopIpcInterface() { + ASSERT(context->Session()->IsDomain()); + ASSERT(context->GetDomainMessageHeader()->input_object_count > 0); + return context->GetDomainRequestHandler<T>(Pop<u32>() - 1); + } }; /// Pop /// |
