summaryrefslogtreecommitdiffstats
path: root/src/core/hle
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/audio/audio.cpp17
-rw-r--r--src/core/hle/service/audio/audio.h16
-rw-r--r--src/core/hle/service/audio/audout_u.cpp26
-rw-r--r--src/core/hle/service/audio/audout_u.h23
-rw-r--r--src/core/hle/service/service.cpp2
5 files changed, 84 insertions, 0 deletions
diff --git a/src/core/hle/service/audio/audio.cpp b/src/core/hle/service/audio/audio.cpp
new file mode 100644
index 000000000..0ffd72e7b
--- /dev/null
+++ b/src/core/hle/service/audio/audio.cpp
@@ -0,0 +1,17 @@
+// Copyright 2018 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/hle/ipc_helpers.h"
+#include "core/hle/service/audio/audio.h"
+#include "core/hle/service/audio/audout_u.h"
+
+namespace Service {
+namespace Audio {
+
+void InstallInterfaces(SM::ServiceManager& service_manager) {
+ std::make_shared<AudOutU>()->InstallAsService(service_manager);
+}
+
+} // namespace Audio
+} // namespace Service
diff --git a/src/core/hle/service/audio/audio.h b/src/core/hle/service/audio/audio.h
new file mode 100644
index 000000000..cbd56b2a8
--- /dev/null
+++ b/src/core/hle/service/audio/audio.h
@@ -0,0 +1,16 @@
+// Copyright 2018 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/service/service.h"
+
+namespace Service {
+namespace Audio {
+
+/// Registers all Audio services with the specified service manager.
+void InstallInterfaces(SM::ServiceManager& service_manager);
+
+} // namespace Audio
+} // namespace Service
diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp
new file mode 100644
index 000000000..c028262c6
--- /dev/null
+++ b/src/core/hle/service/audio/audout_u.cpp
@@ -0,0 +1,26 @@
+// Copyright 2018 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "common/logging/log.h"
+#include "core/hle/ipc_helpers.h"
+#include "core/hle/service/audio/audout_u.h"
+
+namespace Service {
+namespace Audio {
+
+void AudOutU::ListAudioOuts(Kernel::HLERequestContext& ctx) {
+ LOG_WARNING(Service, "(STUBBED) called");
+ IPC::RequestBuilder rb{ctx, 2};
+ rb.Push(RESULT_SUCCESS);
+}
+
+AudOutU::AudOutU() : ServiceFramework("audout:u") {
+ static const FunctionInfo functions[] = {
+ {0x00000000, &AudOutU::ListAudioOuts, "ListAudioOuts"},
+ };
+ RegisterHandlers(functions);
+}
+
+} // namespace Audio
+} // namespace Service
diff --git a/src/core/hle/service/audio/audout_u.h b/src/core/hle/service/audio/audout_u.h
new file mode 100644
index 000000000..42680af94
--- /dev/null
+++ b/src/core/hle/service/audio/audout_u.h
@@ -0,0 +1,23 @@
+// Copyright 2018 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/kernel/hle_ipc.h"
+#include "core/hle/service/service.h"
+
+namespace Service {
+namespace Audio {
+
+class AudOutU final : public ServiceFramework<AudOutU> {
+public:
+ AudOutU();
+ ~AudOutU() = default;
+
+private:
+ void ListAudioOuts(Kernel::HLERequestContext& ctx);
+};
+
+} // namespace Audio
+} // namespace Service
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 0ecc0eb16..c27525980 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -17,6 +17,7 @@
#include "core/hle/service/am/am.h"
#include "core/hle/service/aoc/aoc_u.h"
#include "core/hle/service/apm/apm.h"
+#include "core/hle/service/audio/audio.h"
#include "core/hle/service/hid/hid.h"
#include "core/hle/service/lm/lm.h"
#include "core/hle/service/nvdrv/nvdrv.h"
@@ -164,6 +165,7 @@ void Init() {
AM::InstallInterfaces(*SM::g_service_manager);
AOC::InstallInterfaces(*SM::g_service_manager);
APM::InstallInterfaces(*SM::g_service_manager);
+ Audio::InstallInterfaces(*SM::g_service_manager);
HID::InstallInterfaces(*SM::g_service_manager);
LM::InstallInterfaces(*SM::g_service_manager);
NVDRV::InstallInterfaces(*SM::g_service_manager);