diff options
author | Liam <byteslice@airmail.cc> | 2024-02-12 01:23:26 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2024-02-12 03:59:33 +0100 |
commit | af35057212949c4a1088157b4f2e6e592f23f5ee (patch) | |
tree | 280704e9b7dd4969dbfa23162c69fd40fd4eadfc /src/core/hle/service/am | |
parent | am: rewrite IAudioController (diff) | |
download | yuzu-af35057212949c4a1088157b4f2e6e592f23f5ee.tar yuzu-af35057212949c4a1088157b4f2e6e592f23f5ee.tar.gz yuzu-af35057212949c4a1088157b4f2e6e592f23f5ee.tar.bz2 yuzu-af35057212949c4a1088157b4f2e6e592f23f5ee.tar.lz yuzu-af35057212949c4a1088157b4f2e6e592f23f5ee.tar.xz yuzu-af35057212949c4a1088157b4f2e6e592f23f5ee.tar.zst yuzu-af35057212949c4a1088157b4f2e6e592f23f5ee.zip |
Diffstat (limited to 'src/core/hle/service/am')
-rw-r--r-- | src/core/hle/service/am/service/applet_common_functions.cpp (renamed from src/core/hle/service/am/applet_common_functions.cpp) | 34 | ||||
-rw-r--r-- | src/core/hle/service/am/service/applet_common_functions.h (renamed from src/core/hle/service/am/applet_common_functions.h) | 6 | ||||
-rw-r--r-- | src/core/hle/service/am/service/application_proxy.cpp | 2 | ||||
-rw-r--r-- | src/core/hle/service/am/service/library_applet_proxy.cpp | 2 | ||||
-rw-r--r-- | src/core/hle/service/am/service/system_applet_proxy.cpp | 2 |
5 files changed, 24 insertions, 22 deletions
diff --git a/src/core/hle/service/am/applet_common_functions.cpp b/src/core/hle/service/am/service/applet_common_functions.cpp index 130614ae5..0f29ab285 100644 --- a/src/core/hle/service/am/applet_common_functions.cpp +++ b/src/core/hle/service/am/service/applet_common_functions.cpp @@ -2,8 +2,8 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include "core/hle/service/am/applet.h" -#include "core/hle/service/am/applet_common_functions.h" -#include "core/hle/service/ipc_helpers.h" +#include "core/hle/service/am/service/applet_common_functions.h" +#include "core/hle/service/cmif_serialization.h" namespace Service::AM { @@ -20,18 +20,18 @@ IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_, {40, nullptr, "GetDisplayLogicalResolution"}, {42, nullptr, "SetDisplayMagnification"}, {50, nullptr, "SetHomeButtonDoubleClickEnabled"}, - {51, nullptr, "GetHomeButtonDoubleClickEnabled"}, + {51, D<&IAppletCommonFunctions::GetHomeButtonDoubleClickEnabled>, "GetHomeButtonDoubleClickEnabled"}, {52, nullptr, "IsHomeButtonShortPressedBlocked"}, {60, nullptr, "IsVrModeCurtainRequired"}, {61, nullptr, "IsSleepRequiredByHighTemperature"}, {62, nullptr, "IsSleepRequiredByLowBattery"}, - {70, &IAppletCommonFunctions::SetCpuBoostRequestPriority, "SetCpuBoostRequestPriority"}, + {70, D<&IAppletCommonFunctions::SetCpuBoostRequestPriority>, "SetCpuBoostRequestPriority"}, {80, nullptr, "SetHandlingCaptureButtonShortPressedMessageEnabledForApplet"}, {81, nullptr, "SetHandlingCaptureButtonLongPressedMessageEnabledForApplet"}, {90, nullptr, "OpenNamedChannelAsParent"}, {91, nullptr, "OpenNamedChannelAsChild"}, {100, nullptr, "SetApplicationCoreUsageMode"}, - {300, &IAppletCommonFunctions::GetCurrentApplicationId, "GetCurrentApplicationId"}, + {300, D<&IAppletCommonFunctions::GetCurrentApplicationId>, "GetCurrentApplicationId"}, }; // clang-format on @@ -40,24 +40,24 @@ IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_, IAppletCommonFunctions::~IAppletCommonFunctions() = default; -void IAppletCommonFunctions::SetCpuBoostRequestPriority(HLERequestContext& ctx) { +Result IAppletCommonFunctions::GetHomeButtonDoubleClickEnabled( + Out<bool> out_home_button_double_click_enabled) { LOG_WARNING(Service_AM, "(STUBBED) called"); + *out_home_button_double_click_enabled = false; + R_SUCCEED(); +} - IPC::RequestParser rp{ctx}; - +Result IAppletCommonFunctions::SetCpuBoostRequestPriority(s32 priority) { + LOG_WARNING(Service_AM, "(STUBBED) called"); std::scoped_lock lk{applet->lock}; - applet->cpu_boost_request_priority = rp.Pop<s32>(); - - IPC::ResponseBuilder rb{ctx, 2}; - rb.Push(ResultSuccess); + applet->cpu_boost_request_priority = priority; + R_SUCCEED(); } -void IAppletCommonFunctions::GetCurrentApplicationId(HLERequestContext& ctx) { +Result IAppletCommonFunctions::GetCurrentApplicationId(Out<u64> out_application_id) { LOG_WARNING(Service_AM, "(STUBBED) called"); - - IPC::ResponseBuilder rb{ctx, 4}; - rb.Push(ResultSuccess); - rb.Push<u64>(system.GetApplicationProcessProgramID() & ~0xFFFULL); + *out_application_id = system.GetApplicationProcessProgramID() & ~0xFFFULL; + R_SUCCEED(); } } // namespace Service::AM diff --git a/src/core/hle/service/am/applet_common_functions.h b/src/core/hle/service/am/service/applet_common_functions.h index b86adf5cb..4424fc83d 100644 --- a/src/core/hle/service/am/applet_common_functions.h +++ b/src/core/hle/service/am/service/applet_common_functions.h @@ -3,6 +3,7 @@ #pragma once +#include "core/hle/service/cmif_types.h" #include "core/hle/service/service.h" namespace Service::AM { @@ -15,8 +16,9 @@ public: ~IAppletCommonFunctions() override; private: - void SetCpuBoostRequestPriority(HLERequestContext& ctx); - void GetCurrentApplicationId(HLERequestContext& ctx); + Result GetHomeButtonDoubleClickEnabled(Out<bool> out_home_button_double_click_enabled); + Result SetCpuBoostRequestPriority(s32 priority); + Result GetCurrentApplicationId(Out<u64> out_application_id); const std::shared_ptr<Applet> applet; }; diff --git a/src/core/hle/service/am/service/application_proxy.cpp b/src/core/hle/service/am/service/application_proxy.cpp index d28321a4a..b22960610 100644 --- a/src/core/hle/service/am/service/application_proxy.cpp +++ b/src/core/hle/service/am/service/application_proxy.cpp @@ -1,7 +1,6 @@ // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -#include "core/hle/service/am/applet_common_functions.h" #include "core/hle/service/am/application_functions.h" #include "core/hle/service/am/common_state_getter.h" #include "core/hle/service/am/debug_functions.h" @@ -10,6 +9,7 @@ #include "core/hle/service/am/library_applet_self_accessor.h" #include "core/hle/service/am/process_winding_controller.h" #include "core/hle/service/am/self_controller.h" +#include "core/hle/service/am/service/applet_common_functions.h" #include "core/hle/service/am/service/application_proxy.h" #include "core/hle/service/am/service/audio_controller.h" #include "core/hle/service/am/window_controller.h" diff --git a/src/core/hle/service/am/service/library_applet_proxy.cpp b/src/core/hle/service/am/service/library_applet_proxy.cpp index dd0f8ff11..c4ea9392a 100644 --- a/src/core/hle/service/am/service/library_applet_proxy.cpp +++ b/src/core/hle/service/am/service/library_applet_proxy.cpp @@ -1,7 +1,6 @@ // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -#include "core/hle/service/am/applet_common_functions.h" #include "core/hle/service/am/common_state_getter.h" #include "core/hle/service/am/debug_functions.h" #include "core/hle/service/am/display_controller.h" @@ -11,6 +10,7 @@ #include "core/hle/service/am/library_applet_self_accessor.h" #include "core/hle/service/am/process_winding_controller.h" #include "core/hle/service/am/self_controller.h" +#include "core/hle/service/am/service/applet_common_functions.h" #include "core/hle/service/am/service/audio_controller.h" #include "core/hle/service/am/service/library_applet_proxy.h" #include "core/hle/service/am/window_controller.h" diff --git a/src/core/hle/service/am/service/system_applet_proxy.cpp b/src/core/hle/service/am/service/system_applet_proxy.cpp index cc1f83fef..c63b53ac8 100644 --- a/src/core/hle/service/am/service/system_applet_proxy.cpp +++ b/src/core/hle/service/am/service/system_applet_proxy.cpp @@ -1,7 +1,6 @@ // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -#include "core/hle/service/am/applet_common_functions.h" #include "core/hle/service/am/application_creator.h" #include "core/hle/service/am/common_state_getter.h" #include "core/hle/service/am/debug_functions.h" @@ -12,6 +11,7 @@ #include "core/hle/service/am/library_applet_self_accessor.h" #include "core/hle/service/am/process_winding_controller.h" #include "core/hle/service/am/self_controller.h" +#include "core/hle/service/am/service/applet_common_functions.h" #include "core/hle/service/am/service/audio_controller.h" #include "core/hle/service/am/service/system_applet_proxy.h" #include "core/hle/service/am/window_controller.h" |