diff options
| author | Liam <byteslice@airmail.cc> | 2024-01-02 19:22:02 -0500 |
|---|---|---|
| committer | Liam <byteslice@airmail.cc> | 2024-01-29 18:43:45 -0500 |
| commit | a7e9d7842dc78e09bfe50ba3bc471b8a75d29b96 (patch) | |
| tree | 075bbdbcf1d3afa6404220b14490be77fdacc32c /src/core/hle/service/am/hid_registration.cpp | |
| parent | 7de6b410305fcfcd34078e62fbe0ceedb43663f9 (diff) | |
am: add new datatypes for per-applet state
Diffstat (limited to 'src/core/hle/service/am/hid_registration.cpp')
| -rw-r--r-- | src/core/hle/service/am/hid_registration.cpp | 29 |
1 files changed, 29 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..b9426f7b6 --- /dev/null +++ b/src/core/hle/service/am/hid_registration.cpp @@ -0,0 +1,29 @@ +// 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()); + } +} + +} // namespace Service::AM |
