summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2018-07-26 08:39:25 -0400
committerGravatar Lioncash2018-07-26 15:05:24 -0400
commit82cb5f030d8d9c8903fdd20ec984836b36ec6f3d (patch)
tree3d3ac220484197b3b825d166ab71d5362d978817 /src
parentMerge pull request #836 from FearlessTobi/port-3594 (diff)
downloadyuzu-82cb5f030d8d9c8903fdd20ec984836b36ec6f3d.tar.gz
yuzu-82cb5f030d8d9c8903fdd20ec984836b36ec6f3d.tar.xz
yuzu-82cb5f030d8d9c8903fdd20ec984836b36ec6f3d.zip
service/hid: Add irs services
Diffstat (limited to 'src')
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/hle/service/hid/hid.cpp3
-rw-r--r--src/core/hle/service/hid/irs.cpp49
-rw-r--r--src/core/hle/service/hid/irs.h21
4 files changed, 75 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 063e18d64..73339e2e0 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -160,6 +160,8 @@ add_library(core STATIC
160 hle/service/grc/grc.h 160 hle/service/grc/grc.h
161 hle/service/hid/hid.cpp 161 hle/service/hid/hid.cpp
162 hle/service/hid/hid.h 162 hle/service/hid/hid.h
163 hle/service/hid/irs.cpp
164 hle/service/hid/irs.h
163 hle/service/ldn/ldn.cpp 165 hle/service/ldn/ldn.cpp
164 hle/service/ldn/ldn.h 166 hle/service/ldn/ldn.h
165 hle/service/ldr/ldr.cpp 167 hle/service/ldr/ldr.cpp
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index 9a02ba686..64a6fdeed 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -14,6 +14,7 @@
14#include "core/hle/kernel/event.h" 14#include "core/hle/kernel/event.h"
15#include "core/hle/kernel/shared_memory.h" 15#include "core/hle/kernel/shared_memory.h"
16#include "core/hle/service/hid/hid.h" 16#include "core/hle/service/hid/hid.h"
17#include "core/hle/service/hid/irs.h"
17#include "core/hle/service/service.h" 18#include "core/hle/service/service.h"
18 19
19namespace Service::HID { 20namespace Service::HID {
@@ -559,6 +560,8 @@ void ReloadInputDevices() {}
559 560
560void InstallInterfaces(SM::ServiceManager& service_manager) { 561void InstallInterfaces(SM::ServiceManager& service_manager) {
561 std::make_shared<Hid>()->InstallAsService(service_manager); 562 std::make_shared<Hid>()->InstallAsService(service_manager);
563 std::make_shared<IRS>()->InstallAsService(service_manager);
564 std::make_shared<IRS_SYS>()->InstallAsService(service_manager);
562} 565}
563 566
564} // namespace Service::HID 567} // namespace Service::HID
diff --git a/src/core/hle/service/hid/irs.cpp b/src/core/hle/service/hid/irs.cpp
new file mode 100644
index 000000000..aaf311912
--- /dev/null
+++ b/src/core/hle/service/hid/irs.cpp
@@ -0,0 +1,49 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "core/hle/service/hid/irs.h"
6
7namespace Service::HID {
8
9IRS::IRS() : ServiceFramework{"irs"} {
10 // clang-format off
11 static const FunctionInfo functions[] = {
12 {302, nullptr, "ActivateIrsensor"},
13 {303, nullptr, "DeactivateIrsensor"},
14 {304, nullptr, "GetIrsensorSharedMemoryHandle"},
15 {305, nullptr, "StopImageProcessor"},
16 {306, nullptr, "RunMomentProcessor"},
17 {307, nullptr, "RunClusteringProcessor"},
18 {308, nullptr, "RunImageTransferProcessor"},
19 {309, nullptr, "GetImageTransferProcessorState"},
20 {310, nullptr, "RunTeraPluginProcessor"},
21 {311, nullptr, "GetNpadIrCameraHandle"},
22 {312, nullptr, "RunPointingProcessor"},
23 {313, nullptr, "SuspendImageProcessor"},
24 {314, nullptr, "CheckFirmwareVersion"},
25 {315, nullptr, "SetFunctionLevel"},
26 {316, nullptr, "RunImageTransferExProcessor"},
27 {317, nullptr, "RunIrLedProcessor"},
28 {318, nullptr, "StopImageProcessorAsync"},
29 {319, nullptr, "ActivateIrsensorWithFunctionLevel"},
30 };
31 // clang-format on
32
33 RegisterHandlers(functions);
34}
35
36IRS_SYS::IRS_SYS() : ServiceFramework{"irs:sys"} {
37 // clang-format off
38 static const FunctionInfo functions[] = {
39 {500, nullptr, "SetAppletResourceUserId"},
40 {501, nullptr, "RegisterAppletResourceUserId"},
41 {502, nullptr, "UnregisterAppletResourceUserId"},
42 {503, nullptr, "EnableAppletToGetInput"},
43 };
44 // clang-format on
45
46 RegisterHandlers(functions);
47}
48
49} // namespace Service::HID
diff --git a/src/core/hle/service/hid/irs.h b/src/core/hle/service/hid/irs.h
new file mode 100644
index 000000000..a8be701c7
--- /dev/null
+++ b/src/core/hle/service/hid/irs.h
@@ -0,0 +1,21 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include "core/hle/service/service.h"
8
9namespace Service::HID {
10
11class IRS final : public ServiceFramework<IRS> {
12public:
13 explicit IRS();
14};
15
16class IRS_SYS final : public ServiceFramework<IRS_SYS> {
17public:
18 explicit IRS_SYS();
19};
20
21} // namespace Service::HID