ngct: Stub NGCT:U service
This commit is contained in:
		| @@ -111,6 +111,7 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) { | ||||
|     SUB(Service, NCM)                                                                              \ | ||||
|     SUB(Service, NFC)                                                                              \ | ||||
|     SUB(Service, NFP)                                                                              \ | ||||
|     SUB(Service, NGCT)                                                                             \ | ||||
|     SUB(Service, NIFM)                                                                             \ | ||||
|     SUB(Service, NIM)                                                                              \ | ||||
|     SUB(Service, NPNS)                                                                             \ | ||||
|   | ||||
| @@ -81,6 +81,7 @@ enum class Class : u8 { | ||||
|     Service_NCM,       ///< The NCM service | ||||
|     Service_NFC,       ///< The NFC (Near-field communication) service | ||||
|     Service_NFP,       ///< The NFP service | ||||
|     Service_NGCT,      ///< The NGCT (No Good Content for Terra) service | ||||
|     Service_NIFM,      ///< The NIFM (Network interface) service | ||||
|     Service_NIM,       ///< The NIM service | ||||
|     Service_NPNS,      ///< The NPNS service | ||||
|   | ||||
| @@ -452,6 +452,8 @@ add_library(core STATIC | ||||
|     hle/service/nfp/nfp.h | ||||
|     hle/service/nfp/nfp_user.cpp | ||||
|     hle/service/nfp/nfp_user.h | ||||
|     hle/service/ngct/ngct.cpp | ||||
|     hle/service/ngct/ngct.h | ||||
|     hle/service/nifm/nifm.cpp | ||||
|     hle/service/nifm/nifm.h | ||||
|     hle/service/nim/nim.cpp | ||||
|   | ||||
							
								
								
									
										46
									
								
								src/core/hle/service/ngct/ngct.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/core/hle/service/ngct/ngct.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| // Copyright 2021 yuzu Emulator Project | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included | ||||
|  | ||||
| #include "common/string_util.h" | ||||
| #include "core/core.h" | ||||
| #include "core/hle/ipc_helpers.h" | ||||
| #include "core/hle/service/ngct/ngct.h" | ||||
| #include "core/hle/service/service.h" | ||||
|  | ||||
| namespace Service::NGCT { | ||||
|  | ||||
| class IService final : public ServiceFramework<IService> { | ||||
| public: | ||||
|     explicit IService(Core::System& system_) : ServiceFramework{system_, "ngct:u"} { | ||||
|         // clang-format off | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "Match"}, | ||||
|             {1, &IService::Filter, "Filter"}, | ||||
|         }; | ||||
|         // clang-format on | ||||
|  | ||||
|         RegisterHandlers(functions); | ||||
|     } | ||||
|  | ||||
| private: | ||||
|     void Filter(Kernel::HLERequestContext& ctx) { | ||||
|         const auto buffer = ctx.ReadBuffer(); | ||||
|         const auto text = Common::StringFromFixedZeroTerminatedBuffer( | ||||
|             reinterpret_cast<const char*>(buffer.data()), buffer.size()); | ||||
|  | ||||
|         LOG_WARNING(Service_NGCT, "(STUBBED) called, text={}", text); | ||||
|  | ||||
|         // Return the same string since we don't censor anything | ||||
|         ctx.WriteBuffer(buffer); | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(ResultSuccess); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system) { | ||||
|     std::make_shared<IService>(system)->InstallAsService(system.ServiceManager()); | ||||
| } | ||||
|  | ||||
| } // namespace Service::NGCT | ||||
							
								
								
									
										20
									
								
								src/core/hle/service/ngct/ngct.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								src/core/hle/service/ngct/ngct.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| // Copyright 2021 yuzu Emulator Project | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| namespace Core { | ||||
| class System; | ||||
| } | ||||
|  | ||||
| namespace Service::SM { | ||||
| class ServiceManager; | ||||
| } | ||||
|  | ||||
| namespace Service::NGCT { | ||||
|  | ||||
| /// Registers all NGCT services with the specified service manager. | ||||
| void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system); | ||||
|  | ||||
| } // namespace Service::NGCT | ||||
| @@ -46,6 +46,7 @@ | ||||
| #include "core/hle/service/ncm/ncm.h" | ||||
| #include "core/hle/service/nfc/nfc.h" | ||||
| #include "core/hle/service/nfp/nfp.h" | ||||
| #include "core/hle/service/ngct/ngct.h" | ||||
| #include "core/hle/service/nifm/nifm.h" | ||||
| #include "core/hle/service/nim/nim.h" | ||||
| #include "core/hle/service/npns/npns.h" | ||||
| @@ -271,6 +272,7 @@ Services::Services(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system | ||||
|     NCM::InstallInterfaces(*sm, system); | ||||
|     NFC::InstallInterfaces(*sm, system); | ||||
|     NFP::InstallInterfaces(*sm, system); | ||||
|     NGCT::InstallInterfaces(*sm, system); | ||||
|     NIFM::InstallInterfaces(*sm, system); | ||||
|     NIM::InstallInterfaces(*sm, system); | ||||
|     NPNS::InstallInterfaces(*sm, system); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user