diff options
| author | Liam <byteslice@airmail.cc> | 2023-12-09 11:22:42 -0500 |
|---|---|---|
| committer | Liam <byteslice@airmail.cc> | 2023-12-09 13:45:25 -0500 |
| commit | 34e40129989e446db7233c9b757d4ebd48af7e75 (patch) | |
| tree | 42fa67cdc03cc901eec752fddb6c462ff762a630 /src/core/hle/service/sm/sm.cpp | |
| parent | c1924951ad604417a5f7900427bff4ab0c8286a7 (diff) | |
service: use interface factory in server manager
Diffstat (limited to 'src/core/hle/service/sm/sm.cpp')
| -rw-r--r-- | src/core/hle/service/sm/sm.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp index 9ab718e0a..53209537f 100644 --- a/src/core/hle/service/sm/sm.cpp +++ b/src/core/hle/service/sm/sm.cpp @@ -51,7 +51,7 @@ static Result ValidateServiceName(const std::string& name) { } Result ServiceManager::RegisterService(std::string name, u32 max_sessions, - SessionRequestHandlerPtr handler) { + SessionRequestHandlerFactory handler) { R_TRY(ValidateServiceName(name)); std::scoped_lock lk{lock}; @@ -264,7 +264,9 @@ void LoopProcess(Core::System& system) { server_manager->ManageDeferral(&deferral_event); service_manager.SetDeferralEvent(deferral_event); - server_manager->ManageNamedPort("sm:", std::make_shared<SM>(system.ServiceManager(), system)); + auto sm_service = std::make_shared<SM>(system.ServiceManager(), system); + server_manager->ManageNamedPort("sm:", [sm_service] { return sm_service; }); + ServerManager::RunServer(std::move(server_manager)); } |
