diff options
| -rw-r--r-- | src/core/hle/ipc_helpers.h | 23 | ||||
| -rw-r--r-- | src/core/hle/kernel/hle_ipc.h | 2 |
2 files changed, 13 insertions, 12 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index 6a5e43899..f5bd27a75 100644 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h | |||
| @@ -25,9 +25,9 @@ protected: | |||
| 25 | ptrdiff_t index = 0; | 25 | ptrdiff_t index = 0; |
| 26 | 26 | ||
| 27 | public: | 27 | public: |
| 28 | RequestHelperBase(u32* command_buffer) : cmdbuf(command_buffer) {} | 28 | explicit RequestHelperBase(u32* command_buffer) : cmdbuf(command_buffer) {} |
| 29 | 29 | ||
| 30 | RequestHelperBase(Kernel::HLERequestContext& context) | 30 | explicit RequestHelperBase(Kernel::HLERequestContext& context) |
| 31 | : context(&context), cmdbuf(context.CommandBuffer()) {} | 31 | : context(&context), cmdbuf(context.CommandBuffer()) {} |
| 32 | 32 | ||
| 33 | void Skip(unsigned size_in_words, bool set_to_null) { | 33 | void Skip(unsigned size_in_words, bool set_to_null) { |
| @@ -56,8 +56,6 @@ public: | |||
| 56 | 56 | ||
| 57 | class ResponseBuilder : public RequestHelperBase { | 57 | class ResponseBuilder : public RequestHelperBase { |
| 58 | public: | 58 | public: |
| 59 | ResponseBuilder(u32* command_buffer) : RequestHelperBase(command_buffer) {} | ||
| 60 | |||
| 61 | /// Flags used for customizing the behavior of ResponseBuilder | 59 | /// Flags used for customizing the behavior of ResponseBuilder |
| 62 | enum class Flags : u32 { | 60 | enum class Flags : u32 { |
| 63 | None = 0, | 61 | None = 0, |
| @@ -66,9 +64,11 @@ public: | |||
| 66 | AlwaysMoveHandles = 1, | 64 | AlwaysMoveHandles = 1, |
| 67 | }; | 65 | }; |
| 68 | 66 | ||
| 69 | ResponseBuilder(Kernel::HLERequestContext& context, u32 normal_params_size, | 67 | explicit ResponseBuilder(u32* command_buffer) : RequestHelperBase(command_buffer) {} |
| 70 | u32 num_handles_to_copy = 0, u32 num_objects_to_move = 0, | 68 | |
| 71 | Flags flags = Flags::None) | 69 | explicit ResponseBuilder(Kernel::HLERequestContext& context, u32 normal_params_size, |
| 70 | u32 num_handles_to_copy = 0, u32 num_objects_to_move = 0, | ||
| 71 | Flags flags = Flags::None) | ||
| 72 | 72 | ||
| 73 | : RequestHelperBase(context), normal_params_size(normal_params_size), | 73 | : RequestHelperBase(context), normal_params_size(normal_params_size), |
| 74 | num_handles_to_copy(num_handles_to_copy), num_objects_to_move(num_objects_to_move) { | 74 | num_handles_to_copy(num_handles_to_copy), num_objects_to_move(num_objects_to_move) { |
| @@ -274,9 +274,9 @@ inline void ResponseBuilder::PushMoveObjects(Kernel::SharedPtr<O>... pointers) { | |||
| 274 | 274 | ||
| 275 | class RequestParser : public RequestHelperBase { | 275 | class RequestParser : public RequestHelperBase { |
| 276 | public: | 276 | public: |
| 277 | RequestParser(u32* command_buffer) : RequestHelperBase(command_buffer) {} | 277 | explicit RequestParser(u32* command_buffer) : RequestHelperBase(command_buffer) {} |
| 278 | 278 | ||
| 279 | RequestParser(Kernel::HLERequestContext& context) : RequestHelperBase(context) { | 279 | explicit RequestParser(Kernel::HLERequestContext& context) : RequestHelperBase(context) { |
| 280 | ASSERT_MSG(context.GetDataPayloadOffset(), "context is incomplete"); | 280 | ASSERT_MSG(context.GetDataPayloadOffset(), "context is incomplete"); |
| 281 | Skip(context.GetDataPayloadOffset(), false); | 281 | Skip(context.GetDataPayloadOffset(), false); |
| 282 | // Skip the u64 command id, it's already stored in the context | 282 | // Skip the u64 command id, it's already stored in the context |
| @@ -286,8 +286,9 @@ public: | |||
| 286 | 286 | ||
| 287 | ResponseBuilder MakeBuilder(u32 normal_params_size, u32 num_handles_to_copy, | 287 | ResponseBuilder MakeBuilder(u32 normal_params_size, u32 num_handles_to_copy, |
| 288 | u32 num_handles_to_move, | 288 | u32 num_handles_to_move, |
| 289 | ResponseBuilder::Flags flags = ResponseBuilder::Flags::None) { | 289 | ResponseBuilder::Flags flags = ResponseBuilder::Flags::None) const { |
| 290 | return {*context, normal_params_size, num_handles_to_copy, num_handles_to_move, flags}; | 290 | return ResponseBuilder{*context, normal_params_size, num_handles_to_copy, |
| 291 | num_handles_to_move, flags}; | ||
| 291 | } | 292 | } |
| 292 | 293 | ||
| 293 | template <typename T> | 294 | template <typename T> |
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index 01b805df8..84727f748 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h | |||
| @@ -91,7 +91,7 @@ protected: | |||
| 91 | */ | 91 | */ |
| 92 | class HLERequestContext { | 92 | class HLERequestContext { |
| 93 | public: | 93 | public: |
| 94 | HLERequestContext(SharedPtr<Kernel::ServerSession> session); | 94 | explicit HLERequestContext(SharedPtr<ServerSession> session); |
| 95 | ~HLERequestContext(); | 95 | ~HLERequestContext(); |
| 96 | 96 | ||
| 97 | /// Returns a pointer to the IPC command buffer for this request. | 97 | /// Returns a pointer to the IPC command buffer for this request. |