summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/pctl/pctl.cpp16
-rw-r--r--src/core/hle/service/pctl/pctl.h16
-rw-r--r--src/core/hle/service/pctl/pctl_a.cpp30
-rw-r--r--src/core/hle/service/pctl/pctl_a.h22
-rw-r--r--src/core/hle/service/service.cpp2
5 files changed, 86 insertions, 0 deletions
diff --git a/src/core/hle/service/pctl/pctl.cpp b/src/core/hle/service/pctl/pctl.cpp
new file mode 100644
index 000000000..1b92f9f84
--- /dev/null
+++ b/src/core/hle/service/pctl/pctl.cpp
@@ -0,0 +1,16 @@
1// Copyright 2017 Citra Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "core/hle/service/pctl/pctl.h"
6#include "core/hle/service/pctl/pctl_a.h"
7
8namespace Service {
9namespace PCTL {
10
11void InstallInterfaces(SM::ServiceManager& service_manager) {
12 std::make_shared<PCTL_A>()->InstallAsService(service_manager);
13}
14
15} // namespace PCTL
16} // namespace Service
diff --git a/src/core/hle/service/pctl/pctl.h b/src/core/hle/service/pctl/pctl.h
new file mode 100644
index 000000000..132eb0cc1
--- /dev/null
+++ b/src/core/hle/service/pctl/pctl.h
@@ -0,0 +1,16 @@
1// Copyright 2017 Citra Emulator Project
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 {
10namespace PCTL {
11
12/// Registers all PCTL services with the specified service manager.
13void InstallInterfaces(SM::ServiceManager& service_manager);
14
15} // namespace PCTL
16} // namespace Service
diff --git a/src/core/hle/service/pctl/pctl_a.cpp b/src/core/hle/service/pctl/pctl_a.cpp
new file mode 100644
index 000000000..97cd1d2ee
--- /dev/null
+++ b/src/core/hle/service/pctl/pctl_a.cpp
@@ -0,0 +1,30 @@
1// Copyright 2017 Citra Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "common/logging/log.h"
6#include "core/hle/ipc_helpers.h"
7#include "core/hle/service/pctl/pctl_a.h"
8
9namespace Service {
10namespace PCTL {
11
12void InstallInterfaces(SM::ServiceManager& service_manager) {
13 std::make_shared<PCTL_A>()->InstallAsService(service_manager);
14}
15
16void PCTL_A::GetService(Kernel::HLERequestContext& ctx) {
17 LOG_WARNING(Service, "(STUBBED) called");
18 IPC::RequestBuilder rb{ctx, 1};
19 rb.Push(RESULT_SUCCESS);
20}
21
22PCTL_A::PCTL_A() : ServiceFramework("pctl:a") {
23 static const FunctionInfo functions[] = {
24 {0, &PCTL_A::GetService, "GetService"},
25 };
26 RegisterHandlers(functions);
27}
28
29} // namespace PCTL
30} // namespace Service
diff --git a/src/core/hle/service/pctl/pctl_a.h b/src/core/hle/service/pctl/pctl_a.h
new file mode 100644
index 000000000..b61622cec
--- /dev/null
+++ b/src/core/hle/service/pctl/pctl_a.h
@@ -0,0 +1,22 @@
1// Copyright 2017 Citra Emulator Project
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 {
10namespace PCTL {
11
12class PCTL_A final : public ServiceFramework<PCTL_A> {
13public:
14 PCTL_A();
15 ~PCTL_A() = default;
16
17private:
18 void GetService(Kernel::HLERequestContext& ctx);
19};
20
21} // namespace PCTL
22} // namespace Service
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 3394ea414..0fba224e1 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -22,6 +22,7 @@
22#include "core/hle/service/gsp_gpu.h" 22#include "core/hle/service/gsp_gpu.h"
23#include "core/hle/service/hid/hid.h" 23#include "core/hle/service/hid/hid.h"
24#include "core/hle/service/lm/lm.h" 24#include "core/hle/service/lm/lm.h"
25#include "core/hle/service/pctl/pctl.h"
25#include "core/hle/service/service.h" 26#include "core/hle/service/service.h"
26#include "core/hle/service/sm/controller.h" 27#include "core/hle/service/sm/controller.h"
27#include "core/hle/service/sm/sm.h" 28#include "core/hle/service/sm/sm.h"
@@ -173,6 +174,7 @@ void Init() {
173 AOC::InstallInterfaces(*SM::g_service_manager); 174 AOC::InstallInterfaces(*SM::g_service_manager);
174 APM::InstallInterfaces(*SM::g_service_manager); 175 APM::InstallInterfaces(*SM::g_service_manager);
175 LM::InstallInterfaces(*SM::g_service_manager); 176 LM::InstallInterfaces(*SM::g_service_manager);
177 PCTL::InstallInterfaces(*SM::g_service_manager);
176 178
177 HID::Init(); 179 HID::Init();
178 180