diff options
| author | Zach Hilman <zachhilman@gmail.com> | 2018-10-20 17:22:15 -0400 |
|---|---|---|
| committer | Zach Hilman <zachhilman@gmail.com> | 2018-10-20 18:01:07 -0400 |
| commit | 3b8c0f8885c9e590f4317d8de51ea3d669ccdfcd (patch) | |
| tree | 61b10c6249df5732518963b66ad75d0ac13fb3b8 /src/core/hle/service/ptm | |
| parent | 8dc7db7e33ff47700d0d08c9d20f0b47a0b9622b (diff) | |
service: Add skeleton for psm service
Seems to be the power controller. Listed in switchbrew under the category PTM services.
Diffstat (limited to 'src/core/hle/service/ptm')
| -rw-r--r-- | src/core/hle/service/ptm/psm.cpp | 48 | ||||
| -rw-r--r-- | src/core/hle/service/ptm/psm.h | 22 |
2 files changed, 70 insertions, 0 deletions
diff --git a/src/core/hle/service/ptm/psm.cpp b/src/core/hle/service/ptm/psm.cpp new file mode 100644 index 000000000..f6186b809 --- /dev/null +++ b/src/core/hle/service/ptm/psm.cpp @@ -0,0 +1,48 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include <memory> + +#include "common/logging/log.h" +#include "core/hle/ipc_helpers.h" +#include "core/hle/service/ptm/psm.h" +#include "core/hle/service/service.h" +#include "core/hle/service/sm/sm.h" + +namespace Service::PSM { + +PSM::PSM() : ServiceFramework{"psm"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, nullptr, "GetBatteryChargePercentage"}, + {1, nullptr, "GetChargerType"}, + {2, nullptr, "EnableBatteryCharging"}, + {3, nullptr, "DisableBatteryCharging"}, + {4, nullptr, "IsBatteryChargingEnabled"}, + {5, nullptr, "AcquireControllerPowerSupply"}, + {6, nullptr, "ReleaseControllerPowerSupply"}, + {7, nullptr, "OpenSession"}, + {8, nullptr, "EnableEnoughPowerChargeEmulation"}, + {9, nullptr, "DisableEnoughPowerChargeEmulation"}, + {10, nullptr, "EnableFastBatteryCharging"}, + {11, nullptr, "DisableFastBatteryCharging"}, + {12, nullptr, "GetBatteryVoltageState"}, + {13, nullptr, "GetRawBatteryChargePercentage"}, + {14, nullptr, "IsEnoughPowerSupplied"}, + {15, nullptr, "GetBatteryAgePercentage"}, + {16, nullptr, "GetBatteryChargeInfoEvent"}, + {17, nullptr, "GetBatteryChargeInfoFields"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + +PSM::~PSM() = default; + +void InstallInterfaces(SM::ServiceManager& sm) { + std::make_shared<PSM>()->InstallAsService(sm); +} + +} // namespace Service::PSM diff --git a/src/core/hle/service/ptm/psm.h b/src/core/hle/service/ptm/psm.h new file mode 100644 index 000000000..21955aa22 --- /dev/null +++ b/src/core/hle/service/ptm/psm.h @@ -0,0 +1,22 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once +#include "core/hle/service/service.h" + +namespace Service::SM { +class ServiceManager; +} + +namespace Service::PSM { + +class PSM final : public ServiceFramework<PSM> { +public: + explicit PSM(); + ~PSM() override; +}; + +void InstallInterfaces(SM::ServiceManager& sm); + +} // namespace Service::PSM |
