mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	@@ -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