From 02bc9e9de14664f337da07f0efce750a0b6e993a Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 5 Mar 2019 09:20:11 -0500 Subject: [PATCH] core/hle/ipc: Remove unnecessary includes Removes a few inclusion dependencies from the headers or replaces existing ones with ones that don't indirectly include the required headers. This allows removing an inclusion of core/memory.h, meaning that if the memory header is ever changed in the future, it won't result in rebuilding the entirety of the HLE services (as the IPC headers are used quite ubiquitously throughout the HLE service implementations). --- src/core/hle/ipc.h | 4 ++-- src/core/hle/kernel/hle_ipc.h | 10 +++++----- src/core/hle/kernel/svc.cpp | 1 + src/core/hle/result.h | 1 - src/core/hle/service/am/applets/software_keyboard.cpp | 1 + src/core/hle/service/am/applets/software_keyboard.h | 3 +++ 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/core/hle/ipc.h b/src/core/hle/ipc.h index ed84197b36..455d1f346d 100644 --- a/src/core/hle/ipc.h +++ b/src/core/hle/ipc.h @@ -4,10 +4,10 @@ #pragma once +#include "common/bit_field.h" +#include "common/common_funcs.h" #include "common/common_types.h" #include "common/swap.h" -#include "core/hle/kernel/errors.h" -#include "core/memory.h" namespace IPC { diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index cb1c5aff3e..0107acea4b 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h @@ -15,6 +15,8 @@ #include "core/hle/ipc.h" #include "core/hle/kernel/object.h" +union ResultCode; + namespace Service { class ServiceFrameworkBase; } @@ -208,14 +210,12 @@ public: template SharedPtr GetCopyObject(std::size_t index) { - ASSERT(index < copy_objects.size()); - return DynamicObjectCast(copy_objects[index]); + return DynamicObjectCast(copy_objects.at(index)); } template SharedPtr GetMoveObject(std::size_t index) { - ASSERT(index < move_objects.size()); - return DynamicObjectCast(move_objects[index]); + return DynamicObjectCast(move_objects.at(index)); } void AddMoveObject(SharedPtr object) { @@ -232,7 +232,7 @@ public: template std::shared_ptr GetDomainRequestHandler(std::size_t index) const { - return std::static_pointer_cast(domain_request_handlers[index]); + return std::static_pointer_cast(domain_request_handlers.at(index)); } void SetDomainRequestHandlers( diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index c5d399babf..5709134d51 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -20,6 +20,7 @@ #include "core/hle/kernel/address_arbiter.h" #include "core/hle/kernel/client_port.h" #include "core/hle/kernel/client_session.h" +#include "core/hle/kernel/errors.h" #include "core/hle/kernel/handle_table.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/mutex.h" diff --git a/src/core/hle/result.h b/src/core/hle/result.h index bfb77cc31e..1ed144481f 100644 --- a/src/core/hle/result.h +++ b/src/core/hle/result.h @@ -8,7 +8,6 @@ #include #include "common/assert.h" #include "common/bit_field.h" -#include "common/common_funcs.h" #include "common/common_types.h" // All the constants in this file come from http://switchbrew.org/index.php?title=Error_codes diff --git a/src/core/hle/service/am/applets/software_keyboard.cpp b/src/core/hle/service/am/applets/software_keyboard.cpp index f255f74b53..8c5bd6059c 100644 --- a/src/core/hle/service/am/applets/software_keyboard.cpp +++ b/src/core/hle/service/am/applets/software_keyboard.cpp @@ -7,6 +7,7 @@ #include "common/string_util.h" #include "core/core.h" #include "core/frontend/applets/software_keyboard.h" +#include "core/hle/result.h" #include "core/hle/service/am/am.h" #include "core/hle/service/am/applets/software_keyboard.h" diff --git a/src/core/hle/service/am/applets/software_keyboard.h b/src/core/hle/service/am/applets/software_keyboard.h index efd5753a1e..b93a30d28c 100644 --- a/src/core/hle/service/am/applets/software_keyboard.h +++ b/src/core/hle/service/am/applets/software_keyboard.h @@ -9,10 +9,13 @@ #include #include "common/common_funcs.h" +#include "common/common_types.h" #include "common/swap.h" #include "core/hle/service/am/am.h" #include "core/hle/service/am/applets/applets.h" +union ResultCode; + namespace Service::AM::Applets { enum class KeysetDisable : u32 {