mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00: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:
		
							parent
							
								
									8dc7db7e33
								
							
						
					
					
						commit
						3b8c0f8885
					
				@ -91,6 +91,7 @@ enum class Class : ClassType {
 | 
			
		||||
    Service_PM,        ///< The PM service
 | 
			
		||||
    Service_PREPO,     ///< The PREPO (Play report) service
 | 
			
		||||
    Service_PSC,       ///< The PSC service
 | 
			
		||||
    Service_PSM,       ///< The PSM service
 | 
			
		||||
    Service_SET,       ///< The SET (Settings) service
 | 
			
		||||
    Service_SM,        ///< The SM (Service manager) service
 | 
			
		||||
    Service_SPL,       ///< The SPL service
 | 
			
		||||
 | 
			
		||||
@ -327,6 +327,8 @@ add_library(core STATIC
 | 
			
		||||
    hle/service/prepo/prepo.h
 | 
			
		||||
    hle/service/psc/psc.cpp
 | 
			
		||||
    hle/service/psc/psc.h
 | 
			
		||||
    hle/service/ptm/psm.cpp
 | 
			
		||||
    hle/service/ptm/psm.h
 | 
			
		||||
    hle/service/service.cpp
 | 
			
		||||
    hle/service/service.h
 | 
			
		||||
    hle/service/set/set.cpp
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										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);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user