mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-10-31 07:59:02 -05:00 
			
		
		
		
	service: Add skeleton for psm service
Seems to be the power controller. Listed in switchbrew under the category PTM services.
This commit is contained in:
		
							
								
								
									
										48
									
								
								src/core/hle/service/ptm/psm.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								src/core/hle/service/ptm/psm.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
							
								
								
									
										22
									
								
								src/core/hle/service/ptm/psm.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/core/hle/service/ptm/psm.h
									
									
									
									
									
										Normal file
									
								
							| @@ -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 | ||||
| @@ -57,6 +57,7 @@ | ||||
| #include "core/hle/service/pm/pm.h" | ||||
| #include "core/hle/service/prepo/prepo.h" | ||||
| #include "core/hle/service/psc/psc.h" | ||||
| #include "core/hle/service/ptm/psm.h" | ||||
| #include "core/hle/service/service.h" | ||||
| #include "core/hle/service/set/settings.h" | ||||
| #include "core/hle/service/sm/sm.h" | ||||
| @@ -244,6 +245,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm, FileSys::VfsFilesystem& vfs) | ||||
|     PlayReport::InstallInterfaces(*sm); | ||||
|     PM::InstallInterfaces(*sm); | ||||
|     PSC::InstallInterfaces(*sm); | ||||
|     PSM::InstallInterfaces(*sm); | ||||
|     Set::InstallInterfaces(*sm); | ||||
|     Sockets::InstallInterfaces(*sm); | ||||
|     SPL::InstallInterfaces(*sm); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Zach Hilman
					Zach Hilman