diff options
Diffstat (limited to 'src/hid_core/resources/controller_base.cpp')
-rw-r--r-- | src/hid_core/resources/controller_base.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/hid_core/resources/controller_base.cpp b/src/hid_core/resources/controller_base.cpp new file mode 100644 index 000000000..df5f5c884 --- /dev/null +++ b/src/hid_core/resources/controller_base.cpp @@ -0,0 +1,41 @@ +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "hid_core/resources/controller_base.h" + +namespace Service::HID { + +ControllerBase::ControllerBase(Core::HID::HIDCore& hid_core_) : hid_core(hid_core_) {} +ControllerBase::~ControllerBase() = default; + +Result ControllerBase::Activate() { + if (is_activated) { + return ResultSuccess; + } + is_activated = true; + OnInit(); + return ResultSuccess; +} + +Result ControllerBase::Activate(u64 aruid) { + return Activate(); +} + +void ControllerBase::DeactivateController() { + if (is_activated) { + OnRelease(); + } + is_activated = false; +} + +bool ControllerBase::IsControllerActivated() const { + return is_activated; +} + +void ControllerBase::SetAppletResource(std::shared_ptr<AppletResource> resource, + std::recursive_mutex* resource_mutex) { + applet_resource = resource; + shared_mutex = resource_mutex; +} + +} // namespace Service::HID |