summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar David Marcec2020-08-03 21:46:14 +1000
committerGravatar David Marcec2020-08-03 21:46:14 +1000
commit6a0b77996b426e35a3728f73bf48cfe08e8e3d24 (patch)
treea38c4fba7d03504b5b794bc93d81ecd624cee727 /src/core
parentipc: Allow all trivially copyable objects to be passed directly into WriteBuf... (diff)
downloadyuzu-6a0b77996b426e35a3728f73bf48cfe08e8e3d24.tar.gz
yuzu-6a0b77996b426e35a3728f73bf48cfe08e8e3d24.tar.xz
yuzu-6a0b77996b426e35a3728f73bf48cfe08e8e3d24.zip
sm: Make use of IsBaseOf for GetService
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/service/sm/sm.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/core/hle/service/sm/sm.h b/src/core/hle/service/sm/sm.h
index b06d2f103..b526a94fe 100644
--- a/src/core/hle/service/sm/sm.h
+++ b/src/core/hle/service/sm/sm.h
@@ -9,6 +9,7 @@
9#include <type_traits> 9#include <type_traits>
10#include <unordered_map> 10#include <unordered_map>
11 11
12#include "common/concepts.h"
12#include "core/hle/kernel/client_port.h" 13#include "core/hle/kernel/client_port.h"
13#include "core/hle/kernel/object.h" 14#include "core/hle/kernel/object.h"
14#include "core/hle/kernel/server_port.h" 15#include "core/hle/kernel/server_port.h"
@@ -56,10 +57,8 @@ public:
56 ResultVal<std::shared_ptr<Kernel::ClientPort>> GetServicePort(const std::string& name); 57 ResultVal<std::shared_ptr<Kernel::ClientPort>> GetServicePort(const std::string& name);
57 ResultVal<std::shared_ptr<Kernel::ClientSession>> ConnectToService(const std::string& name); 58 ResultVal<std::shared_ptr<Kernel::ClientSession>> ConnectToService(const std::string& name);
58 59
59 template <typename T> 60 template <Common::IsBaseOf<Kernel::SessionRequestHandler> T>
60 std::shared_ptr<T> GetService(const std::string& service_name) const { 61 std::shared_ptr<T> GetService(const std::string& service_name) const {
61 static_assert(std::is_base_of_v<Kernel::SessionRequestHandler, T>,
62 "Not a base of ServiceFrameworkBase");
63 auto service = registered_services.find(service_name); 62 auto service = registered_services.find(service_name);
64 if (service == registered_services.end()) { 63 if (service == registered_services.end()) {
65 LOG_DEBUG(Service, "Can't find service: {}", service_name); 64 LOG_DEBUG(Service, "Can't find service: {}", service_name);