diff options
| author | Narr the Reg <juangerman-13@hotmail.com> | 2024-01-31 10:25:28 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-31 10:25:28 -0600 |
| commit | 7cc7d027f74b5bffc0b3f8f3a6c3110999c7cc4c (patch) | |
| tree | 24b2ed412f2683c8460839778ea7761d052bc38f /src/core/hle/service/am/hid_registration.cpp | |
| parent | 12e5293c73ce9965a6f73a8861d8b84f3f4ed615 (diff) | |
| parent | 817d916233adcfb26814fde677e71d9825ce614c (diff) | |
Merge pull request #12760 from liamwhite/mp-am
am: rewrite for multiprocess support
Diffstat (limited to 'src/core/hle/service/am/hid_registration.cpp')
| -rw-r--r-- | src/core/hle/service/am/hid_registration.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/core/hle/service/am/hid_registration.cpp b/src/core/hle/service/am/hid_registration.cpp new file mode 100644 index 000000000..8ed49bac1 --- /dev/null +++ b/src/core/hle/service/am/hid_registration.cpp @@ -0,0 +1,35 @@ +// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "core/core.h" +#include "core/hle/service/am/hid_registration.h" +#include "core/hle/service/am/process.h" +#include "core/hle/service/hid/hid_server.h" +#include "core/hle/service/sm/sm.h" +#include "hid_core/resource_manager.h" + +namespace Service::AM { + +HidRegistration::HidRegistration(Core::System& system, Process& process) : m_process(process) { + m_hid_server = system.ServiceManager().GetService<HID::IHidServer>("hid"); + + if (m_process.IsInitialized()) { + m_hid_server->GetResourceManager()->RegisterAppletResourceUserId(m_process.GetProcessId(), + true); + } +} + +HidRegistration::~HidRegistration() { + if (m_process.IsInitialized()) { + m_hid_server->GetResourceManager()->UnregisterAppletResourceUserId( + m_process.GetProcessId()); + } +} + +void HidRegistration::EnableAppletToGetInput(bool enable) { + if (m_process.IsInitialized()) { + m_hid_server->GetResourceManager()->EnableInput(m_process.GetProcessId(), enable); + } +} + +} // namespace Service::AM |
