From df3ee4f44431ad6b026d404a234680f51fe702b6 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Mon, 24 Jun 2019 19:20:28 -0400 Subject: [PATCH] glue: Add errors for glue/arp services --- src/core/CMakeLists.txt | 9 +++++++-- src/core/hle/service/glue/errors.h | 17 +++++++++++++++++ src/core/hle/service/glue/glue.cpp | 25 +++++++++++++++++++++++++ src/core/hle/service/glue/glue.h | 16 ++++++++++++++++ 4 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 src/core/hle/service/glue/errors.h create mode 100644 src/core/hle/service/glue/glue.cpp create mode 100644 src/core/hle/service/glue/glue.h 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 hle/service/apm/apm.h hle/service/apm/interface.cpp hle/service/apm/interface.h - hle/service/arp/arp.cpp - hle/service/arp/arp.h hle/service/audio/audctl.cpp hle/service/audio/audctl.h hle/service/audio/auddbg.cpp @@ -276,6 +274,13 @@ add_library(core STATIC hle/service/friend/friend.h hle/service/friend/interface.cpp hle/service/friend/interface.h + hle/service/glue/arp.cpp + hle/service/glue/arp.h + hle/service/glue/bgtc.cpp + hle/service/glue/bgtc.h + hle/service/glue/errors.h + hle/service/glue/glue.cpp + hle/service/glue/glue.h hle/service/glue/manager.cpp hle/service/glue/manager.h 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 @@ +// 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 +#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(system, system.GetARPManager()) + ->InstallAsService(system.ServiceManager()); + std::make_shared(system, system.GetARPManager()) + ->InstallAsService(system.ServiceManager()); + + // BackGround Task Controller + std::make_shared()->InstallAsService(system.ServiceManager()); + std::make_shared()->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