diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-10-22 04:03:17 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-10-22 04:03:25 +0200 |
commit | 314a9483732a2c9cb8861d4ae8b113ebb5ad9406 (patch) | |
tree | ff2eb64c04d828c0161749c382e3bfc1f2da5c39 | |
parent | psm: Stub GetBatteryChargePercentage (diff) | |
download | yuzu-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.cpp | 41 | ||||
-rw-r--r-- | src/core/hle/service/ptm/psm.h | 10 |
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 |