ncm: Implement LR OpenRegisteredLocationResolver (1)
Returns an object of type IRegisteredLocationResolver for the StorageId.
This commit is contained in:
		@@ -45,6 +45,25 @@ private:
 | 
			
		||||
    FileSys::StorageId storage;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class IRegisteredLocationResolver final : public ServiceFramework<IRegisteredLocationResolver> {
 | 
			
		||||
public:
 | 
			
		||||
    explicit IRegisteredLocationResolver() : ServiceFramework{"IRegisteredLocationResolver"} {
 | 
			
		||||
        static const FunctionInfo functions[] = {
 | 
			
		||||
            {0, nullptr, "ResolveProgramPath"},
 | 
			
		||||
            {1, nullptr, "RegisterProgramPath"},
 | 
			
		||||
            {2, nullptr, "UnregisterProgramPath"},
 | 
			
		||||
            {3, nullptr, "RedirectProgramPath"},
 | 
			
		||||
            {4, nullptr, "ResolveHtmlDocumentPath"},
 | 
			
		||||
            {5, nullptr, "RegisterHtmlDocumentPath"},
 | 
			
		||||
            {6, nullptr, "UnregisterHtmlDocumentPath"},
 | 
			
		||||
            {7, nullptr, "RedirectHtmlDocumentPath"},
 | 
			
		||||
            {8, nullptr, ""},
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        RegisterHandlers(functions);
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    explicit LocationResolver() : ServiceFramework{"lr"} {
 | 
			
		||||
class LR final : public ServiceFramework<LR> {
 | 
			
		||||
@@ -74,6 +93,14 @@ private:
 | 
			
		||||
        rb.PushIpcInterface(std::make_shared<ILocationResolver>(id));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void OpenRegisteredLocationResolver(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
        LOG_DEBUG(Service_NCM, "called");
 | 
			
		||||
 | 
			
		||||
        IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
			
		||||
        rb.Push(RESULT_SUCCESS);
 | 
			
		||||
        rb.PushIpcInterface(std::make_shared<IRegisteredLocationResolver>());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class NCM final : public ServiceFramework<NCM> {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user