diff options
author | Zach Hilman <zachhilman@gmail.com> | 2019-04-10 20:40:18 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2019-05-27 00:24:48 +0200 |
commit | e0920ef4ba5dc9ece5a5a56b735a8573a9d8a390 (patch) | |
tree | f48a2eaf7f213e089c49ce80a24b6994fc4ee7c8 /src/core/hle/service/ncm/ncm.cpp | |
parent | ncm: Implement LR OpenLocationResolver (0) (diff) | |
download | yuzu-e0920ef4ba5dc9ece5a5a56b735a8573a9d8a390.tar yuzu-e0920ef4ba5dc9ece5a5a56b735a8573a9d8a390.tar.gz yuzu-e0920ef4ba5dc9ece5a5a56b735a8573a9d8a390.tar.bz2 yuzu-e0920ef4ba5dc9ece5a5a56b735a8573a9d8a390.tar.lz yuzu-e0920ef4ba5dc9ece5a5a56b735a8573a9d8a390.tar.xz yuzu-e0920ef4ba5dc9ece5a5a56b735a8573a9d8a390.tar.zst yuzu-e0920ef4ba5dc9ece5a5a56b735a8573a9d8a390.zip |
Diffstat (limited to 'src/core/hle/service/ncm/ncm.cpp')
-rw-r--r-- | src/core/hle/service/ncm/ncm.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/core/hle/service/ncm/ncm.cpp b/src/core/hle/service/ncm/ncm.cpp index 7f775900a..c59bcc2a7 100644 --- a/src/core/hle/service/ncm/ncm.cpp +++ b/src/core/hle/service/ncm/ncm.cpp @@ -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> { |