Zach Hilman
3898c3903e
web_browser: Use function tables for execute and initialize
Allows easy handling of multiple shim types, as they have enough in common to be the same backend but not enough to share init/exec.
7 years ago
Zach Hilman
675aa5f719
web_browser: Correct structures and properly parse TLVs/ShimKind
Much, much more HW-accurate and allows us to easily support all of the different web 'shim' types.
7 years ago
Zach Hilman
e447d8aafa
applets: Track ECommerce and Parental Control applet frontends
7 years ago
Zach Hilman
9d2d349d7b
applets: Implement Auth applet backend
This is responsible for parental controls and supports verifying, changing, and registering PIN codes.
7 years ago
Zach Hilman
ce21973022
glue: Implement arp:w and arp:r services
These keep track of running process' launch properties and control properties and allows for issuing and reading them by process and title ID.
7 years ago
Zach Hilman
df3ee4f444
glue: Add errors for glue/arp services
7 years ago
Zach Hilman
4fab0d392b
glue: Add scaffolding for bgtc:t and bgtc:sc services
7 years ago
Zach Hilman
9003e19797
arp: Move to glue services
Glue is the name of the sysmodule that contains both arp and bgtc.
7 years ago
Zach Hilman
5f8d2a2044
glue: Add manager to keep track of application registry
Manages mapping between title IDs and application launch and control properties.
7 years ago
David Marcec
e49ae3bf92
Implemented INotificationService
7 years ago
Lioncash
82cd87f6c2
service/acc: Silence truncation warnings
The sanitizing function ensures that the returned type is always the
correct type. This eliminates warnings without extra casts.
7 years ago
Fernando Sahmkow
26fcdf087d
Revert PR 2590.
Even though it has been proven that IAudioRenderer:SystemEvent is
actually an automatic event. The current implementation of such event is
all thought to be manual. Thus it's implementation needs to be corrected
when doing such change. As it is right now this PR introduced a series
of regressions on softlocks on multiple games. Therefore, this pr
reverts such change until a correct implementation is made.
7 years ago
Lioncash
5799404b78
service/audio/audren_u: Correct event reset type for the system event
This is actually an auto-reset event in the audio service itself, not a
manual one.
7 years ago
David Marcec
6ca20ad7ba
Addressed issues
7 years ago
Fernando Sahmkow
90792cdb6e
Core_Timing: Make core_timing threadsafe by default.
The old implementation had faulty Threadsafe methods where events could
be missing. This implementation unifies unsafe/safe methods and makes
core timing thread safe overall.
7 years ago
David Marcec
50e3269f3b
Signalled accumulated_suspended_tick_changed_event on creation based on RE
7 years ago
David Marcec
5fb6781c61
Cleanup
7 years ago
David Marcec
335127af69
Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & Partial impl of GetAccumulatedSuspendedTickChangedEvent
IPC-100 was changed to InitializeApplicationInfoOld instead of InitializeApplicationInfo. IPC-150 makes an indentical call to IPC-100 however does extra processing. They should not have the same name as it's quite confusing to debug.
7 years ago
Lioncash
a62088539e
common/hex_util: Combine HexVectorToString() and HexArrayToString()
These can be generified together by using a concept type to designate
them. This also has the benefit of not making copies of potentially very
large arrays.
7 years ago
Lioncash
0af3b4d9f4
kernel/vm_manager: Remove redundant Reset call in destructor
This is performing more work than would otherwise be necessary during
VMManager's destruction. All we actually want to occur in this scenario
is for any allocated memory to be freed, which will happen automatically
as the VMManager instance goes out of scope.
Anything else being done is simply unnecessary work.
7 years ago
Zach Hilman
fc0bf91a96
kernel: Differentiate kernel and user processes when picking ID
This allows kernel internal type processes to be assigned IDs in the KIP range while userland processes are assigned in the user range.
7 years ago
Lioncash
fea6568955
kernel/process: Make Create()'s name parameter be taken by value
Makes the interface more flexible in terms of how Create() may be
called, while still allowing the parameter itself to be moved into.
7 years ago
Lioncash
3f87664d8f
kernel/svc: Implement TotalMemoryUsedWithoutMmHeap/TotalMemoryAvailableWithoutMmHeap
Given we don't currently implement the personal heap yet, the existing
memory querying functions are essentially doing what the memory querying
types introduced in 6.0.0 do.
So, we can build the necessary machinery over the top of those and just
use them as part of info types.
7 years ago
Lioncash
c1a8f684df
kernel/svc: Amend naming for TotalMemoryUsage in svcGetInfo()
Disambiguates and makes the name a little more consistent with
TotalPhysicalMemoryUsed.
7 years ago
Lioncash
81b1102090
kernel/svc: Remove duplicate enum entry in svcGetInfo()
7 years ago
Zach Hilman
11f2f0f45c
constants: Extract backup JPEG used by account services
7 years ago
Lioncash
8304aaf282
service/ns: Add missing override specifiers
7 years ago
Lioncash
19dcb50692
kernel/process: Remove unused boost header include
Boost headers typically include a lot of other headers, so removing this
can prevent a bit of unnecessary compiler churn when building.
7 years ago
Lioncash
2548661c08
core/core_timing_util: Amend casing of cyclesTo* functions
Makes the casing consistent with all of our general function naming
conventions.
7 years ago
Lioncash
42f5fd0ab3
core/core_timing_util: Use std::chrono types for specifying time units
Makes the interface more type-safe and consistent in terms of return
values.
7 years ago
Lioncash
8bbe930fac
core/core: Remove unnecessary includes
The contents of these includes aren't used anywhere in this translation
unit.
7 years ago
Zach Hilman
52b80d231c
ncm: Implement LR OpenAddOnContentLocationResolver (2)
Returns an object of type IAddOnContentLocationResolver for the provided StorageId.
7 years ago
Zach Hilman
e0920ef4ba
ncm: Implement LR OpenRegisteredLocationResolver (1)
Returns an object of type IRegisteredLocationResolver for the StorageId.
7 years ago
Zach Hilman
33ac193bf6
ncm: Implement LR OpenLocationResolver (0)
Returns an object of type ILocationResolver with the provided StorageId.
7 years ago
Zach Hilman
b77fde7c5c
loader: Move NSO module tracking to AppLoader
Also cleanup of general stuff
7 years ago
Zach Hilman
cdf52b9374
prepo: Save reports from PlayReport service
Logs a lot of seemingly innocuous telemetry games generate.
7 years ago
Zach Hilman
34e9736910
fatal: Save report on fatal:u call
Matches offical behavior with creport and replaces old log/text based report system.
7 years ago
Zach Hilman
fc309bf893
service: Save report on unimplemented function call
7 years ago
Zach Hilman
24392c8ec8
applets/error: Save report on error applet
This matches official behavior with the erpt/eclct/eupld service chain.
7 years ago
Zach Hilman
bdc47693f1
applets: Save report on stubbed applet
This also reworks the applet data storage to be peekable.
7 years ago
Zach Hilman
186db894b9
svc: Save report on call to svcBreak
7 years ago
Michael Scire
016f2eab73
Fix bitmask logic inversion
7 years ago
Michael Scire
2ed896075e
fix introduced clang-format errors
7 years ago
Michael Scire
d81b58f320
Address review comments
7 years ago
Michael Scire
7fba9c7224
clang-format fixes
7 years ago
Michael Scire
7dbf4c1ae5
Implement IApplicationFunctions::GetDesiredLanguage
7 years ago
Lioncash
3e7d37301a
service/aoc: Avoid allocating and discarding data
Previously, the code was accumulating data into a std::vector and then
tossing all of it away if a setting was disabled.
Instead, we can just check if it's disabled and do no work at all if
possible. If it's enabled, then we can append to the vector and
allocate.
Unlikely to impact usage much, but it is slightly less sloppy with
resources.
7 years ago
Lioncash
d0e200a894
service/aoc: Remove unnecessary includes
Removes two header dependencies related to file handling that aren't
actually used within the source file.
7 years ago
Lioncash
819d229e76
service/aoc: Pop all passed values where applicable
A few of the aoc service stubs/implementations weren't fully popping all
of the parameters passed to them. This ensures that all parameters are
popped and, at minimum, logged out.
7 years ago
Lioncash
242273788a
ipc_helpers: Amend floating-point type in Pop<double> specialization
Currently, this overload isn't used, so this wasn't actually hit in any
code, only the float overload is used.
7 years ago