From e4f94ee30bce782eb9a02cd988a9325a9f97e0d6 Mon Sep 17 00:00:00 2001 From: mailwl Date: Thu, 22 Feb 2018 17:28:15 +0300 Subject: Stub more functions --- src/core/hle/service/nifm/nifm.cpp | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'src/core/hle/service/nifm/nifm.cpp') diff --git a/src/core/hle/service/nifm/nifm.cpp b/src/core/hle/service/nifm/nifm.cpp index 290a2ee74..e6f05eae5 100644 --- a/src/core/hle/service/nifm/nifm.cpp +++ b/src/core/hle/service/nifm/nifm.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include "core/hle/ipc_helpers.h" +#include "core/hle/kernel/event.h" #include "core/hle/service/nifm/nifm.h" #include "core/hle/service/nifm/nifm_a.h" #include "core/hle/service/nifm/nifm_s.h" @@ -28,9 +29,9 @@ class IRequest final : public ServiceFramework { public: explicit IRequest() : ServiceFramework("IRequest") { static const FunctionInfo functions[] = { - {0, nullptr, "GetRequestState"}, - {1, nullptr, "GetResult"}, - {2, nullptr, "GetSystemEventReadableHandles"}, + {0, &IRequest::GetRequestState, "GetRequestState"}, + {1, &IRequest::GetResult, "GetResult"}, + {2, &IRequest::GetSystemEventReadableHandles, "GetSystemEventReadableHandles"}, {3, nullptr, "Cancel"}, {4, nullptr, "Submit"}, {5, nullptr, "SetRequirement"}, @@ -55,7 +56,32 @@ public: {25, nullptr, "UnregisterSocketDescriptor"}, }; RegisterHandlers(functions); + + event1 = Kernel::Event::Create(Kernel::ResetType::OneShot, "IRequest:Event1"); + event2 = Kernel::Event::Create(Kernel::ResetType::OneShot, "IRequest:Event2"); + } + +private: + void GetRequestState(Kernel::HLERequestContext& ctx) { + LOG_WARNING(Service_NIFM, "(STUBBED) called"); + IPC::ResponseBuilder rb{ctx, 3}; + rb.Push(RESULT_SUCCESS); + rb.Push(0); } + void GetResult(Kernel::HLERequestContext& ctx) { + LOG_WARNING(Service_NIFM, "(STUBBED) called"); + IPC::ResponseBuilder rb{ctx, 3}; + rb.Push(RESULT_SUCCESS); + rb.Push(0); + } + void GetSystemEventReadableHandles(Kernel::HLERequestContext& ctx) { + LOG_WARNING(Service_NIFM, "(STUBBED) called"); + IPC::ResponseBuilder rb{ctx, 2, 2}; + rb.Push(RESULT_SUCCESS); + rb.PushCopyObjects(event1, event2); + } + + Kernel::SharedPtr event1, event2; }; class INetworkProfile final : public ServiceFramework { -- cgit v1.2.3