Implement IApplicationFunctions function 210 (RequestToAcquireUserUsedMemory)

This commit is contained in:
Zephyron
2025-06-20 15:52:14 +10:00
parent 66a3980a43
commit 1471d150d0
6 changed files with 15 additions and 14 deletions

View File

@@ -14,7 +14,7 @@ Applet::Applet(Core::System& system, std::unique_ptr<Process> process_, bool is_
notification_storage_channel_event(context), health_warning_disappeared_system_event(context),
acquired_sleep_lock_event(context), pop_from_general_channel_event(context),
library_applet_launchable_event(context), accumulated_suspended_tick_changed_event(context),
sleep_lock_event(context), state_changed_event(context) {
sleep_lock_event(context), state_changed_event(context), user_used_memory_event(context) {
aruid.pid = process->GetProcessId();
program_id = process->GetProgramId();

View File

@@ -125,6 +125,7 @@ struct Applet {
Event accumulated_suspended_tick_changed_event;
Event sleep_lock_event;
Event state_changed_event;
Event user_used_memory_event;
// Frontend state
std::shared_ptr<Frontend::FrontendApplet> frontend{};

View File

@@ -85,6 +85,7 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_, std::shared_
{181, nullptr, "UpgradeLaunchRequiredVersion"},
{190, nullptr, "SendServerMaintenanceOverlayNotification"},
{200, nullptr, "GetLastApplicationExitReason"},
{210, D<&IApplicationFunctions::RequestToAcquireUserUsedMemory>, "RequestToAcquireUserUsedMemory"},
{500, nullptr, "StartContinuousRecordingFlushForDebug"},
{1000, nullptr, "CreateMovieMaker"},
{1001, D<&IApplicationFunctions::PrepareForJit>, "PrepareForJit"},
@@ -483,4 +484,10 @@ Result IApplicationFunctions::PrepareForJit() {
R_SUCCEED();
}
Result IApplicationFunctions::RequestToAcquireUserUsedMemory(OutCopyHandle<Kernel::KReadableEvent> out_event) {
LOG_WARNING(Service_AM, "(STUBBED) called");
*out_event = m_applet->user_used_memory_event.GetHandle();
R_SUCCEED();
}
} // namespace Service::AM

View File

@@ -77,6 +77,7 @@ private:
Result GetNotificationStorageChannelEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result GetHealthWarningDisappearedSystemEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result PrepareForJit();
Result RequestToAcquireUserUsedMemory(OutCopyHandle<Kernel::KReadableEvent> out_event);
const std::shared_ptr<Applet> m_applet;
};