diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index 461d0930f..057562488 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp @@ -179,6 +179,14 @@ void ServiceFrameworkBase::HandleSyncRequest(Kernel::HLERequestContext& context) handler_invoker(this, info->handler_callback, context); } +std::string ServiceFrameworkBase::GetFunctionName(u32 header) const { + if (!handlers.count(header)) { + return ""; + } + + return handlers.at(header).name; +} + //////////////////////////////////////////////////////////////////////////////////////////////////// // Module interface diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 1d9e800e2..db6a0ad23 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -64,6 +64,9 @@ public: void HandleSyncRequest(Kernel::HLERequestContext& context) override; + /// Retrieves name of a function based on the header code. For IPC Recorder. + std::string GetFunctionName(u32 header) const; + protected: /// Member-function pointer type of SyncRequest handlers. template