diff options
author | Lioncash <mathew1800@gmail.com> | 2018-07-27 21:12:04 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-07-27 21:12:08 +0200 |
commit | 50dadc33e3bc60ac7a87bd822e147fef9e052a71 (patch) | |
tree | caef8e18b266c5e014fcdc228efb1b6764ea8ceb /src/core/hle/service | |
parent | service: Add nfc services (diff) | |
download | yuzu-50dadc33e3bc60ac7a87bd822e147fef9e052a71.tar yuzu-50dadc33e3bc60ac7a87bd822e147fef9e052a71.tar.gz yuzu-50dadc33e3bc60ac7a87bd822e147fef9e052a71.tar.bz2 yuzu-50dadc33e3bc60ac7a87bd822e147fef9e052a71.tar.lz yuzu-50dadc33e3bc60ac7a87bd822e147fef9e052a71.tar.xz yuzu-50dadc33e3bc60ac7a87bd822e147fef9e052a71.tar.zst yuzu-50dadc33e3bc60ac7a87bd822e147fef9e052a71.zip |
Diffstat (limited to 'src/core/hle/service')
-rw-r--r-- | src/core/hle/service/nfc/nfc.cpp | 47 |
1 files changed, 43 insertions, 4 deletions
diff --git a/src/core/hle/service/nfc/nfc.cpp b/src/core/hle/service/nfc/nfc.cpp index c09d198ba..8fec97db8 100644 --- a/src/core/hle/service/nfc/nfc.cpp +++ b/src/core/hle/service/nfc/nfc.cpp @@ -4,6 +4,9 @@ #include <memory> +#include "common/logging/log.h" +#include "core/hle/ipc_helpers.h" +#include "core/hle/kernel/hle_ipc.h" #include "core/hle/service/nfc/nfc.h" #include "core/hle/service/service.h" #include "core/hle/service/sm/sm.h" @@ -30,12 +33,21 @@ public: explicit NFC_AM() : ServiceFramework{"nfc:am"} { // clang-format off static const FunctionInfo functions[] = { - {0, nullptr, "CreateAmInterface"}, + {0, &NFC_AM::CreateAmInterface, "CreateAmInterface"}, }; // clang-format on RegisterHandlers(functions); } + +private: + void CreateAmInterface(Kernel::HLERequestContext& ctx) { + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface<IAm>(); + + LOG_DEBUG(Service_NFC, "called"); + } }; class MFIUser final : public ServiceFramework<MFIUser> { @@ -69,12 +81,21 @@ public: explicit NFC_MF_U() : ServiceFramework{"nfc:mf:u"} { // clang-format off static const FunctionInfo functions[] = { - {0, nullptr, "CreateUserInterface"}, + {0, &NFC_MF_U::CreateUserInterface, "CreateUserInterface"}, }; // clang-format on RegisterHandlers(functions); } + +private: + void CreateUserInterface(Kernel::HLERequestContext& ctx) { + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface<MFIUser>(); + + LOG_DEBUG(Service_NFC, "called"); + } }; class IUser final : public ServiceFramework<IUser> { @@ -116,12 +137,21 @@ public: explicit NFC_U() : ServiceFramework{"nfc:u"} { // clang-format off static const FunctionInfo functions[] = { - {0, nullptr, "CreateUserInterface"}, + {0, &NFC_U::CreateUserInterface, "CreateUserInterface"}, }; // clang-format on RegisterHandlers(functions); } + +private: + void CreateUserInterface(Kernel::HLERequestContext& ctx) { + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface<IUser>(); + + LOG_DEBUG(Service_NFC, "called"); + } }; class ISystem final : public ServiceFramework<ISystem> { @@ -165,12 +195,21 @@ public: explicit NFC_SYS() : ServiceFramework{"nfc:sys"} { // clang-format off static const FunctionInfo functions[] = { - {0, nullptr, "CreateSystemInterface"}, + {0, &NFC_SYS::CreateSystemInterface, "CreateSystemInterface"}, }; // clang-format on RegisterHandlers(functions); } + +private: + void CreateSystemInterface(Kernel::HLERequestContext& ctx) { + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface<ISystem>(); + + LOG_DEBUG(Service_NFC, "called"); + } }; void InstallInterfaces(SM::ServiceManager& sm) { |