// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include "core/hle/service/cmif_types.h" #include "core/hle/service/service.h" #include "hid_core/resources/touch_screen/touch_types.h" namespace Core { class System; } namespace Service::HID { class ResourceManager; class HidFirmwareSettings; class IHidDebugServer final : public ServiceFramework { public: explicit IHidDebugServer(Core::System& system_, std::shared_ptr resource, std::shared_ptr settings); ~IHidDebugServer() override; private: Result DeactivateTouchScreen(); Result SetTouchScreenAutoPilotState( InArray auto_pilot_buffer); Result UnsetTouchScreenAutoPilotState(); Result GetTouchScreenConfiguration( Out out_touchscreen_config, ClientAppletResourceUserId aruid); Result ProcessTouchScreenAutoTune(); Result ForceStopTouchScreenManagement(); Result ForceRestartTouchScreenManagement(u32 basic_gesture_id, ClientAppletResourceUserId aruid); Result IsTouchScreenManaged(Out out_is_managed); Result DeactivateGesture(); std::shared_ptr GetResourceManager(); std::shared_ptr resource_manager; std::shared_ptr firmware_settings; }; } // namespace Service::HID