summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/client_port.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-12-14Fixed the codestyle to match our clang-format rules.Subv1-2/+4
2016-12-08Added a framework for partially handling Session disconnections.Subv1-2/+6
Further implementation will happen in a future commit. Fixes a regression.
2016-12-08Use std::move where appropriate.Subv1-1/+4
2016-12-05Return an error code when connecting to a saturated port.Subv1-2/+9
The error code was taken from the 3DS kernel.
2016-12-05Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.Subv1-0/+1
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.Subv1-1/+9
2016-12-01Fixed the rebase mistakes.Subv1-1/+0
2016-12-01A bit of a redesign.Subv1-14/+0
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.
2016-12-01IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.Subv1-9/+1
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
2016-12-01Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.Subv1-0/+23
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
2016-12-01 Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv1-0/+7
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions. Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed. HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner1-1/+1
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-2/+1
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-4/+2
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-2/+4
2016-06-05Kernel: Added ClientPort and ServerPort classes.Subv1-0/+16
This is part of an ongoing effort to implement support for multiple processes.