IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.

Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
This commit is contained in:
Subv
2016-06-18 13:39:26 -05:00
parent c19afd2118
commit c5e7e0fa26
6 changed files with 21 additions and 26 deletions

View File

@ -5,11 +5,16 @@
#pragma once
#include <string>
#include <memory>
#include "common/common_types.h"
#include "core/hle/kernel/kernel.h"
namespace Service {
class Interface;
}
namespace Kernel {
class ClientPort;
@ -41,6 +46,7 @@ public:
std::string name; ///< Name of client port (optional)
SharedPtr<ServerSession> server_session; ///< The server session associated with this client session.
SharedPtr<ClientPort> client_port; ///< The client port which this session is connected to.
std::shared_ptr<Service::Interface> hle_helper = nullptr; ///< HLE implementation of this port's request handler
private:
ClientSession();