summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/sm/sm.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-05-11 01:18:30 +0200
committerbunnei <bunneidev@gmail.com>2021-05-11 05:34:38 +0200
commit2c1e119c4a57fdd26dc8249d9b5fca3111195777 (patch)
tree683cbb302dffb32f000b64c429bc39e42e2cb564 /src/core/hle/service/sm/sm.h
parenthle: kernel: hle_ipc: Improve IPC code and add initial support for TIPC. (diff)
downloadyuzu-2c1e119c4a57fdd26dc8249d9b5fca3111195777.tar
yuzu-2c1e119c4a57fdd26dc8249d9b5fca3111195777.tar.gz
yuzu-2c1e119c4a57fdd26dc8249d9b5fca3111195777.tar.bz2
yuzu-2c1e119c4a57fdd26dc8249d9b5fca3111195777.tar.lz
yuzu-2c1e119c4a57fdd26dc8249d9b5fca3111195777.tar.xz
yuzu-2c1e119c4a57fdd26dc8249d9b5fca3111195777.tar.zst
yuzu-2c1e119c4a57fdd26dc8249d9b5fca3111195777.zip
Diffstat (limited to 'src/core/hle/service/sm/sm.h')
-rw-r--r--src/core/hle/service/sm/sm.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/hle/service/sm/sm.h b/src/core/hle/service/sm/sm.h
index fed65af4f..60f0b3f8a 100644
--- a/src/core/hle/service/sm/sm.h
+++ b/src/core/hle/service/sm/sm.h
@@ -34,23 +34,26 @@ class Controller;
/// Interface to "sm:" service
class SM final : public ServiceFramework<SM> {
public:
- explicit SM(std::shared_ptr<ServiceManager> service_manager_, Core::System& system_);
+ explicit SM(ServiceManager& service_manager_, Core::System& system_);
~SM() override;
private:
void Initialize(Kernel::HLERequestContext& ctx);
void GetService(Kernel::HLERequestContext& ctx);
+ void GetServiceTipc(Kernel::HLERequestContext& ctx);
void RegisterService(Kernel::HLERequestContext& ctx);
void UnregisterService(Kernel::HLERequestContext& ctx);
- std::shared_ptr<ServiceManager> service_manager;
+ ResultVal<Kernel::KClientSession*> GetServiceImpl(Kernel::HLERequestContext& ctx);
+
+ ServiceManager& service_manager;
bool is_initialized{};
Kernel::KernelCore& kernel;
};
class ServiceManager {
public:
- static void InstallInterfaces(std::shared_ptr<ServiceManager> self, Core::System& system);
+ static Kernel::KClientPort& InterfaceFactory(ServiceManager& self, Core::System& system);
explicit ServiceManager(Kernel::KernelCore& kernel_);
~ServiceManager();