mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2025-10-13 10:37:50 +00:00
service: add template serializer for method calls
This commit is contained in:
parent
6881c01c72
commit
f5bfeef951
8 changed files with 725 additions and 349 deletions
|
@ -501,6 +501,22 @@ bool HLERequestContext::CanWriteBuffer(std::size_t buffer_index) const {
|
|||
}
|
||||
}
|
||||
|
||||
void HLERequestContext::AddMoveInterface(SessionRequestHandlerPtr s) {
|
||||
ASSERT(Kernel::GetCurrentProcess(kernel).GetResourceLimit()->Reserve(
|
||||
Kernel::LimitableResource::SessionCountMax, 1));
|
||||
|
||||
auto* session = Kernel::KSession::Create(kernel);
|
||||
session->Initialize(nullptr, 0);
|
||||
Kernel::KSession::Register(kernel, session);
|
||||
|
||||
auto& server = manager.lock()->GetServerManager();
|
||||
auto next_manager = std::make_shared<Service::SessionRequestManager>(kernel, server);
|
||||
next_manager->SetSessionHandler(std::move(s));
|
||||
server.RegisterSession(&session->GetServerSession(), next_manager);
|
||||
|
||||
AddMoveObject(&session->GetClientSession());
|
||||
}
|
||||
|
||||
std::string HLERequestContext::Description() const {
|
||||
if (!command_header) {
|
||||
return "No command header available";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue