diff options
| author | Subv <subv2112@gmail.com> | 2016-11-30 22:50:13 -0500 |
|---|---|---|
| committer | Subv <subv2112@gmail.com> | 2016-11-30 23:12:35 -0500 |
| commit | 009b15b3aa9858930f461d825f7dd030fc963801 (patch) | |
| tree | 060b6a82ad6c093b1832cd9e96a4fdacf29448b5 /src/core/hle/kernel/client_session.cpp | |
| parent | c5e7e0fa26fc793c8b9f3effe25586f7fb57953e (diff) | |
A bit of a redesign.
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
Diffstat (limited to 'src/core/hle/kernel/client_session.cpp')
| -rw-r--r-- | src/core/hle/kernel/client_session.cpp | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/src/core/hle/kernel/client_session.cpp b/src/core/hle/kernel/client_session.cpp index 22fa2ff03..31ea8045a 100644 --- a/src/core/hle/kernel/client_session.cpp +++ b/src/core/hle/kernel/client_session.cpp @@ -15,29 +15,17 @@ namespace Kernel { ClientSession::ClientSession() {} ClientSession::~ClientSession() {} -ResultVal<SharedPtr<ClientSession>> ClientSession::Create(SharedPtr<ServerSession> server_session, SharedPtr<ClientPort> client_port, std::string name) { +ResultVal<SharedPtr<ClientSession>> ClientSession::Create(SharedPtr<ServerSession> server_session, std::string name) { SharedPtr<ClientSession> client_session(new ClientSession); client_session->name = std::move(name); client_session->server_session = server_session; - client_session->client_port = client_port; - client_session->hle_helper = client_port->hle_interface; - return MakeResult<SharedPtr<ClientSession>>(std::move(client_session)); } ResultCode ClientSession::HandleSyncRequest() { // Signal the server session that new data is available - ResultCode result = server_session->HandleSyncRequest(); - - if (result.IsError()) - return result; - - // If this ClientSession has an associated HLE helper, forward the request to it. - if (hle_helper != nullptr) - result = hle_helper->HandleSyncRequest(server_session); - - return result; + return server_session->HandleSyncRequest(); } } // namespace |
