summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2024-02-12 01:23:26 +0100
committerLiam <byteslice@airmail.cc>2024-02-12 03:59:33 +0100
commitaf35057212949c4a1088157b4f2e6e592f23f5ee (patch)
tree280704e9b7dd4969dbfa23162c69fd40fd4eadfc
parentam: rewrite IAudioController (diff)
downloadyuzu-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
-rw-r--r--src/core/CMakeLists.txt4
-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.cpp2
-rw-r--r--src/core/hle/service/am/service/library_applet_proxy.cpp2
-rw-r--r--src/core/hle/service/am/service/system_applet_proxy.cpp2
6 files changed, 26 insertions, 24 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 8e4928e08..236051515 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -421,8 +421,6 @@ add_library(core STATIC
hle/service/am/applet_data_broker.cpp
hle/service/am/applet_data_broker.h
hle/service/am/applet_manager.h
- hle/service/am/applet_common_functions.cpp
- hle/service/am/applet_common_functions.h
hle/service/am/applet_message_queue.cpp
hle/service/am/applet_message_queue.h
hle/service/am/application_creator.cpp
@@ -465,6 +463,8 @@ add_library(core STATIC
hle/service/am/self_controller.h
hle/service/am/service/all_system_applet_proxies_service.cpp
hle/service/am/service/all_system_applet_proxies_service.h
+ hle/service/am/service/applet_common_functions.cpp
+ hle/service/am/service/applet_common_functions.h
hle/service/am/service/application_proxy_service.cpp
hle/service/am/service/application_proxy_service.h
hle/service/am/service/application_proxy.cpp
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"