diff options
| author | 2019-06-24 19:20:28 -0400 | |
|---|---|---|
| committer | 2019-06-24 19:20:28 -0400 | |
| commit | df3ee4f44431ad6b026d404a234680f51fe702b6 (patch) | |
| tree | 2e04bb5de9b67b5b161d87d6092d96f8b989b698 | |
| parent | glue: Add scaffolding for bgtc:t and bgtc:sc services (diff) | |
| download | yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar.gz yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.tar.xz yuzu-df3ee4f44431ad6b026d404a234680f51fe702b6.zip | |
glue: Add errors for glue/arp services
| -rw-r--r-- | src/core/CMakeLists.txt | 9 | ||||
| -rw-r--r-- | src/core/hle/service/glue/errors.h | 17 | ||||
| -rw-r--r-- | src/core/hle/service/glue/glue.cpp | 25 | ||||
| -rw-r--r-- | src/core/hle/service/glue/glue.h | 16 |
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 | |||
| 9 | namespace Service::Glue { | ||
| 10 | |||
| 11 | constexpr ResultCode ERR_OUTPUT_TOO_SMALL{0x3C9D}; | ||
| 12 | constexpr ResultCode ERR_PROCESS_ID_ZERO{0x3E9D}; | ||
| 13 | constexpr ResultCode ERR_TITLE_ID_ZERO{0x3E9D}; | ||
| 14 | constexpr ResultCode ERR_ALREADY_ISSUED{0x549D}; | ||
| 15 | constexpr 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 | |||
| 11 | namespace Service::Glue { | ||
| 12 | |||
| 13 | void 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 | |||
| 7 | namespace Core { | ||
| 8 | class System; | ||
| 9 | } // namespace Core | ||
| 10 | |||
| 11 | namespace Service::Glue { | ||
| 12 | |||
| 13 | /// Registers all Glue services with the specified service manager. | ||
| 14 | void InstallInterfaces(Core::System& system); | ||
| 15 | |||
| 16 | } // namespace Service::Glue | ||