summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-10-22 04:03:17 +0200
committerZach Hilman <zachhilman@gmail.com>2018-10-22 04:03:25 +0200
commit314a9483732a2c9cb8861d4ae8b113ebb5ad9406 (patch)
treeff2eb64c04d828c0161749c382e3bfc1f2da5c39
parentpsm: Stub GetBatteryChargePercentage (diff)
downloadyuzu-314a9483732a2c9cb8861d4ae8b113ebb5ad9406.tar
yuzu-314a9483732a2c9cb8861d4ae8b113ebb5ad9406.tar.gz
yuzu-314a9483732a2c9cb8861d4ae8b113ebb5ad9406.tar.bz2
yuzu-314a9483732a2c9cb8861d4ae8b113ebb5ad9406.tar.lz
yuzu-314a9483732a2c9cb8861d4ae8b113ebb5ad9406.tar.xz
yuzu-314a9483732a2c9cb8861d4ae8b113ebb5ad9406.tar.zst
yuzu-314a9483732a2c9cb8861d4ae8b113ebb5ad9406.zip
-rw-r--r--src/core/hle/service/ptm/psm.cpp41
-rw-r--r--src/core/hle/service/ptm/psm.h10
2 files changed, 27 insertions, 24 deletions
diff --git a/src/core/hle/service/ptm/psm.cpp b/src/core/hle/service/ptm/psm.cpp
index a8e3813c8..c2d5fda94 100644
--- a/src/core/hle/service/ptm/psm.cpp
+++ b/src/core/hle/service/ptm/psm.cpp
@@ -12,13 +12,16 @@
namespace Service::PSM {
-constexpr u32 BATTERY_FULLY_CHARGED = 100; // 100% Full
+constexpr u32 BATTERY_FULLY_CHARGED = 100; // 100% Full
+constexpr u32 BATTERY_CURRENTLY_CHARGING = 1; // Plugged into an official dock
-PSM::PSM() : ServiceFramework{"psm"} {
- // clang-format off
+class PSM final : public ServiceFramework<PSM> {
+public:
+ explicit PSM() : ServiceFramework{"psm"} {
+ // clang-format off
static const FunctionInfo functions[] = {
{0, &PSM::GetBatteryChargePercentage, "GetBatteryChargePercentage"},
- {1, nullptr, "GetChargerType"},
+ {1, &PSM::GetChargerType, "GetChargerType"},
{2, nullptr, "EnableBatteryCharging"},
{3, nullptr, "DisableBatteryCharging"},
{4, nullptr, "IsBatteryChargingEnabled"},
@@ -36,20 +39,30 @@ PSM::PSM() : ServiceFramework{"psm"} {
{16, nullptr, "GetBatteryChargeInfoEvent"},
{17, nullptr, "GetBatteryChargeInfoFields"},
};
- // clang-format on
+ // clang-format on
- RegisterHandlers(functions);
-}
+ RegisterHandlers(functions);
+ }
-PSM::~PSM() = default;
+ ~PSM() override = default;
-void PSM::GetBatteryChargePercentage(Kernel::HLERequestContext& ctx) {
- LOG_WARNING(Service_PSM, "(STUBBED) called");
+private:
+ void GetBatteryChargePercentage(Kernel::HLERequestContext& ctx) {
+ LOG_WARNING(Service_PSM, "(STUBBED) called");
- IPC::ResponseBuilder rb{ctx, 3};
- rb.Push(RESULT_SUCCESS);
- rb.Push<u32>(BATTERY_FULLY_CHARGED);
-}
+ IPC::ResponseBuilder rb{ctx, 3};
+ rb.Push(RESULT_SUCCESS);
+ rb.Push<u32>(BATTERY_FULLY_CHARGED);
+ }
+
+ void GetChargerType(Kernel::HLERequestContext& ctx) {
+ LOG_WARNING(Service_PSM, "(STUBBED) called");
+
+ IPC::ResponseBuilder rb{ctx, 3};
+ rb.Push(RESULT_SUCCESS);
+ rb.Push<u32>(BATTERY_CURRENTLY_CHARGING);
+ }
+};
void InstallInterfaces(SM::ServiceManager& sm) {
std::make_shared<PSM>()->InstallAsService(sm);
diff --git a/src/core/hle/service/ptm/psm.h b/src/core/hle/service/ptm/psm.h
index 113878bb7..a286793ae 100644
--- a/src/core/hle/service/ptm/psm.h
+++ b/src/core/hle/service/ptm/psm.h
@@ -3,7 +3,6 @@
// Refer to the license.txt file included.
#pragma once
-#include "core/hle/service/service.h"
namespace Service::SM {
class ServiceManager;
@@ -11,15 +10,6 @@ class ServiceManager;
namespace Service::PSM {
-class PSM final : public ServiceFramework<PSM> {
-public:
- explicit PSM();
- ~PSM() override;
-
-private:
- void GetBatteryChargePercentage(Kernel::HLERequestContext& ctx);
-};
-
void InstallInterfaces(SM::ServiceManager& sm);
} // namespace Service::PSM