summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Zach Hilman2019-06-24 19:20:28 -0400
committerGravatar Zach Hilman2019-06-24 19:20:28 -0400
commitdf3ee4f44431ad6b026d404a234680f51fe702b6 (patch)
tree2e04bb5de9b67b5b161d87d6092d96f8b989b698
parentglue: Add scaffolding for bgtc:t and bgtc:sc services (diff)
downloadyuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar.gz
yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar.xz
yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.zip
glue: Add errors for glue/arp services
-rw-r--r--src/core/CMakeLists.txt9
-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
4 files changed, 65 insertions, 2 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 6a9a3c180..d65659b44 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -209,8 +209,6 @@ add_library(core STATIC
209 hle/service/apm/apm.h 209 hle/service/apm/apm.h
210 hle/service/apm/interface.cpp 210 hle/service/apm/interface.cpp
211 hle/service/apm/interface.h 211 hle/service/apm/interface.h
212 hle/service/arp/arp.cpp
213 hle/service/arp/arp.h
214 hle/service/audio/audctl.cpp 212 hle/service/audio/audctl.cpp
215 hle/service/audio/audctl.h 213 hle/service/audio/audctl.h
216 hle/service/audio/auddbg.cpp 214 hle/service/audio/auddbg.cpp
@@ -276,6 +274,13 @@ add_library(core STATIC
276 hle/service/friend/friend.h 274 hle/service/friend/friend.h
277 hle/service/friend/interface.cpp 275 hle/service/friend/interface.cpp
278 hle/service/friend/interface.h 276 hle/service/friend/interface.h
277 hle/service/glue/arp.cpp
278 hle/service/glue/arp.h
279 hle/service/glue/bgtc.cpp
280 hle/service/glue/bgtc.h
281 hle/service/glue/errors.h
282 hle/service/glue/glue.cpp
283 hle/service/glue/glue.h
279 hle/service/glue/manager.cpp 284 hle/service/glue/manager.cpp
280 hle/service/glue/manager.h 285 hle/service/glue/manager.h
281 hle/service/grc/grc.cpp 286 hle/service/grc/grc.cpp
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 @@
1// Copyright 2019 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/result.h"
8
9namespace Service::Glue {
10
11constexpr ResultCode ERR_OUTPUT_TOO_SMALL{0x3C9D};
12constexpr ResultCode ERR_PROCESS_ID_ZERO{0x3E9D};
13constexpr ResultCode ERR_TITLE_ID_ZERO{0x3E9D};
14constexpr ResultCode ERR_ALREADY_ISSUED{0x549D};
15constexpr ResultCode ERR_NONEXISTENT{0xCC9D};
16
17} // 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 @@
1// Copyright 2019 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include <memory>
6#include "core/core.h"
7#include "core/hle/service/glue/arp.h"
8#include "core/hle/service/glue/bgtc.h"
9#include "core/hle/service/glue/glue.h"
10
11namespace Service::Glue {
12
13void InstallInterfaces(Core::System& system) {
14 // ARP
15 std::make_shared<ARP_R>(system, system.GetARPManager())
16 ->InstallAsService(system.ServiceManager());
17 std::make_shared<ARP_W>(system, system.GetARPManager())
18 ->InstallAsService(system.ServiceManager());
19
20 // BackGround Task Controller
21 std::make_shared<BGTC_T>()->InstallAsService(system.ServiceManager());
22 std::make_shared<BGTC_SC>()->InstallAsService(system.ServiceManager());
23}
24
25} // 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 @@
1// Copyright 2019 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7namespace Core {
8class System;
9} // namespace Core
10
11namespace Service::Glue {
12
13/// Registers all Glue services with the specified service manager.
14void InstallInterfaces(Core::System& system);
15
16} // namespace Service::Glue