summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/glue
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2019-06-25 01:20:28 +0200
committerZach Hilman <zachhilman@gmail.com>2019-06-25 01:20:28 +0200
commitdf3ee4f44431ad6b026d404a234680f51fe702b6 (patch)
tree2e04bb5de9b67b5b161d87d6092d96f8b989b698 /src/core/hle/service/glue
parentglue: Add scaffolding for bgtc:t and bgtc:sc services (diff)
downloadyuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar
yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar.gz
yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar.bz2
yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar.lz
yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar.xz
yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar.zst
yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.zip
Diffstat (limited to 'src/core/hle/service/glue')
-rw-r--r--src/core/hle/service/glue/errors.h17
-rw-r--r--src/core/hle/service/glue/glue.cpp25
-rw-r--r--src/core/hle/service/glue/glue.h16
3 files changed, 58 insertions, 0 deletions
diff --git a/src/core/hle/service/glue/errors.h b/src/core/hle/service/glue/errors.h
new file mode 100644
index 000000000..594e20a01
--- /dev/null
+++ b/src/core/hle/service/glue/errors.h
@@ -0,0 +1,17 @@
+// Copyright 2019 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/result.h"
+
+namespace Service::Glue {
+
+constexpr ResultCode ERR_OUTPUT_TOO_SMALL{0x3C9D};
+constexpr ResultCode ERR_PROCESS_ID_ZERO{0x3E9D};
+constexpr ResultCode ERR_TITLE_ID_ZERO{0x3E9D};
+constexpr ResultCode ERR_ALREADY_ISSUED{0x549D};
+constexpr ResultCode ERR_NONEXISTENT{0xCC9D};
+
+} // namespace Service::Glue
diff --git a/src/core/hle/service/glue/glue.cpp b/src/core/hle/service/glue/glue.cpp
new file mode 100644
index 000000000..c728e815c
--- /dev/null
+++ b/src/core/hle/service/glue/glue.cpp
@@ -0,0 +1,25 @@
+// Copyright 2019 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include <memory>
+#include "core/core.h"
+#include "core/hle/service/glue/arp.h"
+#include "core/hle/service/glue/bgtc.h"
+#include "core/hle/service/glue/glue.h"
+
+namespace Service::Glue {
+
+void InstallInterfaces(Core::System& system) {
+ // ARP
+ std::make_shared<ARP_R>(system, system.GetARPManager())
+ ->InstallAsService(system.ServiceManager());
+ std::make_shared<ARP_W>(system, system.GetARPManager())
+ ->InstallAsService(system.ServiceManager());
+
+ // BackGround Task Controller
+ std::make_shared<BGTC_T>()->InstallAsService(system.ServiceManager());
+ std::make_shared<BGTC_SC>()->InstallAsService(system.ServiceManager());
+}
+
+} // namespace Service::Glue
diff --git a/src/core/hle/service/glue/glue.h b/src/core/hle/service/glue/glue.h
new file mode 100644
index 000000000..112cd238b
--- /dev/null
+++ b/src/core/hle/service/glue/glue.h
@@ -0,0 +1,16 @@
+// Copyright 2019 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+namespace Core {
+class System;
+} // namespace Core
+
+namespace Service::Glue {
+
+/// Registers all Glue services with the specified service manager.
+void InstallInterfaces(Core::System& system);
+
+} // namespace Service::Glue