HLE/SRV: Implemented RegisterService.

Now system modules can do more than just crash immediately on startup.
This commit is contained in:
Subv
2017-09-24 00:12:58 -05:00
parent a7758b0b36
commit 0b33e36292
4 changed files with 33 additions and 1 deletions

View File

@ -36,6 +36,10 @@ ResultVal<Kernel::SharedPtr<Kernel::ServerPort>> ServiceManager::RegisterService
std::string name, unsigned int max_sessions) {
CASCADE_CODE(ValidateServiceName(name));
if (registered_services.find(name) != registered_services.end())
return ERR_ALREADY_REGISTERED;
Kernel::SharedPtr<Kernel::ServerPort> server_port;
Kernel::SharedPtr<Kernel::ClientPort> client_port;
std::tie(server_port, client_port) = Kernel::ServerPort::CreatePortPair(max_sessions, name);