aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/sm/sm.h
AgeCommit message (Collapse)Author
2024-01-24Rework time service to fix time passing offline.Kelebek1
2023-12-22general: properly support multiple memory instancesLiam
2023-12-10Merge pull request #12327 from liamwhite/tipcliamwhite
sm:: fix tipc deserialization
2023-12-09sm:: fix tipc deserializationLiam
2023-12-09service: use interface factory in server managerLiam
2023-08-08core: remove ResultVal typeLiam
2023-03-01service: move hle_ipc from kernelLiam
2023-03-01sm:: remove unused memberLiam
2023-02-21sm:: support service registration deferralLiam
2023-02-21service: refactor server architectureLiam
Converts services to have their own processes
2022-10-31sm:: avoid excessive port recreationLiam
2022-10-31kernel: invert session request handling flowLiam
2022-06-26core: Replace all instances of ResultCode with Resultgerman77
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-08hle: service: sm: Remove manual tracking of KServerPorts.bunnei
2021-11-03core: Remove unused includesameerj
2021-07-20hle: service: sm: Refactor to better manage ports.bunnei
2021-05-20hle: kernel: Implement CloneCurrentObject and improve session management.bunnei
2021-05-10hle: service: sm: Add TIPC support.bunnei
- Fixes our error checking of names as well.
2021-05-10hle: service: sm: Improve Initialize implementation.bunnei
2021-05-05hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KServerPort to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KClientPort to KAutoObject.bunnei
2021-05-05hle: kernel: Migrate KSession, KClientSession, and KServerSession to ↵bunnei
KAutoObject.
2020-11-26service: Eliminate usages of the global system instanceLioncash
Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
2020-09-17service/sm: Eliminate dependency on the global system instanceLioncash
2020-08-07common/concepts: Rename IsBaseOf to DerivedFromLioncash
This makes it more inline with its currently unavailable standardized analogue std::derived_from. While we're at it, we can also make the template match the requirements of the standardized variant as well.
2020-08-03sm: Make use of IsBaseOf for GetServiceDavid Marcec
2019-11-28kernel: Implement a more accurate IPC dispatch.bunnei
2019-11-24kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for ↵bunnei
kernel objects. (#3154) * kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
2019-03-11kernel/server_port: Make data members privateLioncash
With this, all kernel objects finally have all of their data members behind an interface, making it nicer to reason about interactions with other code (as external code no longer has the freedom to totally alter internals and potentially messing up invariants).
2018-11-24service/sm: Take std::string by const reference in UnregisterServiceLioncash
Avoids the need to create a copy of the std::string instance (potentially allocating). The only reason RegisterService takes its argument by value is because it's std::moved internally.
2018-11-03sm: Implement RegisterService and UnregisterServiceZach Hilman
These are needed by Edizon to boot. They are used to see if a user is using SX OS, as SX OS registers a custom service called 'tx' and attempting to register a service of the same name lets the application know if it is present.
2018-10-06Ported #4296 from citraDavid Marcec
This will allow us to easily remove the use of "NFC" in "System"
2018-09-14services/sm: Amend error code constantsLioncash
Courtesy of @ogniK5377. This also moves them into the cpp file and limits the visibility to where they're directly used. It also gets rid of unused or duplicate error codes.
2018-09-06core/core: Remove unnecessary sm/controller includeLioncash
The only reason this include was necessary, was because the constructor wasn't defaulted in the cpp file and the compiler would inline it wherever it was used. However, given Controller is forward declared, all those inlined constructors would see an incomplete type, causing a compilation failure. So, we just place the constructor in the cpp file, where it can see the complete type definition, allowing us to remove this include.
2018-08-01kernel: Move object class to its own source filesLioncash
General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code.
2018-07-19hle/service: Make constructors explicit where applicableLioncash
Prevents implicit construction and makes these lingering non-explicit constructors consistent with the rest of the other classes in services.
2018-04-20core: Relocate g_service_manager to the System classLioncash
Converts the service manager from a global into an instance-based variable.
2018-04-19service: Use nested namespace specifiers where applicableLioncash
Tidies up namespace declarations
2018-01-13yuzu: Update license text to be consistent across project.bunnei
2017-12-28service: Clean up apm/lm/applet_oe/controller/sm ctor/dtor.bunnei
2017-10-31hle: Use Switch formatted result codes.bunnei
2017-10-14hle: Initial implementation of NX service framework and IPC.bunnei
2017-09-24HLE/SRV: Implemented RegisterService.Subv
Now system modules can do more than just crash immediately on startup.
2017-06-08Service/sm: Convert 'srv:' to ServiceFrameworkYuri Kunde Schlesner
2017-06-06Service: Make service registration part of the sm implementationYuri Kunde Schlesner
Also enhances the GetServiceHandle implementation to be more accurate.