Lioncash
f49248437e
service: Add the btdrv service
...
Adds the skeleton for the btdrv service based off the information provided by Switch Brew
2018-07-26 18:06:17 -04:00
bunnei
8440b814bc
Merge pull request #834 from lioncash/grc
...
service: Add the grc:c service
2018-07-26 12:03:30 -07:00
bunnei
41d7b020a8
Merge pull request #832 from lioncash/nim
...
service: Add the nim services
2018-07-26 12:02:29 -07:00
Lioncash
b28af1f6c9
service: Add the grc:c service
...
Adds the basic skeleton for the grc:c service based off the information
provided by Switch Brew.
2018-07-26 09:53:58 -04:00
Lioncash
f916611e32
service: Add the nim services
...
Adds the skeleton for the nim services based off information from Switch
Brew.
2018-07-26 02:47:06 -04:00
Lioncash
8781beaf0d
service: Add ldn services
...
Adds ldn services based off information provided by Switch Brew.
2018-07-26 01:48:06 -04:00
Sebastian Valle
1958d07d7d
Merge pull request #828 from lioncash/ldr
...
service: Add ldr services
2018-07-25 23:44:13 -05:00
Sebastian Valle
8ac52c6b56
Merge pull request #826 from lioncash/erpt
...
service: Add erpt and eupld services
2018-07-25 23:43:47 -05:00
Lioncash
3fb124961e
service: Add ldr services
...
Adds the skeleton for the ldr-related services based off the information
provided on Switch Brew.
2018-07-25 23:11:03 -04:00
Lioncash
7458e71f24
service: Add eupld services
...
Adds the skeleton for the eupld services based off information on Switch
Brew.
2018-07-25 22:13:43 -04:00
Lioncash
821f2c03cb
service: Add the erpt services
...
Adds the basic skeleton of the erpt service based off information on
Switch Brew.
2018-07-25 22:13:39 -04:00
bunnei
851089b482
Merge pull request #822 from lioncash/pm
...
service: Add pm services
2018-07-25 19:01:28 -07:00
Lioncash
c664f8a257
service: Add pm services
...
Adds the skeleton for the process management services based off
information on Switch Brew.
2018-07-25 16:57:16 -04:00
Lioncash
4175712976
service: Add the es service
...
Adds the skeleton for the ETicket service based off the information on
Switch Brew
2018-07-25 15:36:55 -04:00
James Rowe
638956aa81
Rename logging macro back to LOG_*
2018-07-02 21:45:47 -04:00
mailwl
7e3d746b06
Service/MM: add service and stub some functions
2018-06-05 12:19:29 +03:00
mailwl
7757cc1a7f
Service/BCAT: add module and services
2018-05-28 16:46:56 +03:00
David Marcec
fd86cdb2e2
Added RequestWithContext & ControlWithContext
2018-05-17 14:03:52 -07:00
Lioncash
7c9644646f
general: Make formatting of logged hex values more straightforward
...
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
2018-05-02 09:49:36 -04:00
Lioncash
3abba08080
string_util: Remove StringFromFormat() and related functions
...
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-04-29 18:52:33 -04:00
Lioncash
8475496630
general: Convert assertion macros over to be fmt-compatible
2018-04-27 10:04:02 -04:00
David Marcec
7391741a20
Merge branch 'master' of https://github.com/yuzu-emu/yuzu into service-impl
2018-04-26 14:28:54 -07:00
mailwl
2ba4e2263c
Service/PCTL: convert to module, add services, stub
...
PCTL::CreateServiceWithoutInitialize and IParentalControlService::Initialize, required by Kirby Star Allies
2018-04-25 09:02:27 +03:00
Lioncash
d08cfb55fe
service: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:32 -04:00
David Marcec
27650499bc
GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport.
2018-04-22 19:02:18 -07:00
David Marcec
f3137d3bc1
Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids)
2018-04-21 22:04:24 -07:00
Lioncash
659a612368
core: Relocate g_service_manager to the System class
...
Converts the service manager from a global into an instance-based
variable.
2018-04-20 19:44:32 -04:00
Daniel Lim Wee Soong
c9845c486e
externals: Update fmt to 4d35f94
...
Versions prior to this didn't compile on OpenBSD due to unconditional
use of the non-standard strtod_l() function.
The fmt::MemoryWriter API has been removed in the intervening
versions, so replace its use with fmt::memory_buffer and fmt::format_to.
The library also no longer provides the fmt::fmt ALIAS, so define
it in externals/CMakeLists.txt.
2018-04-03 02:49:58 +08:00
bunnei
deaf6f9e35
service: Add NFP module interface.
...
service: Initialize NFP service.
Log: Add NFP service as a log subtype.
2018-03-29 21:22:44 -04:00
mailwl
9ee33350de
Service/SSL: add ssl service
2018-03-23 09:32:50 +03:00
mailwl
95e747cd06
Service/spl: add module and services
2018-03-22 09:55:14 +03:00
mailwl
dca7cfb9cf
Service: add fatal:u, fatal:p services
2018-03-20 16:59:02 +03:00
N00byKing
ef875d6a35
Clean Warnings (?)
2018-03-19 17:07:08 +01:00
bunnei
019f1a0cf0
hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.
2018-03-18 20:56:33 -04:00
bunnei
7d6653268f
core: Move process creation out of global state.
2018-03-14 18:42:19 -04:00
mailwl
28669872d9
Service/Set: add more services
2018-03-03 09:03:49 +03:00
bunnei
7bee3427d0
service: Add Friend service interface.
2018-02-19 17:34:02 -05:00
bunnei
42c062c620
pl_u: Implement basic shared font loading from RAM dump.
2018-02-14 22:22:41 -05:00
mailwl
f67a8d87a0
Service:nifm: add nifm:a, nifm:s and nifm:u services
2018-02-03 18:09:51 +03:00
bunnei
1b1d399e5f
hle: Rename RequestBuilder to ResponseBuilder.
2018-01-24 22:24:10 -05:00
bunnei
f9dae99006
service: Fix all incorrect IPC response headers.
2018-01-24 22:21:33 -05:00
Subv
eb58f852f8
AppletOE: Make ISelfController keep a reference to nvflinger.
...
It'll be needed when we implement CreateManagedDisplayLayer.
2018-01-22 13:46:36 -05:00
Subv
42859461f3
Services: Vi shouldn't be responsible for creating nvflinger.
...
It is now created during Service initialization and passed to all the services that need it.
2018-01-22 13:40:02 -05:00
David Marcec
d64b7d7dfd
filesystem: Implement basic IStorage functionality.
2018-01-21 15:39:28 -05:00
goaaats
c457f34eb2
acc, set, applet_oe: stub various functions, add set service ( #105 )
...
* Stubs for various acc:u0 funcs needed
* Stub for GetDesiredLanguage in IApplicationFunctions
* Add set service + stubs needed for games
* Fix formatting
* Implement IProfile, IManagerForApplication, return bool in CheckAvailability, style fixes
* Remove IProfile::Get(needs more research), fix IPC response sizes
2018-01-19 15:44:58 -05:00
flerovium^-^
463356f0a7
Start to implement/stub BSD:U and SFDNSRES services ( #78 )
...
* bsd: start stubbing bsd:u and sfdnsres
* bsd: stubbed RegisterClient
* bsd: attempt to get past socket()
* bsd: fix some wrong assumptions about IPC
* bsd: fix format specifiers
* bsd: stubbed Connect()
* bsd: stubbed SendTo()
* made requested changes
* sockets: respect alphabetical order at service installation
* run clang-format
* bsd: start stubbing bsd:u and sfdnsres
* bsd: stubbed RegisterClient
* bsd: attempt to get past socket()
* bsd: fix some wrong assumptions about IPC
* bsd: fix format specifiers
* bsd: stubbed Connect()
* bsd: stubbed SendTo()
* made requested changes
* sockets: respect alphabetical order at service installation
* run clang-format
* run clang-format (2)
2018-01-18 14:35:03 -05:00
bunnei
4b156d2e64
acc_u0: Add IPC interface and stub InitializeApplicationInfo.
2018-01-16 21:34:27 -05:00
Subv
30657f9ca1
NV: Move the nvdrv classes into the Nvidia namespace, and move the functionality to a s single module that services call.
2018-01-16 19:03:49 -05:00
bunnei
7bedea73a8
time: Implement GetStandardUserSystemClock, GetCurrentTime.
2018-01-14 21:45:06 -05:00
bunnei
7a50d56d0e
audio: Stub out AudOutU::ListAudioOuts.
2018-01-14 21:45:06 -05:00
bunnei
f4a3d28224
hid: Implement IAppletResource::GetSharedMemoryHandle.
2018-01-14 21:45:06 -05:00
bunnei
1247c53786
yuzu: Update license text to be consistent across project.
2018-01-13 16:22:39 -05:00
James Rowe
70e65ee63a
Remove settings issues in sdl and fix a few files that broke in mingw
2018-01-12 19:11:05 -07:00
Subv
25f29c2f4f
NV: Implemented (with stubs) the vi:m service and some of its subservices.
...
The homebrew display test application now properly writes graphics data to the graphics buffer but we still don't have a way to compose the display layers.
2018-01-10 23:28:09 -05:00
bunnei
dcdaac8a0b
kernel: Fix implementation of ConvertSessionToDomain.
2017-12-29 00:36:22 -05:00
bunnei
fcd4c1a0dc
service: Add empty interface for pctl:a.
2017-12-28 23:44:39 -05:00
bunnei
16fb1c8fe7
service: Halt on ReportUnimplementedFunction and improve output log.
2017-12-28 15:24:59 -05:00
bunnei
d5995fd30f
service: Add empty interface for aoc:u.
2017-12-28 15:24:05 -05:00
bunnei
3597650f22
service: Return proper result code for IPC::CommandType::Close.
2017-10-31 19:30:05 -04:00
bunnei
03bf0739a4
service: Add CreatePort function (that does not register/install).
2017-10-18 21:34:19 -04:00
bunnei
d3cc369618
service: Print correct command ID on unimplemented function.
2017-10-17 18:02:08 -04:00
bunnei
4fb1b24d68
hle: Implement ConvertSessionToDomain, various cleanups.
2017-10-15 01:24:22 -04:00
bunnei
72eeca1f03
hle: Add service stubs for apm and appletOE.
2017-10-14 22:50:04 -04:00
bunnei
960a1416de
hle: Initial implementation of NX service framework and IPC.
2017-10-14 22:18:42 -04:00
bunnei
15983dcfdc
Remove more 3DS-specific code.
2017-10-12 21:45:06 -04:00
bunnei
dbd15b0d10
Remove more 3DS-specific code.
2017-10-12 21:29:53 -04:00
bunnei
0906de9a14
hle: Remove a large amount of 3ds-specific service code.
2017-10-10 17:32:14 -04:00
Subv
3d86e3afc4
Services/NS: Port ns:s to the new service framework.
2017-09-16 10:52:45 -05:00
Yuri Kunde Schlesner
b21dfbb295
Merge pull request #2790 from yuriks/remove-movefrom
...
Remove ResultVal::MoveFrom
2017-06-20 22:04:09 -07:00
Yuri Kunde Schlesner
723dc644fa
ResultVal: Remove MoveFrom()
...
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue.
2017-06-18 19:03:15 -07:00
Yuri Kunde Schlesner
0dfafdbe59
Kernel/IPC: Make HLERequestContext usable from outside kernel
2017-06-18 16:05:12 -07:00
Yuri Kunde Schlesner
8cb65fe65a
Kernel: Basic support for IPC translation for HLE services
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
20e5abb308
ServiceFramework: Use separate copy of command buffer
...
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner
6f368abe13
Service/sm: Convert 'srv:' to ServiceFramework
2017-06-08 20:59:19 -07:00
Yuri Kunde Schlesner
c92a8a6154
Service: Remove a few redundant namespace qualifiers
2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner
84c497292a
Service: Add new ServiceFramework framework for writing HLE services
...
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)
The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner
d96a9e0c11
Service: Remove unnecessary includes from service.h
...
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
2017-06-06 02:57:23 -07:00
Yuri Kunde Schlesner
23ec6b3d8f
Service: Make service registration part of the sm implementation
...
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
1eee09f364
Service: Move SRV interface to a new sm/ subdirectory
...
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
6354d08359
Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
...
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.
2017-06-06 02:56:32 -07:00
Yuri Kunde Schlesner
e626a520ca
HLE: Move SessionRequestHandler from Service:: to Kernel::
...
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.
2017-06-05 23:40:11 -07:00
bunnei
597a7c615c
Merge pull request #2308 from mailwl/ac-i
...
Service/AC: add ac:i service
2017-01-12 10:12:46 -05:00
mailwl
f2985f7080
Service/NFC: stub GetTagInRangeEvent
...
Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
2016-12-30 09:40:54 +03:00
mailwl
c6f4b93f2e
Service/AC: add ac:i service
2016-12-30 09:20:11 +03:00
mailwl
069a88dad7
Service/NWM: add nwm services
2016-12-22 22:51:27 +03:00
bunnei
bdb6956879
Merge pull request #2314 from mailwl/account
...
Service/ACT: move ACT services to folder
2016-12-15 13:51:29 -05:00
Yuri Kunde Schlesner
905fc92ce1
Merge pull request #2249 from Subv/sessions_v3
...
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14 20:35:33 -08:00
Subv
016307ae65
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:45:36 -05:00
mailwl
5dea1faedd
Service/ACT: move ACT services to folder
2016-12-14 09:05:46 +03:00
Lioncash
963aedd8cc
Add all services to the Service namespace
...
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
Subv
ebbb55ec8f
Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.
2016-12-09 12:52:12 -05:00
Subv
deb83c9fc5
Kernel/IPC: Small codestyle cleanup
2016-12-09 12:39:12 -05:00
Subv
386112da32
Added a framework for partially handling Session disconnections.
...
Further implementation will happen in a future commit.
Fixes a regression.
2016-12-08 15:01:10 -05:00
Subv
f9bcf89510
Use std::move where appropriate.
2016-12-08 11:06:19 -05:00
Lioncash
2061d2014d
service: Add mvd and qtm services
...
Adds the two New3DS-only modules.
3dbrew was used for command information.
2016-12-08 04:34:03 -05:00
Lioncash
e8a960f6a1
service: Add nfc services
...
3dbrew was used for the command information.
2016-12-08 03:24:41 -05:00
Subv
00f0c77570
Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
...
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05 12:05:00 -05:00
Subv
dd8887c8cf
KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.
2016-12-05 11:02:08 -05:00
Subv
009b15b3aa
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.
2016-11-30 23:12:35 -05:00
Subv
c5e7e0fa26
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.
2016-11-30 23:04:00 -05:00