// Copyright 2017 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #include #include "common/assert.h" #include "common/common_types.h" #include "core/hle/kernel/handle_table.h" #include "core/hle/kernel/hle_ipc.h" #include "core/hle/kernel/kernel.h" #include "core/hle/kernel/server_session.h" namespace Kernel { void SessionRequestHandler::ClientConnected(SharedPtr server_session) { server_session->SetHleHandler(shared_from_this()); connected_sessions.push_back(server_session); } void SessionRequestHandler::ClientDisconnected(SharedPtr server_session) { server_session->SetHleHandler(nullptr); boost::range::remove_erase(connected_sessions, server_session); } HLERequestContext::~HLERequestContext() = default; SharedPtr HLERequestContext::GetIncomingHandle(Handle id_from_cmdbuf) const { return Kernel::g_handle_table.GetGeneric(id_from_cmdbuf); } Handle HLERequestContext::AddOutgoingHandle(SharedPtr object) { return Kernel::g_handle_table.Create(object).Unwrap(); } } // namespace Kernel