summaryrefslogtreecommitdiff
path: root/src/core/hle/ipc_helpers.h
diff options
context:
space:
mode:
authorGravatar Lioncash2020-11-08 15:49:45 -0500
committerGravatar Lioncash2020-11-08 15:58:11 -0500
commitda7be67dafc90c84529304cfef57dfa5f9291017 (patch)
tree14fb629c96e2c091be2c800f13dc8aff67eeb79f /src/core/hle/ipc_helpers.h
parentMerge pull request #4903 from bunnei/remove-gpu-integrity (diff)
downloadyuzu-da7be67dafc90c84529304cfef57dfa5f9291017.tar.gz
yuzu-da7be67dafc90c84529304cfef57dfa5f9291017.tar.xz
yuzu-da7be67dafc90c84529304cfef57dfa5f9291017.zip
ipc_helpers: Remove usage of the global system instance
Resolves numerous deprecation warnings throughout the codebase due to inclusion of this header. Now building core should be significantly less noisy (and also relying on less global state). This also uncovered quite a few modules that were relying on indirect includes, which have also been fixed.
Diffstat (limited to 'src/core/hle/ipc_helpers.h')
-rw-r--r--src/core/hle/ipc_helpers.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h
index 1c354037d..d57776ce9 100644
--- a/src/core/hle/ipc_helpers.h
+++ b/src/core/hle/ipc_helpers.h
@@ -12,7 +12,6 @@
12#include <utility> 12#include <utility>
13#include "common/assert.h" 13#include "common/assert.h"
14#include "common/common_types.h" 14#include "common/common_types.h"
15#include "core/core.h"
16#include "core/hle/ipc.h" 15#include "core/hle/ipc.h"
17#include "core/hle/kernel/client_port.h" 16#include "core/hle/kernel/client_port.h"
18#include "core/hle/kernel/client_session.h" 17#include "core/hle/kernel/client_session.h"
@@ -73,14 +72,12 @@ public:
73 AlwaysMoveHandles = 1, 72 AlwaysMoveHandles = 1,
74 }; 73 };
75 74
76 explicit ResponseBuilder(u32* command_buffer) : RequestHelperBase(command_buffer) {}
77
78 explicit ResponseBuilder(Kernel::HLERequestContext& context, u32 normal_params_size, 75 explicit ResponseBuilder(Kernel::HLERequestContext& context, u32 normal_params_size,
79 u32 num_handles_to_copy = 0, u32 num_objects_to_move = 0, 76 u32 num_handles_to_copy = 0, u32 num_objects_to_move = 0,
80 Flags flags = Flags::None) 77 Flags flags = Flags::None)
81
82 : RequestHelperBase(context), normal_params_size(normal_params_size), 78 : RequestHelperBase(context), normal_params_size(normal_params_size),
83 num_handles_to_copy(num_handles_to_copy), num_objects_to_move(num_objects_to_move) { 79 num_handles_to_copy(num_handles_to_copy),
80 num_objects_to_move(num_objects_to_move), kernel{context.kernel} {
84 81
85 memset(cmdbuf, 0, sizeof(u32) * IPC::COMMAND_BUFFER_LENGTH); 82 memset(cmdbuf, 0, sizeof(u32) * IPC::COMMAND_BUFFER_LENGTH);
86 83
@@ -140,7 +137,6 @@ public:
140 if (context->Session()->IsDomain()) { 137 if (context->Session()->IsDomain()) {
141 context->AddDomainObject(std::move(iface)); 138 context->AddDomainObject(std::move(iface));
142 } else { 139 } else {
143 auto& kernel = Core::System::GetInstance().Kernel();
144 auto [client, server] = Kernel::Session::Create(kernel, iface->GetServiceName()); 140 auto [client, server] = Kernel::Session::Create(kernel, iface->GetServiceName());
145 context->AddMoveObject(std::move(client)); 141 context->AddMoveObject(std::move(client));
146 iface->ClientConnected(std::move(server)); 142 iface->ClientConnected(std::move(server));
@@ -214,6 +210,7 @@ private:
214 u32 num_handles_to_copy{}; 210 u32 num_handles_to_copy{};
215 u32 num_objects_to_move{}; ///< Domain objects or move handles, context dependent 211 u32 num_objects_to_move{}; ///< Domain objects or move handles, context dependent
216 std::ptrdiff_t datapayload_index{}; 212 std::ptrdiff_t datapayload_index{};
213 Kernel::KernelCore& kernel;
217}; 214};
218 215
219/// Push /// 216/// Push ///