summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/client_port.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Format: Run the new clang format on everythingJames Rowe2018-01-211-1/+1
|
* Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner2017-06-061-7/+4
| | | | | | This allows attaching a HLE handle to a ServerPort at any point after it is created, allowing port/session creation to be generic between HLE and regular services.
* HLE: Move SessionRequestHandler from Service:: to Kernel::Yuri Kunde Schlesner2017-06-061-0/+1
| | | | | Most of the code that works with this is or will be in the kernel, so it's a more appropriate place for it to be.
* Kernel: Centralize error definitions in errors.hYuri Kunde Schlesner2017-05-251-2/+2
|
* Kernel: Use a Session object to keep track of the status of a Client/Server session pair.Subv2017-05-151-8/+5
| | | | Reduce the associated port's connection count when a ServerSession is destroyed.
* Fixed the codestyle to match our clang-format rules.Subv2016-12-141-2/+4
|
* Added a framework for partially handling Session disconnections.Subv2016-12-081-2/+6
| | | | | | Further implementation will happen in a future commit. Fixes a regression.
* Use std::move where appropriate.Subv2016-12-081-1/+4
|
* Return an error code when connecting to a saturated port.Subv2016-12-051-2/+9
| | | | The error code was taken from the 3DS kernel.
* Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.Subv2016-12-051-0/+1
| | | | HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
* KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.Subv2016-12-051-1/+9
|
* Fixed the rebase mistakes.Subv2016-12-011-1/+0
|
* A bit of a redesign.Subv2016-12-011-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.
* IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.Subv2016-12-011-9/+1
| | | | Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
* Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.Subv2016-12-011-0/+23
| | | | Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
* Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv2016-12-011-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.
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-2/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-4/+2
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-2/+4
|
* Kernel: Added ClientPort and ServerPort classes.Subv2016-06-051-0/+16
This is part of an ongoing effort to implement support for multiple processes.