From fadab1d5f365c11f0b4c33e74b0d297756f2f3f9 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 30 Apr 2018 23:24:31 -0400 Subject: ipc: Add support for PopIpcInterface() method. - This can be used for domain objects as inputs to service functions. --- src/core/hle/kernel/hle_ipc.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/core/hle/kernel/hle_ipc.h') diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index 6d4ed7648..376263eac 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h @@ -202,6 +202,16 @@ public: domain_objects.emplace_back(std::move(object)); } + template + std::shared_ptr GetDomainRequestHandler(size_t index) const { + return std::static_pointer_cast(domain_request_handlers[index]); + } + + void SetDomainRequestHandlers( + const std::vector>& handlers) { + domain_request_handlers = handlers; + } + /// Clears the list of objects so that no lingering objects are written accidentally to the /// response buffer. void ClearIncomingObjects() { @@ -245,6 +255,8 @@ private: unsigned data_payload_offset{}; unsigned buffer_c_offset{}; u32_le command{}; + + std::vector> domain_request_handlers; }; } // namespace Kernel -- cgit v1.2.3