mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Service/NIFM: convert to module
This commit is contained in:
		
							parent
							
								
									cde9386e0f
								
							
						
					
					
						commit
						ec030a542f
					
				| @ -96,6 +96,48 @@ public: | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| class IGeneralService final : public ServiceFramework<IGeneralService> { | ||||
| public: | ||||
|     IGeneralService(); | ||||
| 
 | ||||
| private: | ||||
|     void GetClientId(Kernel::HLERequestContext& ctx) { | ||||
|         LOG_WARNING(Service_NIFM, "(STUBBED) called"); | ||||
|         IPC::ResponseBuilder rb{ctx, 4}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         rb.Push<u64>(0); | ||||
|     } | ||||
|     void CreateScanRequest(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
| 
 | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         rb.PushIpcInterface<IScanRequest>(); | ||||
| 
 | ||||
|         LOG_DEBUG(Service_NIFM, "called"); | ||||
|     } | ||||
|     void CreateRequest(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
| 
 | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         rb.PushIpcInterface<IRequest>(); | ||||
| 
 | ||||
|         LOG_DEBUG(Service_NIFM, "called"); | ||||
|     } | ||||
|     void RemoveNetworkProfile(Kernel::HLERequestContext& ctx) { | ||||
|         LOG_WARNING(Service_NIFM, "(STUBBED) called"); | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|     } | ||||
|     void CreateTemporaryNetworkProfile(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
| 
 | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         rb.PushIpcInterface<INetworkProfile>(); | ||||
| 
 | ||||
|         LOG_DEBUG(Service_NIFM, "called"); | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| IGeneralService::IGeneralService() : ServiceFramework("IGeneralService") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {1, &IGeneralService::GetClientId, "GetClientId"}, | ||||
| @ -137,50 +179,28 @@ IGeneralService::IGeneralService() : ServiceFramework("IGeneralService") { | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
| 
 | ||||
| void IGeneralService::GetClientId(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_WARNING(Service_NIFM, "(STUBBED) called"); | ||||
|     IPC::ResponseBuilder rb{ctx, 4}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.Push<u64>(0); | ||||
| } | ||||
| 
 | ||||
| void IGeneralService::CreateScanRequest(Kernel::HLERequestContext& ctx) { | ||||
| void Module::Interface::CreateGeneralServiceOld(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
| 
 | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushIpcInterface<IScanRequest>(); | ||||
| 
 | ||||
|     rb.PushIpcInterface<IGeneralService>(); | ||||
|     LOG_DEBUG(Service_NIFM, "called"); | ||||
| } | ||||
| 
 | ||||
| void IGeneralService::CreateRequest(Kernel::HLERequestContext& ctx) { | ||||
| void Module::Interface::CreateGeneralService(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
| 
 | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushIpcInterface<IRequest>(); | ||||
| 
 | ||||
|     rb.PushIpcInterface<IGeneralService>(); | ||||
|     LOG_DEBUG(Service_NIFM, "called"); | ||||
| } | ||||
| 
 | ||||
| void IGeneralService::RemoveNetworkProfile(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_WARNING(Service_NIFM, "(STUBBED) called"); | ||||
|     IPC::ResponseBuilder rb{ctx, 2}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
| } | ||||
| 
 | ||||
| void IGeneralService::CreateTemporaryNetworkProfile(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
| 
 | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushIpcInterface<INetworkProfile>(); | ||||
| 
 | ||||
|     LOG_DEBUG(Service_NIFM, "called"); | ||||
| } | ||||
| Module::Interface::Interface(std::shared_ptr<Module> module, const char* name) | ||||
|     : ServiceFramework(name), module(std::move(module)) {} | ||||
| 
 | ||||
| void InstallInterfaces(SM::ServiceManager& service_manager) { | ||||
|     std::make_shared<NIFM_A>()->InstallAsService(service_manager); | ||||
|     std::make_shared<NIFM_S>()->InstallAsService(service_manager); | ||||
|     std::make_shared<NIFM_U>()->InstallAsService(service_manager); | ||||
|     auto module = std::make_shared<Module>(); | ||||
|     std::make_shared<NIFM_A>(module)->InstallAsService(service_manager); | ||||
|     std::make_shared<NIFM_S>(module)->InstallAsService(service_manager); | ||||
|     std::make_shared<NIFM_U>(module)->InstallAsService(service_manager); | ||||
| } | ||||
| 
 | ||||
| } // namespace NIFM
 | ||||
|  | ||||
| @ -9,16 +9,18 @@ | ||||
| namespace Service { | ||||
| namespace NIFM { | ||||
| 
 | ||||
| class IGeneralService final : public ServiceFramework<IGeneralService> { | ||||
| class Module final { | ||||
| public: | ||||
|     IGeneralService(); | ||||
|     class Interface : public ServiceFramework<Interface> { | ||||
|     public: | ||||
|         Interface(std::shared_ptr<Module> module, const char* name); | ||||
| 
 | ||||
| private: | ||||
|     void GetClientId(Kernel::HLERequestContext& ctx); | ||||
|     void CreateScanRequest(Kernel::HLERequestContext& ctx); | ||||
|     void CreateRequest(Kernel::HLERequestContext& ctx); | ||||
|     void RemoveNetworkProfile(Kernel::HLERequestContext& ctx); | ||||
|     void CreateTemporaryNetworkProfile(Kernel::HLERequestContext& ctx); | ||||
|         void CreateGeneralServiceOld(Kernel::HLERequestContext& ctx); | ||||
|         void CreateGeneralService(Kernel::HLERequestContext& ctx); | ||||
| 
 | ||||
|     protected: | ||||
|         std::shared_ptr<Module> module; | ||||
|     }; | ||||
| }; | ||||
| 
 | ||||
| void InstallInterfaces(SM::ServiceManager& service_manager); | ||||
|  | ||||
| @ -2,29 +2,12 @@ | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "common/logging/log.h" | ||||
| #include "core/hle/ipc_helpers.h" | ||||
| #include "core/hle/service/nifm/nifm.h" | ||||
| #include "core/hle/service/nifm/nifm_a.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace NIFM { | ||||
| 
 | ||||
| void NIFM_A::CreateGeneralServiceOld(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushIpcInterface<IGeneralService>(); | ||||
|     LOG_DEBUG(Service_NIFM, "called"); | ||||
| } | ||||
| 
 | ||||
| void NIFM_A::CreateGeneralService(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushIpcInterface<IGeneralService>(); | ||||
|     LOG_DEBUG(Service_NIFM, "called"); | ||||
| } | ||||
| 
 | ||||
| NIFM_A::NIFM_A() : ServiceFramework("nifm:a") { | ||||
| NIFM_A::NIFM_A(std::shared_ptr<Module> module) : Module::Interface(std::move(module), "nifm:a") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {4, &NIFM_A::CreateGeneralServiceOld, "CreateGeneralServiceOld"}, | ||||
|         {5, &NIFM_A::CreateGeneralService, "CreateGeneralService"}, | ||||
|  | ||||
| @ -4,20 +4,14 @@ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "core/hle/kernel/hle_ipc.h" | ||||
| #include "core/hle/service/service.h" | ||||
| #include "core/hle/service/nifm/nifm.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace NIFM { | ||||
| 
 | ||||
| class NIFM_A final : public ServiceFramework<NIFM_A> { | ||||
| class NIFM_A final : public Module::Interface { | ||||
| public: | ||||
|     NIFM_A(); | ||||
|     ~NIFM_A() = default; | ||||
| 
 | ||||
| private: | ||||
|     void CreateGeneralServiceOld(Kernel::HLERequestContext& ctx); | ||||
|     void CreateGeneralService(Kernel::HLERequestContext& ctx); | ||||
|     explicit NIFM_A(std::shared_ptr<Module> module); | ||||
| }; | ||||
| 
 | ||||
| } // namespace NIFM
 | ||||
|  | ||||
| @ -2,29 +2,12 @@ | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "common/logging/log.h" | ||||
| #include "core/hle/ipc_helpers.h" | ||||
| #include "core/hle/service/nifm/nifm.h" | ||||
| #include "core/hle/service/nifm/nifm_s.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace NIFM { | ||||
| 
 | ||||
| void NIFM_S::CreateGeneralServiceOld(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushIpcInterface<IGeneralService>(); | ||||
|     LOG_DEBUG(Service_NIFM, "called"); | ||||
| } | ||||
| 
 | ||||
| void NIFM_S::CreateGeneralService(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushIpcInterface<IGeneralService>(); | ||||
|     LOG_DEBUG(Service_NIFM, "called"); | ||||
| } | ||||
| 
 | ||||
| NIFM_S::NIFM_S() : ServiceFramework("nifm:s") { | ||||
| NIFM_S::NIFM_S(std::shared_ptr<Module> module) : Module::Interface(std::move(module), "nifm:s") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {4, &NIFM_S::CreateGeneralServiceOld, "CreateGeneralServiceOld"}, | ||||
|         {5, &NIFM_S::CreateGeneralService, "CreateGeneralService"}, | ||||
|  | ||||
| @ -4,20 +4,14 @@ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "core/hle/kernel/hle_ipc.h" | ||||
| #include "core/hle/service/service.h" | ||||
| #include "core/hle/service/nifm/nifm.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace NIFM { | ||||
| 
 | ||||
| class NIFM_S final : public ServiceFramework<NIFM_S> { | ||||
| class NIFM_S final : public Module::Interface { | ||||
| public: | ||||
|     NIFM_S(); | ||||
|     ~NIFM_S() = default; | ||||
| 
 | ||||
| private: | ||||
|     void CreateGeneralServiceOld(Kernel::HLERequestContext& ctx); | ||||
|     void CreateGeneralService(Kernel::HLERequestContext& ctx); | ||||
|     explicit NIFM_S(std::shared_ptr<Module> module); | ||||
| }; | ||||
| 
 | ||||
| } // namespace NIFM
 | ||||
|  | ||||
| @ -2,29 +2,12 @@ | ||||
| // Licensed under GPLv2 or any later version
 | ||||
| // Refer to the license.txt file included.
 | ||||
| 
 | ||||
| #include "common/logging/log.h" | ||||
| #include "core/hle/ipc_helpers.h" | ||||
| #include "core/hle/service/nifm/nifm.h" | ||||
| #include "core/hle/service/nifm/nifm_u.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace NIFM { | ||||
| 
 | ||||
| void NIFM_U::CreateGeneralServiceOld(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushIpcInterface<IGeneralService>(); | ||||
|     LOG_DEBUG(Service_NIFM, "called"); | ||||
| } | ||||
| 
 | ||||
| void NIFM_U::CreateGeneralService(Kernel::HLERequestContext& ctx) { | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushIpcInterface<IGeneralService>(); | ||||
|     LOG_DEBUG(Service_NIFM, "called"); | ||||
| } | ||||
| 
 | ||||
| NIFM_U::NIFM_U() : ServiceFramework("nifm:u") { | ||||
| NIFM_U::NIFM_U(std::shared_ptr<Module> module) : Module::Interface(std::move(module), "nifm:u") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {4, &NIFM_U::CreateGeneralServiceOld, "CreateGeneralServiceOld"}, | ||||
|         {5, &NIFM_U::CreateGeneralService, "CreateGeneralService"}, | ||||
|  | ||||
| @ -4,20 +4,14 @@ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "core/hle/kernel/hle_ipc.h" | ||||
| #include "core/hle/service/service.h" | ||||
| #include "core/hle/service/nifm/nifm.h" | ||||
| 
 | ||||
| namespace Service { | ||||
| namespace NIFM { | ||||
| 
 | ||||
| class NIFM_U final : public ServiceFramework<NIFM_U> { | ||||
| class NIFM_U final : public Module::Interface { | ||||
| public: | ||||
|     NIFM_U(); | ||||
|     ~NIFM_U() = default; | ||||
| 
 | ||||
| private: | ||||
|     void CreateGeneralServiceOld(Kernel::HLERequestContext& ctx); | ||||
|     void CreateGeneralService(Kernel::HLERequestContext& ctx); | ||||
|     explicit NIFM_U(std::shared_ptr<Module> module); | ||||
| }; | ||||
| 
 | ||||
| } // namespace NIFM
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 mailwl
						mailwl